diff --git a/erpnext/manufacturing/doctype/blanket_order/blanket_order.js b/erpnext/manufacturing/doctype/blanket_order/blanket_order.js index 0bbf689d4a5..1cd9446c8ba 100644 --- a/erpnext/manufacturing/doctype/blanket_order/blanket_order.js +++ b/erpnext/manufacturing/doctype/blanket_order/blanket_order.js @@ -12,6 +12,7 @@ frappe.ui.form.on('Blanket Order', { }, refresh: function(frm) { + erpnext.hide_company(); if (frm.doc.customer && frm.doc.docstatus === 1) { frm.add_custom_button(__('View Orders'), function() { frappe.set_route('List', 'Sales Order', {blanket_order: frm.doc.name}); @@ -51,11 +52,19 @@ frappe.ui.form.on('Blanket Order', { set_tc_name_filter: function(frm) { if (frm.doc.blanket_order_type === 'Selling') { + frm.set_df_property("customer","reqd", 1); + frm.set_df_property("supplier","reqd", 0); + frm.set_value("supplier", ""); + frm.set_query("tc_name", function() { return { filters: { selling: 1 } }; }); } if (frm.doc.blanket_order_type === 'Purchasing') { + frm.set_df_property("supplier","reqd", 1); + frm.set_df_property("customer","reqd", 0); + frm.set_value("customer", ""); + frm.set_query("tc_name", function() { return { filters: { buying: 1 } }; }); diff --git a/erpnext/manufacturing/doctype/blanket_order/blanket_order.json b/erpnext/manufacturing/doctype/blanket_order/blanket_order.json index 570d435c5f0..260e0b8a736 100644 --- a/erpnext/manufacturing/doctype/blanket_order/blanket_order.json +++ b/erpnext/manufacturing/doctype/blanket_order/blanket_order.json @@ -88,7 +88,8 @@ "fieldname": "company", "fieldtype": "Link", "label": "Company", - "options": "Company" + "options": "Company", + "reqd": 1 }, { "fieldname": "section_break_12", @@ -128,7 +129,7 @@ } ], "is_submittable": 1, - "modified": "2019-06-19 11:59:09.279607", + "modified": "2019-10-16 13:38:32.302316", "modified_by": "Administrator", "module": "Manufacturing", "name": "Blanket Order", diff --git a/erpnext/manufacturing/doctype/blanket_order/blanket_order.py b/erpnext/manufacturing/doctype/blanket_order/blanket_order.py index 822c7fcc1a7..faed707d600 100644 --- a/erpnext/manufacturing/doctype/blanket_order/blanket_order.py +++ b/erpnext/manufacturing/doctype/blanket_order/blanket_order.py @@ -4,13 +4,21 @@ from __future__ import unicode_literals import frappe -from frappe.utils import flt +from frappe import _ +from frappe.utils import flt, getdate from frappe.model.document import Document from frappe.model.mapper import get_mapped_doc from erpnext.stock.doctype.item.item import get_item_defaults class BlanketOrder(Document): + def validate(self): + self.validate_dates() + + def validate_dates(self): + if getdate(self.from_date) > getdate(self.to_date): + frappe.throw(_("From date cannot be greater than To date")) + def update_ordered_qty(self): ref_doctype = "Sales Order" if self.blanket_order_type == "Selling" else "Purchase Order" item_ordered_qty = frappe._dict(frappe.db.sql("""