Merge branch 'master' of github.com:webnotes/erpnext
This commit is contained in:
commit
2b89509d8e
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-05-21 16:16:39",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-09 12:51:06",
|
||||
"modified": "2013-07-23 15:27:03",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -273,7 +273,7 @@
|
||||
"label": "Price List Currency",
|
||||
"options": "Currency",
|
||||
"print_hide": 1,
|
||||
"read_only": 0
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"depends_on": "price_list_name",
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-05-24 19:29:05",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-09 12:48:05",
|
||||
"modified": "2013-07-23 15:28:32",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -279,7 +279,7 @@
|
||||
"label": "Price List Currency",
|
||||
"options": "Currency",
|
||||
"print_hide": 1,
|
||||
"read_only": 0,
|
||||
"read_only": 1,
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-05-21 16:16:39",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-19 22:04:17",
|
||||
"modified": "2013-07-23 15:26:28",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -225,7 +225,8 @@
|
||||
"fieldtype": "Link",
|
||||
"label": "Price List Currency",
|
||||
"options": "Currency",
|
||||
"print_hide": 1
|
||||
"print_hide": 1,
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"depends_on": "price_list_name",
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-05-21 16:16:45",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-09 12:49:31",
|
||||
"modified": "2013-07-23 15:27:23",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -222,7 +222,8 @@
|
||||
"fieldtype": "Link",
|
||||
"label": "Price List Currency",
|
||||
"options": "Currency",
|
||||
"print_hide": 1
|
||||
"print_hide": 1,
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"depends_on": "price_list_name",
|
||||
|
@ -57,10 +57,7 @@ class AccountsController(TransactionBase):
|
||||
# TODO - change this, since price list now has only one currency allowed
|
||||
if self.meta.get_field("price_list_name") and self.doc.price_list_name and \
|
||||
not self.doc.price_list_currency:
|
||||
self.doc.fields.update(get_price_list_currency({
|
||||
"price_list_name": self.doc.price_list_name,
|
||||
"buying_or_selling": buying_or_selling
|
||||
}))
|
||||
self.doc.fields.update(get_price_list_currency(self.doc.price_list_name))
|
||||
|
||||
if self.doc.price_list_currency:
|
||||
if not self.doc.plc_conversion_rate:
|
||||
|
@ -74,14 +74,9 @@ erpnext.TransactionController = wn.ui.form.Controller.extend({
|
||||
|
||||
company: function() {
|
||||
if(this.frm.doc.company && this.frm.fields_dict.currency) {
|
||||
var me = this;
|
||||
var company_currency = this.get_company_currency();
|
||||
$.each(["currency", "price_list_currency"], function(i, fieldname) {
|
||||
if(!me.frm.doc[fieldname]) {
|
||||
me.frm.set_value(fieldname, company_currency);
|
||||
me.script_manager.trigger(fieldname);
|
||||
}
|
||||
});
|
||||
this.frm.set_value("currency", company_currency);
|
||||
this.frm.script_manager.trigger("currency");
|
||||
}
|
||||
},
|
||||
|
||||
@ -123,10 +118,9 @@ erpnext.TransactionController = wn.ui.form.Controller.extend({
|
||||
if(this.frm.doc.price_list_name) {
|
||||
this.frm.call({
|
||||
method: "setup.utils.get_price_list_currency",
|
||||
args: { args: {
|
||||
args: {
|
||||
price_list_name: this.frm.doc.price_list_name,
|
||||
buying_or_selling: buying_or_selling
|
||||
}},
|
||||
},
|
||||
callback: function(r) {
|
||||
if(!r.exc) {
|
||||
me.price_list_currency();
|
||||
|
@ -20,7 +20,7 @@ $.extend(erpnext, {
|
||||
if(!company && cur_frm)
|
||||
company = cur_frm.doc.company;
|
||||
if(company)
|
||||
return wn.model.get(":Company", company).default_currency || wn.boot.sysdefaults.currency;
|
||||
return wn.model.get_doc(":Company", company).default_currency || wn.boot.sysdefaults.currency;
|
||||
else
|
||||
return wn.boot.sysdefaults.currency;
|
||||
},
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-05-24 19:29:08",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-09 12:48:56",
|
||||
"modified": "2013-07-23 15:27:53",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -301,7 +301,7 @@
|
||||
"label": "Price List Currency",
|
||||
"options": "Currency",
|
||||
"print_hide": 1,
|
||||
"read_only": 0,
|
||||
"read_only": 1,
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
|
@ -112,6 +112,14 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if(this.frm.fields_dict.sales_team && this.frm.fields_dict.sales_team.grid.get_field("sales_person")) {
|
||||
this.frm.set_query("sales_person", "sales_team", function() {
|
||||
return {
|
||||
filters: { is_group: "No" }
|
||||
};
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
refresh: function(doc) {
|
||||
@ -189,6 +197,7 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
|
||||
barcode: item.barcode,
|
||||
warehouse: item.warehouse,
|
||||
doctype: me.frm.doc.doctype,
|
||||
parentfield: item.parentfield,
|
||||
customer: me.frm.doc.customer,
|
||||
currency: me.frm.doc.currency,
|
||||
conversion_rate: me.frm.doc.conversion_rate,
|
||||
@ -287,13 +296,13 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
|
||||
|
||||
warehouse: function(doc, cdt, cdn) {
|
||||
var item = wn.model.get_doc(cdt, cdn);
|
||||
if(item.item_code && (item.warehouse || item.reserved_warehouse)) {
|
||||
if(item.item_code && item.warehouse) {
|
||||
this.frm.call({
|
||||
method: "selling.utils.get_available_qty",
|
||||
child: item,
|
||||
args: {
|
||||
item_code: item.item_code,
|
||||
warehouse: item.warehouse || item.reserved_warehouse,
|
||||
warehouse: item.warehouse,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
@ -97,11 +97,21 @@ erpnext.selling.SalesOrderController = erpnext.selling.SellingController.extend(
|
||||
tc_name: function() {
|
||||
this.get_terms();
|
||||
},
|
||||
|
||||
reserved_warehouse: function(doc, cdt, cdn) {
|
||||
this.warehouse(doc, cdt, cdn);
|
||||
},
|
||||
|
||||
reserved_warehouse: function(doc, cdt, cdn) {
|
||||
var item = wn.model.get_doc(cdt, cdn);
|
||||
if(item.item_code && item.reserved_warehouse) {
|
||||
this.frm.call({
|
||||
method: "selling.utils.get_available_qty",
|
||||
child: item,
|
||||
args: {
|
||||
item_code: item.item_code,
|
||||
warehouse: item.reserved_warehouse,
|
||||
},
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
make_material_request: function() {
|
||||
wn.model.open_mapped_doc({
|
||||
method: "selling.doctype.sales_order.sales_order.make_material_request",
|
||||
|
@ -366,7 +366,7 @@ def make_material_request(source_name, target_doclist=None):
|
||||
}
|
||||
}, target_doclist, postprocess)
|
||||
|
||||
return [d.fields for d in doclist]
|
||||
return [(d if isinstance(d, dict) else d.fields) for d in doclist]
|
||||
|
||||
@webnotes.whitelist()
|
||||
def make_delivery_note(source_name, target_doclist=None):
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-06-18 12:39:59",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-09 12:47:46",
|
||||
"modified": "2013-07-23 15:27:39",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -311,6 +311,7 @@
|
||||
"label": "Price List Currency",
|
||||
"options": "Currency",
|
||||
"print_hide": 1,
|
||||
"read_only": 1,
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
|
@ -58,9 +58,15 @@ def get_item_details(args):
|
||||
|
||||
_validate_item_details(args, item_bean.doc)
|
||||
|
||||
out = _get_basic_details(args, item_bean)
|
||||
|
||||
meta = webnotes.get_doctype(args.doctype)
|
||||
|
||||
# hack! for Sales Order Item
|
||||
warehouse_fieldname = "warehouse"
|
||||
if meta.get_field("reserved_warehouse", parentfield=args.parentfield):
|
||||
warehouse_fieldname = "reserved_warehouse"
|
||||
|
||||
out = _get_basic_details(args, item_bean, warehouse_fieldname)
|
||||
|
||||
if meta.get_field("currency"):
|
||||
out.base_ref_rate = out.basic_rate = out.ref_rate = out.export_rate = 0.0
|
||||
|
||||
@ -69,8 +75,8 @@ def get_item_details(args):
|
||||
|
||||
out.update(_get_item_discount(out.item_group, args.customer))
|
||||
|
||||
if out.warehouse or out.reserved_warehouse:
|
||||
out.update(get_available_qty(args.item_code, out.warehouse or out.reserved_warehouse))
|
||||
if out.get(warehouse_fieldname):
|
||||
out.update(get_available_qty(args.item_code, out.get(warehouse_fieldname)))
|
||||
|
||||
out.customer_item_code = _get_customer_item_code(args, item_bean)
|
||||
|
||||
@ -108,13 +114,13 @@ def _validate_item_details(args, item):
|
||||
msgprint(_("Item") + (" %s: " % item.name) + _("not a sales item"),
|
||||
raise_exception=True)
|
||||
|
||||
def _get_basic_details(args, item_bean):
|
||||
def _get_basic_details(args, item_bean, warehouse_fieldname):
|
||||
item = item_bean.doc
|
||||
|
||||
out = webnotes._dict({
|
||||
"item_code": item.name,
|
||||
"description": item.description_html or item.description,
|
||||
"reserved_warehouse": item.default_warehouse or args.warehouse or args.reserved_warehouse,
|
||||
"warehouse": item.default_warehouse or args.warehouse,
|
||||
warehouse_fieldname: item.default_warehouse or args.get(warehouse_fieldname),
|
||||
"income_account": item.default_income_account or args.income_account \
|
||||
or webnotes.conn.get_value("Company", args.company, "default_income_account"),
|
||||
"expense_account": item.purchase_account or args.expense_account \
|
||||
|
@ -44,20 +44,6 @@ def get_ancestors_of(doctype, name):
|
||||
return result or []
|
||||
|
||||
@webnotes.whitelist()
|
||||
def get_price_list_currency(args):
|
||||
"""
|
||||
args = {
|
||||
"price_list_name": "Something",
|
||||
"buying_or_selling": "Buying" or "Selling"
|
||||
}
|
||||
"""
|
||||
if isinstance(args, basestring):
|
||||
args = json.loads(args)
|
||||
|
||||
result = webnotes.conn.sql("""select distinct ref_currency from `tabItem Price`
|
||||
where price_list_name=%s and buying_or_selling=%s""",
|
||||
(args.get("price_list_name"), args.get("buying_or_selling")))
|
||||
if result and len(result)==1:
|
||||
return {"price_list_currency": result[0][0]}
|
||||
else:
|
||||
return {}
|
||||
def get_price_list_currency(price_list_name):
|
||||
return {"price_list_currency": webnotes.conn.get_value("Price List", price_list_name,
|
||||
"currency")}
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-05-24 19:29:09",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-09 12:48:27",
|
||||
"modified": "2013-07-23 15:28:18",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -303,7 +303,7 @@
|
||||
"label": "Price List Currency",
|
||||
"options": "Currency",
|
||||
"print_hide": 1,
|
||||
"read_only": 0,
|
||||
"read_only": 1,
|
||||
"reqd": 1
|
||||
},
|
||||
{
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
"creation": "2013-05-21 16:16:39",
|
||||
"docstatus": 0,
|
||||
"modified": "2013-07-09 12:50:25",
|
||||
"modified": "2013-07-23 15:26:50",
|
||||
"modified_by": "Administrator",
|
||||
"owner": "Administrator"
|
||||
},
|
||||
@ -251,7 +251,8 @@
|
||||
"hidden": 0,
|
||||
"label": "Price List Currency",
|
||||
"options": "Currency",
|
||||
"print_hide": 1
|
||||
"print_hide": 1,
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"depends_on": "price_list_name",
|
||||
|
Loading…
x
Reference in New Issue
Block a user