[minor] save last company in multi-company scenario

This commit is contained in:
Rushabh Mehta 2015-04-28 16:02:09 +05:30
parent b1b95526c6
commit 45ca8a4d31
4 changed files with 20 additions and 10 deletions

View File

@ -68,7 +68,10 @@ class PurchaseOrder(BuyingController):
})
def validate_minimum_order_qty(self):
itemwise_min_order_qty = frappe._dict(frappe.db.sql("select name, min_order_qty from tabItem"))
items = list(set([d.item_code for d in self.get("items")]))
itemwise_min_order_qty = frappe._dict(frappe.db.sql("""select name, min_order_qty
from tabItem where name in ({0})""".format(", ".join(["%s"] * len(items))), items))
itemwise_qty = frappe._dict()
for d in self.get("items"):
@ -77,7 +80,8 @@ class PurchaseOrder(BuyingController):
for item_code, qty in itemwise_qty.items():
if flt(qty) < flt(itemwise_min_order_qty.get(item_code)):
frappe.throw(_("Item #{0}: Ordered qty can not less than item's minimum order qty (defined in item master).").format(item_code))
frappe.throw(_("Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).").format(item_code,
qty, itemwise_min_order_qty.get(item_code)))
def get_schedule_dates(self):
for d in self.get('items'):
@ -217,15 +221,15 @@ class PurchaseOrder(BuyingController):
def on_update(self):
pass
def before_recurring(self):
super(PurchaseOrder, self).before_recurring()
for field in ("per_received", "per_billed"):
self.set(field, None)
for d in self.get("items"):
for field in ("received_qty", "billed_amt", "prevdoc_doctype", "prevdoc_docname",
for field in ("received_qty", "billed_amt", "prevdoc_doctype", "prevdoc_docname",
"prevdoc_detail_docname", "supplier_quotation", "supplier_quotation_item"):
d.set(field, None)

View File

@ -320,8 +320,9 @@ class ProductionPlanningTool(Document):
# shortage
requested_qty = total_qty - flt(item_projected_qty.get(item))
# consider minimum order qty
requested_qty = requested_qty > flt(so_item_qty[0][3]) and \
requested_qty or flt(so_item_qty[0][3])
if requested_qty < flt(so_item_qty[0][3]):
requested_qty = flt(so_item_qty[0][3])
# distribute requested qty SO wise
for item_details in so_item_qty:

View File

@ -190,8 +190,11 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
if (this.frm.doc.posting_date) var date = this.frm.doc.posting_date;
else var date = this.frm.doc.transaction_date;
erpnext.get_fiscal_year(this.frm.doc.company, date, fn);
erpnext.get_letter_head(this.frm.doc.company);
if(this.frm.doc.company) {
erpnext.last_selected_company = this.frm.doc.company;
}
},
transaction_date: function() {

View File

@ -41,6 +41,8 @@ $.extend(erpnext, {
if(companies.length === 1) {
if(!cur_frm.doc.company) cur_frm.set_value("company", companies[0]);
cur_frm.toggle_display("company", false);
} else if(erpnext.last_selected_company) {
if(!cur_frm.doc.company) cur_frm.set_value("company", erpnext.last_selected_company);
}
}
},
@ -76,8 +78,8 @@ $.extend(erpnext, {
"options": "Serial No",
"label": __("Serial No"),
"get_query": function () {
return {
filters: {
return {
filters: {
item_code:grid_row.doc.item_code ,
warehouse:grid_row.doc.warehouse
}