merge, update bean validations

This commit is contained in:
Rushabh Mehta
2013-03-01 19:09:06 +05:30
26 changed files with 156 additions and 143 deletions

View File

@@ -51,18 +51,9 @@ erpnext.buying.BuyingController = erpnext.utils.Controller.extend({
if(this.frm.fields_dict.currency)
this.set_dynamic_labels();
// TODO: improve this
if(this.frm.doc.__islocal && this.frm.fields_dict.price_list_name
&& this.frm.doc.price_list_name && this.frm.doc.price_list_currency) {
this.price_list_name();
}
},
price_list_name: function() {
this.frm.toggle_reqd(["price_list_currency", "plc_conversion_rate"],
!!(this.frm.doc.price_list_name));
price_list_name: function(callback_fn) {
var me = this;
if(this.frm.doc.price_list_name) {
@@ -77,6 +68,8 @@ erpnext.buying.BuyingController = erpnext.utils.Controller.extend({
callback: function(r) {
if(!r.exc) {
me.price_list_currency();
if (callback_fn) callback_fn(me.frm.doc, me.frm.doc.doctype,
me.frm.doc.name);
}
}
});
@@ -89,6 +82,7 @@ erpnext.buying.BuyingController = erpnext.utils.Controller.extend({
item_code: function(doc, cdt, cdn) {
var me = this;
var item = locals[cdt][cdn];
if(item.item_code) {
this.frm.call({
method: "buying.utils.get_item_details",
@@ -140,12 +134,15 @@ erpnext.buying.BuyingController = erpnext.utils.Controller.extend({
},
price_list_currency: function() {
this.set_dynamic_labels();
this.frm.toggle_reqd("plc_conversion_rate",
!!(this.frm.doc.price_list_name && this.frm.doc.price_list_currency));
this.set_dynamic_labels();
if(this.frm.doc.price_list_currency === this.get_company_currency())
this.frm.set_value("plc_conversion_rate", 1.0);
else if(this.frm.doc.price_list_currency === this.frm.doc.currency)
this.frm.set_value("plc_conversion_rate", this.frm.doc.conversion_rate || 1.0);
this.frm.set_value("plc_conversion_rate", this.frm.doc.conversion_rate || 1.0);
},
set_dynamic_labels: function(doc, dt, dn) {

View File

@@ -40,12 +40,22 @@ erpnext.buying.PurchaseOrderController = erpnext.buying.BuyingController.extend(
},
onload_post_render: function(doc, dt, dn) {
var callback = function(doc, dt, dn) {
if(doc.__islocal) cur_frm.cscript.get_default_schedule_date(doc);
onload_post_render: function(doc, dt, dn) {
var me = this;
var callback1 = function(doc, dt, dn) {
var callback2 = function(doc, dt, dn) {
if(doc.__islocal) cur_frm.cscript.get_default_schedule_date(doc);
}
me.update_item_details(doc, dt, dn, callback2);
}
// TODO: improve this
if(this.frm.doc.__islocal && this.frm.fields_dict.price_list_name
&& this.frm.doc.price_list_name) {
this.price_list_name(callback1);
}
this.update_item_details(doc, dt, dn, callback);
}
});
var new_cscript = new erpnext.buying.PurchaseOrderController({frm: cur_frm});
@@ -53,7 +63,7 @@ var new_cscript = new erpnext.buying.PurchaseOrderController({frm: cur_frm});
// for backward compatibility: combine new and previous states
$.extend(cur_frm.cscript, new_cscript);
cur_frm.cscript.onload = function(doc, cdt, cdn) {
cur_frm.cscript.onload = function(doc, cdt, cdn) {
// set missing values in parent doc
set_missing_values(doc, {
fiscal_year: sys_defaults.fiscal_year,

View File

@@ -27,12 +27,25 @@ erpnext.buying.SupplierQuotationController = erpnext.buying.BuyingController.ext
refresh: function() {
this._super();
cur_frm.cscript.load_taxes(this.frm.doc);
if (this.frm.doc.docstatus === 1) {
cur_frm.add_custom_button("Make Purchase Order", cur_frm.cscript.make_purchase_order);
}
},
onload_post_render: function(doc, dt, dn) {
var me = this;
var callback = function(doc, dt, dn) {
cur_frm.cscript.load_taxes(me.frm.doc);
}
// TODO: improve this
if(this.frm.doc.__islocal && this.frm.fields_dict.price_list_name
&& this.frm.doc.price_list_name) {
this.price_list_name(callback);
}
}
});
var new_cscript = new erpnext.buying.SupplierQuotationController({frm: cur_frm});

View File

@@ -53,7 +53,7 @@ def get_item_details(args):
"qty": 0,
"stock_uom": item.stock_uom,
"uom": item.stock_uom,
"conversion_factor": 1,
"conversion_factor": 1.0,
"warehouse": args.warehouse or item.default_warehouse,
"item_tax_rate": json.dumps(dict(([d.tax_type, d.tax_rate] for d in
item_wrapper.doclist.get({"parentfield": "item_tax"})))),