';
- out += '| In Words | '
- out += '' + doc.in_words_export + ' | '
+ out += '| In Words | ';
+ out += '' + doc.in_words_export + ' | ';
}
out += '
';
}
@@ -104,8 +99,8 @@ cur_frm.pformat.other_charges= function(doc){
cur_frm.cscript.charge_type = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
- if(d.idx == 1 && (d.charge_type == 'On Previous Row Amount' || d.charge_type == 'On Previous Row Total')){
- alert(wn._("You cannot select Charge Type as 'On Previous Row Amount' or 'On Previous Row Total' for first row"));
+ if(d.idx == 1 && (d.charge_type == 'On Previous Row Amount' || d.charge_type == 'On Previous Row Total')) {
+ msgprint(wn._("You cannot select Charge Type as 'On Previous Row Amount' or 'On Previous Row Total' for first row"));
d.charge_type = '';
}
validated = false;
@@ -117,17 +112,17 @@ cur_frm.cscript.charge_type = function(doc, cdt, cdn) {
cur_frm.cscript.row_id = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
- if(!d.charge_type && d.row_id){
- alert(wn._("Please select Charge Type first"));
+ if(!d.charge_type && d.row_id) {
+ msgprint(wn._("Please select Charge Type first"));
d.row_id = '';
}
else if((d.charge_type == 'Actual' || d.charge_type == 'On Net Total') && d.row_id) {
- alert(wn._("You can Enter Row only if your Charge Type is 'On Previous Row Amount' or ' Previous Row Total'"));
+ msgprint(wn._("You can Enter Row only if your Charge Type is 'On Previous Row Amount' or ' Previous Row Total'"));
d.row_id = '';
}
- else if((d.charge_type == 'On Previous Row Amount' || d.charge_type == 'On Previous Row Total') && d.row_id){
+ else if((d.charge_type == 'On Previous Row Amount' || d.charge_type == 'On Previous Row Total') && d.row_id) {
if(d.row_id >= d.idx){
- alert(wn._("You cannot Enter Row no. greater than or equal to current row no. for this Charge type"));
+ msgprint(wn._("You cannot Enter Row no. greater than or equal to current row no. for this Charge type"));
d.row_id = '';
}
}
@@ -158,7 +153,7 @@ cur_frm.fields_dict['other_charges'].grid.get_field("cost_center").get_query = f
cur_frm.cscript.rate = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
if(!d.charge_type && d.rate) {
- alert(wn._("Please select Charge Type first"));
+ msgprint(wn._("Please select Charge Type first"));
d.rate = '';
}
validated = false;
@@ -167,12 +162,12 @@ cur_frm.cscript.rate = function(doc, cdt, cdn) {
cur_frm.cscript.tax_amount = function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
- if(!d.charge_type && d.tax_amount){
- alert(wn._("Please select Charge Type first"));
+ if(!d.charge_type && d.tax_amount) {
+ msgprint(wn._("Please select Charge Type first"));
d.tax_amount = '';
}
else if(d.charge_type && d.tax_amount) {
- alert(wn._("You cannot directly enter Amount and if your Charge Type is Actual enter your amount in Rate"));
+ msgprint(wn._("You cannot directly enter Amount and if your Charge Type is Actual enter your amount in Rate"));
d.tax_amount = '';
}
validated = false;
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index d9cb516c317..941c2ae74f9 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -6,7 +6,7 @@ from __future__ import unicode_literals
import webnotes
from webnotes.utils import nowdate, cstr, flt, now, getdate, add_months
from webnotes.model.doc import addchild
-from webnotes import msgprint, _
+from webnotes import msgprint, throw, _
from webnotes.utils import formatdate
from erpnext.utilities import build_filter_conditions
@@ -41,12 +41,12 @@ def get_fiscal_years(date=None, fiscal_year=None, label="Date", verbose=1):
def validate_fiscal_year(date, fiscal_year, label="Date"):
years = [f[0] for f in get_fiscal_years(date, label=label)]
if fiscal_year not in years:
- webnotes.msgprint(("%(label)s '%(posting_date)s': " + _("not within Fiscal Year") + \
+ throw(("%(label)s '%(posting_date)s': " + _("not within Fiscal Year") + \
": '%(fiscal_year)s'") % {
"label": label,
"posting_date": formatdate(date),
"fiscal_year": fiscal_year
- }, raise_exception=1)
+ })
@webnotes.whitelist()
def get_balance_on(account=None, date=None):
@@ -169,8 +169,7 @@ def check_if_jv_modified(args):
and t1.docstatus=1 and t2.%(dr_or_cr)s = %(unadjusted_amt)s""" % args)
if not ret:
- msgprint(_("""Payment Entry has been modified after you pulled it.
- Please pull it again."""), raise_exception=1)
+ throw(_("""Payment Entry has been modified after you pulled it. Please pull it again."""))
def update_against_doc(d, jv_obj):
"""
@@ -247,9 +246,9 @@ def get_company_default(company, fieldname):
value = webnotes.conn.get_value("Company", company, fieldname)
if not value:
- msgprint(_("Please mention default value for '") +
+ throw(_("Please mention default value for '") +
_(webnotes.get_doctype("company").get_label(fieldname) +
- _("' in Company: ") + company), raise_exception=True)
+ _("' in Company: ") + company))
return value
@@ -318,11 +317,11 @@ def validate_expense_against_budget(args):
if action_for:
actual_expense = get_actual_expense(args)
if actual_expense > budget_amount:
- webnotes.msgprint(action_for + _(" budget ") + cstr(budget_amount) +
+ throw(action_for + _(" budget ") + cstr(budget_amount) +
_(" for account ") + args.account + _(" against cost center ") +
args.cost_center + _(" will exceed by ") +
cstr(actual_expense - budget_amount) + _(" after this transaction.")
- , raise_exception=BudgetError if action=="Stop" else False)
+ , exc=BudgetError if action=="Stop" else False)
def get_allocated_budget(distribution_id, posting_date, fiscal_year, yearly_budget):
if distribution_id:
diff --git a/erpnext/buying/Print Format/Purchase Order Classic/Purchase Order Classic.txt b/erpnext/buying/Print Format/Purchase Order Classic/Purchase Order Classic.txt
index ff8448fb7c1..f1514c91468 100644
--- a/erpnext/buying/Print Format/Purchase Order Classic/Purchase Order Classic.txt
+++ b/erpnext/buying/Print Format/Purchase Order Classic/Purchase Order Classic.txt
@@ -9,7 +9,7 @@
{
"doc_type": "Purchase Order",
"doctype": "Print Format",
- "html": "\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n \n\n",
+ "html": "\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n \n\n",
"module": "Buying",
"name": "__common__",
"print_format_type": "Client",
diff --git a/erpnext/buying/Print Format/Purchase Order Modern/Purchase Order Modern.txt b/erpnext/buying/Print Format/Purchase Order Modern/Purchase Order Modern.txt
index 3be7eb0f564..9e0693a61f8 100644
--- a/erpnext/buying/Print Format/Purchase Order Modern/Purchase Order Modern.txt
+++ b/erpnext/buying/Print Format/Purchase Order Modern/Purchase Order Modern.txt
@@ -9,7 +9,7 @@
{
"doc_type": "Purchase Order",
"doctype": "Print Format",
- "html": "\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n \n\n",
+ "html": "\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n \n\n",
"module": "Buying",
"name": "__common__",
"print_format_type": "Client",
diff --git a/erpnext/buying/Print Format/Purchase Order Spartan/Purchase Order Spartan.txt b/erpnext/buying/Print Format/Purchase Order Spartan/Purchase Order Spartan.txt
index 908ee785929..79016a7cecf 100644
--- a/erpnext/buying/Print Format/Purchase Order Spartan/Purchase Order Spartan.txt
+++ b/erpnext/buying/Print Format/Purchase Order Spartan/Purchase Order Spartan.txt
@@ -9,7 +9,7 @@
{
"doc_type": "Purchase Order",
"doctype": "Print Format",
- "html": "\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n \n\n",
+ "html": "\n\n\n\n\n\n\n\n\n\n\n\n\n\t\n\t\n \n\n",
"module": "Buying",
"name": "__common__",
"print_format_type": "Client",
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
index 1556634d761..6739e1ea46e 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.js
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.js
@@ -62,14 +62,13 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({
},
supplier: function() {
+ var me = this;
if(this.frm.doc.supplier || this.frm.doc.credit_to) {
if(!this.frm.doc.company) {
this.frm.set_value("supplier", null);
msgprint(wn._("Please specify Company"));
} else {
- var me = this;
var buying_price_list = this.frm.doc.buying_price_list;
-
return this.frm.call({
doc: this.frm.doc,
method: "set_supplier_defaults",
@@ -77,6 +76,8 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({
callback: function(r) {
if(!r.exc) {
if(me.frm.doc.buying_price_list !== buying_price_list) me.buying_price_list();
+ if (me.frm.doc.taxes_and_charges)
+ me.frm.script_manager.trigger("taxes_and_charges")
}
}
});
@@ -241,21 +242,6 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({
}
},
- taxes_and_charges: function() {
- var me = this;
- if(this.frm.doc.taxes_and_charges) {
- return this.frm.call({
- doc: this.frm.doc,
- method: "get_purchase_tax_details",
- callback: function(r) {
- if(!r.exc) {
- me.calculate_taxes_and_totals();
- }
- }
- });
- }
- },
-
calculate_taxes_and_totals: function() {
this._super();
this.calculate_total_advance("Purchase Invoice", "advance_allocation_details");
@@ -398,13 +384,6 @@ erpnext.buying.BuyingController = erpnext.TransactionController.extend({
}
},
- show_item_wise_taxes: function() {
- if(this.frm.fields_dict.tax_calculation) {
- $(this.get_item_wise_taxes_html())
- .appendTo($(this.frm.fields_dict.tax_calculation.wrapper).empty());
- }
- },
-
change_form_labels: function(company_currency) {
var me = this;
var field_label_map = {};
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js
index edf7c82555d..5213885002b 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.js
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.js
@@ -5,7 +5,7 @@ wn.provide("erpnext.buying");
cur_frm.cscript.tname = "Purchase Order Item";
cur_frm.cscript.fname = "po_details";
-cur_frm.cscript.other_fname = "purchase_tax_details";
+cur_frm.cscript.other_fname = "other_charges";
{% include 'buying/doctype/purchase_common/purchase_common.js' %};
{% include 'accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js' %}
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.txt b/erpnext/buying/doctype/purchase_order/purchase_order.txt
index bce007c992c..2dbafd228a5 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.txt
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.txt
@@ -2,7 +2,7 @@
{
"creation": "2013-05-21 16:16:39",
"docstatus": 0,
- "modified": "2014-01-28 18:49:03",
+ "modified": "2014-01-29 15:26:21",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -318,7 +318,7 @@
},
{
"doctype": "DocField",
- "fieldname": "purchase_tax_details",
+ "fieldname": "other_charges",
"fieldtype": "Table",
"label": "Purchase Taxes and Charges",
"no_copy": 0,
@@ -328,9 +328,9 @@
},
{
"doctype": "DocField",
- "fieldname": "tax_calculation",
+ "fieldname": "other_charges_calculation",
"fieldtype": "HTML",
- "label": "Tax Calculation",
+ "label": "Taxes and Charges Calculation",
"no_copy": 1,
"oldfieldtype": "HTML",
"print_hide": 1
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
index bc56abd9170..562e69d1f11 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
@@ -4,7 +4,7 @@
// define defaults for purchase common
cur_frm.cscript.tname = "Supplier Quotation Item";
cur_frm.cscript.fname = "quotation_items";
-cur_frm.cscript.other_fname = "purchase_tax_details";
+cur_frm.cscript.other_fname = "other_charges";
// attach required files
{% include 'buying/doctype/purchase_common/purchase_common.js' %};
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.txt b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.txt
index 324bd410236..0a4a3ec6632 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.txt
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.txt
@@ -2,7 +2,7 @@
{
"creation": "2013-05-21 16:16:45",
"docstatus": 0,
- "modified": "2014-01-28 18:50:58",
+ "modified": "2014-01-29 15:25:52",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -308,7 +308,7 @@
},
{
"doctype": "DocField",
- "fieldname": "purchase_tax_details",
+ "fieldname": "other_charges",
"fieldtype": "Table",
"label": "Purchase Taxes and Charges",
"no_copy": 0,
@@ -318,9 +318,9 @@
},
{
"doctype": "DocField",
- "fieldname": "tax_calculation",
+ "fieldname": "other_charges_calculation",
"fieldtype": "HTML",
- "label": "Tax Calculation",
+ "label": "Taxes and Charges Calculation",
"no_copy": 1,
"oldfieldtype": "HTML",
"print_hide": 1
diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index f7b1e27a44a..7ef771af835 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -38,7 +38,7 @@ class BuyingController(StockController):
self.set_missing_item_details(get_item_details)
if self.doc.fields.get("__islocal"):
- self.set_taxes("purchase_tax_details", "taxes_and_charges")
+ self.set_taxes("other_charges", "taxes_and_charges")
def set_supplier_from_item_default(self):
if self.meta.get_field("supplier") and not self.doc.supplier:
@@ -57,14 +57,10 @@ class BuyingController(StockController):
for w in warehouses:
validate_warehouse_company(w, self.doc.company)
- def get_purchase_tax_details(self):
- self.doclist = self.doc.clear_table(self.doclist, "purchase_tax_details")
- self.set_taxes("purchase_tax_details", "taxes_and_charges")
-
def validate_stock_or_nonstock_items(self):
if not self.get_stock_items():
tax_for_valuation = [d.account_head for d in
- self.doclist.get({"parentfield": "purchase_tax_details"})
+ self.doclist.get({"parentfield": "other_charges"})
if d.category in ["Valuation", "Valuation and Total"]]
if tax_for_valuation:
webnotes.msgprint(_("""Tax Category can not be 'Valuation' or 'Valuation and Total' as all items are non-stock items"""), raise_exception=1)
@@ -79,7 +75,7 @@ class BuyingController(StockController):
self.doc.currency)
def calculate_taxes_and_totals(self):
- self.other_fname = "purchase_tax_details"
+ self.other_fname = "other_charges"
super(BuyingController, self).calculate_taxes_and_totals()
self.calculate_total_advance("Purchase Invoice", "advance_allocation_details")
@@ -203,7 +199,7 @@ class BuyingController(StockController):
last_stock_item_idx = d.idx
total_valuation_amount = sum([flt(d.tax_amount) for d in
- self.doclist.get({"parentfield": "purchase_tax_details"})
+ self.doclist.get({"parentfield": "other_charges"})
if d.category in ["Valuation", "Valuation and Total"]])
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index 2c1f0784cb7..bcfe0bcfad7 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -50,10 +50,6 @@ class SellingController(StockController):
self.set_price_list_currency("Selling")
self.set_missing_item_details(get_item_details)
- def get_other_charges(self):
- self.doclist = self.doc.clear_table(self.doclist, "other_charges")
- self.set_taxes("other_charges", "taxes_and_charges")
-
def apply_shipping_rule(self):
if self.doc.shipping_rule:
shipping_rule = webnotes.bean("Shipping Rule", self.doc.shipping_rule)
diff --git a/erpnext/hr/doctype/leave_control_panel/leave_control_panel.js b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.js
index 649c35d31d4..59bf829f51e 100644
--- a/erpnext/hr/doctype/leave_control_panel/leave_control_panel.js
+++ b/erpnext/hr/doctype/leave_control_panel/leave_control_panel.js
@@ -1,31 +1,27 @@
// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
// License: GNU General Public License v3. See license.txt
-cur_frm.cscript.onload = function(doc,dt,dn){
- if(!doc.posting_date) set_multiple(dt,dn,{posting_date:get_today()});
- if(!doc.leave_transaction_type) set_multiple(dt,dn,{leave_transaction_type:'Allocation'});
-
+cur_frm.cscript.onload = function(doc, dt, dn){
+ if(!doc.posting_date)
+ set_multiple(dt, dn, {posting_date: get_today()});
+ if(!doc.leave_transaction_type)
+ set_multiple(dt, dn, {leave_transaction_type: 'Allocation'});
}
-
-// Validation For To Date
-// ================================================================================================
cur_frm.cscript.to_date = function(doc, cdt, cdn) {
- return $c('runserverobj', args={'method':'to_date_validation','docs':wn.model.compress(make_doclist(doc.doctype, doc.name))},
- function(r, rt) {
- var doc = locals[cdt][cdn];
- if (r.message) {
- alert(wn._("To date cannot be before from date"));
- doc.to_date = '';
- refresh_field('to_date');
- }
- }
- );
+ return $c('runserverobj', args={'method':'to_date_validation','docs':wn.model.compress(make_doclist(doc.doctype, doc.name))},
+ function(r, rt) {
+ var doc = locals[cdt][cdn];
+ if (r.message) {
+ msgprint(wn._("To date cannot be before from date"));
+ doc.to_date = '';
+ refresh_field('to_date');
+ }
+ }
+ );
}
-// Allocation Type
-// ================================================================================================
cur_frm.cscript.allocation_type = function (doc, cdt, cdn){
- doc.no_of_days = '';
- refresh_field('no_of_days');
-}
+ doc.no_of_days = '';
+ refresh_field('no_of_days');
+}
\ No newline at end of file
diff --git a/erpnext/public/js/transaction.js b/erpnext/public/js/transaction.js
index 0dfdd07376a..24fc3322027 100644
--- a/erpnext/public/js/transaction.js
+++ b/erpnext/public/js/transaction.js
@@ -708,4 +708,26 @@ erpnext.TransactionController = erpnext.stock.StockController.extend({
});
}
},
+
+ taxes_and_charges: function() {
+ var me = this;
+ if(this.frm.doc.taxes_and_charges) {
+ return this.frm.call({
+ doc: this.frm.doc,
+ method: "get_other_charges",
+ callback: function(r) {
+ if(!r.exc) {
+ me.calculate_taxes_and_totals();
+ }
+ }
+ });
+ }
+ },
+
+ show_item_wise_taxes: function() {
+ if(this.frm.fields_dict.other_charges_calculation) {
+ $(this.get_item_wise_taxes_html())
+ .appendTo($(this.frm.fields_dict.other_charges_calculation.wrapper).empty());
+ }
+ },
});
\ No newline at end of file
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index a9ed2b77dc7..53be7196cff 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -35,8 +35,8 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
me.frm.set_query(opts[0], erpnext.queries[opts[1]]);
});
- if(this.frm.fields_dict.charge) {
- this.frm.set_query("charge", function() {
+ if(this.frm.fields_dict.taxes_and_charges) {
+ this.frm.set_query("taxes_and_charges", function() {
return {
filters: [
['Sales Taxes and Charges Master', 'company', '=', me.frm.doc.company],
@@ -80,7 +80,7 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
if(item.warehouse) filters["warehouse"] = item.warehouse
return {
- query : "controllers.queries.get_batch_no",
+ query : "erpnext.controllers.queries.get_batch_no",
filters: filters
}
}
@@ -119,6 +119,8 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
(me.frm.doc.selling_price_list !== selling_price_list) ?
me.selling_price_list() :
me.price_list_currency();
+ if (me.frm.doc.taxes_and_charges)
+ me.frm.script_manager.trigger("taxes_and_charges")
}
}
});
@@ -511,28 +513,6 @@ erpnext.selling.SellingController = erpnext.TransactionController.extend({
this.frm.doc.in_words = this.frm.doc.in_words_export = "";
},
- show_item_wise_taxes: function() {
- if(this.frm.fields_dict.other_charges_calculation) {
- $(this.get_item_wise_taxes_html())
- .appendTo($(this.frm.fields_dict.other_charges_calculation.wrapper).empty());
- }
- },
-
- taxes_and_charges: function() {
- var me = this;
- if(this.frm.doc.charge) {
- return this.frm.call({
- doc: this.frm.doc,
- method: "get_other_charges",
- callback: function(r) {
- if(!r.exc) {
- me.calculate_taxes_and_totals();
- }
- }
- });
- }
- },
-
shipping_rule: function() {
var me = this;
if(this.frm.doc.shipping_rule) {
diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js
index e894d0db889..1e89dc1ca8c 100644
--- a/erpnext/stock/doctype/item/item.js
+++ b/erpnext/stock/doctype/item/item.js
@@ -23,7 +23,7 @@ cur_frm.cscript.refresh = function(doc) {
cur_frm.cscript.make_dashboard = function() {
cur_frm.dashboard.reset();
- if(cur_frm.doc.__islocal)
+ if(cur_frm.doc.__islocal)
return;
}
@@ -34,26 +34,27 @@ cur_frm.cscript.edit_prices_button = function() {
}
cur_frm.cscript.item_code = function(doc) {
- if(!doc.item_name) cur_frm.set_value("item_name", doc.item_code);
- if(!doc.description) cur_frm.set_value("description", doc.item_code);
+ if(!doc.item_name)
+ cur_frm.set_value("item_name", doc.item_code);
+ if(!doc.description)
+ cur_frm.set_value("description", doc.item_code);
}
cur_frm.fields_dict['default_bom'].get_query = function(doc) {
- //var d = locals[this.doctype][this.docname];
- return{
- filters:{
- 'item': doc.item_code,
- 'is_active': 0
- }
- }
+ return {
+ filters: {
+ 'item': doc.item_code,
+ 'is_active': 0
+ }
+ }
}
// Expense Account
// ---------------------------------
-cur_frm.fields_dict['purchase_account'].get_query = function(doc){
- return{
- filters:{
+cur_frm.fields_dict['purchase_account'].get_query = function(doc) {
+ return {
+ filters: {
'debit_or_credit': "Debit",
'group_or_ledger': "Ledger"
}
@@ -63,8 +64,8 @@ cur_frm.fields_dict['purchase_account'].get_query = function(doc){
// Income Account
// --------------------------------
cur_frm.fields_dict['default_income_account'].get_query = function(doc) {
- return{
- filters:{
+ return {
+ filters: {
'debit_or_credit': "Credit",
'group_or_ledger': "Ledger",
'account_type': "Income Account"
@@ -76,7 +77,7 @@ cur_frm.fields_dict['default_income_account'].get_query = function(doc) {
// Purchase Cost Center
// -----------------------------
cur_frm.fields_dict['cost_center'].get_query = function(doc) {
- return{
+ return {
filters:{ 'group_or_ledger': "Ledger" }
}
}
@@ -85,15 +86,15 @@ cur_frm.fields_dict['cost_center'].get_query = function(doc) {
// Sales Cost Center
// -----------------------------
cur_frm.fields_dict['default_sales_cost_center'].get_query = function(doc) {
- return{
+ return {
filters:{ 'group_or_ledger': "Ledger" }
}
}
cur_frm.fields_dict['item_tax'].grid.get_field("tax_type").get_query = function(doc, cdt, cdn) {
- return{
- filters:[
+ return {
+ filters: [
['Account', 'account_type', 'in',
'Tax, Chargeable, Income Account, Expense Account'],
['Account', 'docstatus', '!=', 2]
@@ -102,12 +103,10 @@ cur_frm.fields_dict['item_tax'].grid.get_field("tax_type").get_query = function(
}
cur_frm.cscript.tax_type = function(doc, cdt, cdn){
- var d = locals[cdt][cdn];
- return get_server_fields('get_tax_rate',d.tax_type,'item_tax',doc, cdt, cdn, 1);
+ var d = locals[cdt][cdn];
+ return get_server_fields('get_tax_rate', d.tax_type, 'item_tax', doc, cdt, cdn, 1);
}
-
-//get query select item group
cur_frm.fields_dict['item_group'].get_query = function(doc,cdt,cdn) {
return {
filters: [
@@ -116,44 +115,39 @@ cur_frm.fields_dict['item_group'].get_query = function(doc,cdt,cdn) {
}
}
-// for description from attachment
-// takes the first attachment and creates
-// a table with both image and attachment in HTML
-// in the "alternate_description" field
cur_frm.cscript.add_image = function(doc, dt, dn) {
if(!doc.image) {
msgprint(wn._('Please select an "Image" first'));
return;
}
- doc.description_html = repl(''+
- 's) | '+
- '%(desc)s | '+
- ' ', {imgurl: wn.utils.get_file_link(doc.image), desc:doc.description});
+ doc.description_html = repl('' +
+ 's) | ' +
+ '%(desc)s | ' +
+ ' ', {imgurl: wn.utils.get_file_link(doc.image), desc:doc.description});
refresh_field('description_html');
}
+
// Quotation to validation - either customer or lead mandatory
-cur_frm.cscript.weight_to_validate = function(doc,cdt,cdn){
-
- if((doc.nett_weight || doc.gross_weight) && !doc.weight_uom)
- {
- alert(wn._('Weight is mentioned,\nPlease mention "Weight UOM" too'));
- validated=0;
- }
+cur_frm.cscript.weight_to_validate = function(doc, cdt, cdn){
+ if((doc.nett_weight || doc.gross_weight) && !doc.weight_uom) {
+ msgprint(wn._('Weight is mentioned,\nPlease mention "Weight UOM" too'));
+ validated = 0;
+ }
}
-cur_frm.cscript.validate = function(doc,cdt,cdn){
- cur_frm.cscript.weight_to_validate(doc,cdt,cdn);
+cur_frm.cscript.validate = function(doc, cdt, cdn){
+ cur_frm.cscript.weight_to_validate(doc, cdt, cdn);
}
-cur_frm.fields_dict.item_customer_details.grid.get_field("customer_name").get_query =
-function(doc,cdt,cdn) {
- return{ query: "erpnext.controllers.queries.customer_query" } }
-
-cur_frm.fields_dict.item_supplier_details.grid.get_field("supplier").get_query =
- function(doc,cdt,cdn) {
- return{ query: "erpnext.controllers.queries.supplier_query" } }
+cur_frm.fields_dict.item_customer_details.grid.get_field("customer_name").get_query = function(doc, cdt, cdn) {
+ return { query: "erpnext.controllers.queries.customer_query" }
+}
+
+cur_frm.fields_dict.item_supplier_details.grid.get_field("supplier").get_query = function(doc, cdt, cdn) {
+ return { query: "erpnext.controllers.queries.supplier_query" }
+}
cur_frm.cscript.copy_from_item_group = function(doc) {
wn.model.with_doc("Item Group", doc.item_group, function() {
@@ -172,9 +166,9 @@ cur_frm.cscript.copy_from_item_group = function(doc) {
cur_frm.cscript.image = function() {
refresh_field("image_view");
- if(!cur_frm.doc.description_html) {
+ if(!cur_frm.doc.description_html)
cur_frm.cscript.add_image(cur_frm.doc);
- } else {
+ else {
msgprint(wn._("You may need to update: ") +
wn.meta.get_docfield(cur_frm.doc.doctype, "description_html").label);
}
diff --git a/erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.py b/erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.py
index 95026adbcf1..523d5556cec 100644
--- a/erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.py
+++ b/erpnext/stock/doctype/landed_cost_wizard/landed_cost_wizard.py
@@ -39,13 +39,13 @@ class DocType:
for pr in purchase_receipts:
pr_bean = webnotes.bean('Purchase Receipt', pr)
- idx = max([d.idx for d in pr_bean.doclist.get({"parentfield": "purchase_tax_details"})])
+ idx = max([d.idx for d in pr_bean.doclist.get({"parentfield": "other_charges"})])
for lc in self.doclist.get({"parentfield": "landed_cost_details"}):
amt = flt(lc.amount) * flt(pr_bean.doc.net_total)/ flt(total_amt)
matched_row = pr_bean.doclist.get({
- "parentfield": "purchase_tax_details",
+ "parentfield": "other_charges",
"category": "Valuation",
"add_deduct_tax": "Add",
"charge_type": "Actual",
@@ -53,7 +53,7 @@ class DocType:
})
if not matched_row: # add if not exists
- ch = addchild(pr_bean.doc, 'purchase_tax_details', 'Purchase Taxes and Charges')
+ ch = addchild(pr_bean.doc, 'other_charges', 'Purchase Taxes and Charges')
ch.category = 'Valuation'
ch.add_deduct_tax = 'Add'
ch.charge_type = 'Actual'
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
index 5151c0090b6..1a08cd2eb29 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
@@ -3,7 +3,7 @@
cur_frm.cscript.tname = "Purchase Receipt Item";
cur_frm.cscript.fname = "purchase_receipt_details";
-cur_frm.cscript.other_fname = "purchase_tax_details";
+cur_frm.cscript.other_fname = "other_charges";
{% include 'buying/doctype/purchase_common/purchase_common.js' %};
{% include 'accounts/doctype/purchase_taxes_and_charges_master/purchase_taxes_and_charges_master.js' %}
@@ -106,27 +106,28 @@ erpnext.stock.PurchaseReceiptController = erpnext.buying.BuyingController.extend
$.extend(cur_frm.cscript, new erpnext.stock.PurchaseReceiptController({frm: cur_frm}));
cur_frm.fields_dict['supplier_address'].get_query = function(doc, cdt, cdn) {
- return{
- filters:{ 'supplier': doc.supplier}
+ return {
+ filters: { 'supplier': doc.supplier}
}
}
cur_frm.fields_dict['contact_person'].get_query = function(doc, cdt, cdn) {
- return{
- filters:{ 'supplier': doc.supplier}
+ return {
+ filters: { 'supplier': doc.supplier }
}
}
-cur_frm.cscript.new_contact = function(){
+cur_frm.cscript.new_contact = function() {
tn = wn.model.make_new_doc_and_get_name('Contact');
locals['Contact'][tn].is_supplier = 1;
- if(doc.supplier) locals['Contact'][tn].supplier = doc.supplier;
+ if(doc.supplier)
+ locals['Contact'][tn].supplier = doc.supplier;
loaddoc('Contact', tn);
}
cur_frm.fields_dict['purchase_receipt_details'].grid.get_field('project_name').get_query = function(doc, cdt, cdn) {
- return{
- filters:[
+ return {
+ filters: [
['Project', 'status', 'not in', 'Completed, Cancelled']
]
}
@@ -134,28 +135,25 @@ cur_frm.fields_dict['purchase_receipt_details'].grid.get_field('project_name').g
cur_frm.fields_dict['purchase_receipt_details'].grid.get_field('batch_no').get_query= function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
- if(d.item_code){
- return{
- filters:{'item': d.item_code}
+ if(d.item_code) {
+ return {
+ filters: {'item': d.item_code}
}
}
- else{
- alert(wn._("Please enter Item Code."));
- }
+ else
+ msgprint(wn._("Please enter Item Code."));
}
-cur_frm.cscript.select_print_heading = function(doc,cdt,cdn){
- if(doc.select_print_heading){
- // print heading
+cur_frm.cscript.select_print_heading = function(doc, cdt, cdn) {
+ if(doc.select_print_heading)
cur_frm.pformat.print_heading = doc.select_print_heading;
- }
else
cur_frm.pformat.print_heading = "Purchase Receipt";
}
cur_frm.fields_dict['select_print_heading'].get_query = function(doc, cdt, cdn) {
- return{
- filters:[
+ return {
+ filters: [
['Print Heading', 'docstatus', '!=', '2']
]
}
@@ -170,7 +168,6 @@ cur_frm.fields_dict.purchase_receipt_details.grid.get_field("qa_no").get_query =
}
cur_frm.cscript.on_submit = function(doc, cdt, cdn) {
- if(cint(wn.boot.notification_settings.purchase_receipt)) {
+ if(cint(wn.boot.notification_settings.purchase_receipt))
cur_frm.email_doc(wn.boot.notification_settings.purchase_receipt_message);
- }
-}
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt
index e1ba3622e76..28c2572b081 100755
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.txt
@@ -2,7 +2,7 @@
{
"creation": "2013-05-21 16:16:39",
"docstatus": 0,
- "modified": "2014-01-28 18:52:19",
+ "modified": "2014-01-29 15:25:14",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -346,7 +346,7 @@
},
{
"doctype": "DocField",
- "fieldname": "purchase_tax_details",
+ "fieldname": "other_charges",
"fieldtype": "Table",
"label": "Purchase Taxes and Charges",
"oldfieldname": "purchase_tax_details",
@@ -355,9 +355,9 @@
},
{
"doctype": "DocField",
- "fieldname": "tax_calculation",
+ "fieldname": "other_charges_calculation",
"fieldtype": "HTML",
- "label": "Tax Calculation",
+ "label": "Taxes and Charges Calculation",
"oldfieldtype": "HTML",
"print_hide": 1
},
diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
index 89e77cee817..c40b72babc4 100644
--- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
@@ -184,7 +184,7 @@ test_records = [
"charge_type": "Actual",
"description": "Shipping Charges",
"doctype": "Purchase Taxes and Charges",
- "parentfield": "purchase_tax_details",
+ "parentfield": "other_charges",
"rate": 100.0,
"tax_amount": 100.0,
},
@@ -195,7 +195,7 @@ test_records = [
"charge_type": "Actual",
"description": "VAT",
"doctype": "Purchase Taxes and Charges",
- "parentfield": "purchase_tax_details",
+ "parentfield": "other_charges",
"rate": 120.0,
"tax_amount": 120.0,
},
@@ -206,7 +206,7 @@ test_records = [
"charge_type": "Actual",
"description": "Customs Duty",
"doctype": "Purchase Taxes and Charges",
- "parentfield": "purchase_tax_details",
+ "parentfield": "other_charges",
"rate": 150.0,
"tax_amount": 150.0,
},
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index 6bd95648455..52436ee829d 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -7,7 +7,7 @@ cur_frm.cscript.fname = "mtn_details";
wn.require("assets/erpnext/js/controllers/stock_controller.js");
wn.provide("erpnext.stock");
-erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
+erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
setup: function() {
var me = this;
@@ -54,11 +54,11 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
}
}
},
-
+
onload_post_render: function() {
this.set_default_account();
},
-
+
refresh: function() {
var me = this;
erpnext.hide_naming_series();
@@ -79,11 +79,11 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
}
},
-
+
on_submit: function() {
this.clean_up();
},
-
+
after_cancel: function() {
this.clean_up();
},
@@ -114,7 +114,7 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
});
}
},
-
+
clean_up: function() {
// Clear Production Order record from locals, because it is updated via Stock Entry
if(this.frm.doc.production_order &&
@@ -123,7 +123,7 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
this.frm.doc.production_order);
}
},
-
+
get_items: function() {
if(this.frm.doc.production_order || this.frm.doc.bom_no) {
// if production order / bom is mentioned, get items
@@ -136,13 +136,13 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
});
}
},
-
+
qty: function(doc, cdt, cdn) {
var d = locals[cdt][cdn];
d.transfer_qty = flt(d.qty) * flt(d.conversion_factor);
refresh_field('mtn_details');
},
-
+
production_order: function() {
var me = this;
this.toggle_enable_bom();
@@ -158,11 +158,11 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
}
});
},
-
+
toggle_enable_bom: function() {
this.frm.toggle_enable("bom_no", !this.frm.doc.production_order);
},
-
+
get_doctype_docname: function() {
if(this.frm.doc.purpose === "Sales Return") {
if(this.frm.doc.delivery_note_no && this.frm.doc.sales_invoice_no) {
@@ -191,7 +191,7 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
}
}
},
-
+
add_excise_button: function() {
if(wn.boot.control_panel.country === "India")
this.frm.add_custom_button(wn._("Make Excise Invoice"), function() {
@@ -201,7 +201,7 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
loaddoc('Journal Voucher', excise.name);
});
},
-
+
make_return_jv: function() {
if(this.get_doctype_docname()) {
return this.frm.call({
@@ -233,7 +233,7 @@ erpnext.stock.StockEntry = erpnext.stock.StockController.extend({
if(!row.s_warehouse) row.s_warehouse = this.frm.doc.from_warehouse;
if(!row.t_warehouse) row.t_warehouse = this.frm.doc.to_warehouse;
},
-
+
mtn_details_on_form_rendered: function(doc, grid_row) {
erpnext.setup_serial_no(grid_row)
}
@@ -288,12 +288,11 @@ cur_frm.cscript.purchase_receipt_no = function(doc, cdt, cdn) {
cur_frm.cscript.supplier = function(doc, cdt, cdn) {
if(doc.supplier)
return get_server_fields('get_supp_addr', '', '', doc, cdt, cdn, 1);
-
}
cur_frm.fields_dict['production_order'].get_query = function(doc) {
- return{
- filters:[
+ return {
+ filters: [
['Production Order', 'docstatus', '=', 1],
['Production Order', 'qty', '>','`tabProduction Order`.produced_qty']
]
@@ -306,7 +305,7 @@ cur_frm.cscript.purpose = function(doc, cdt, cdn) {
// Overloaded query for link batch_no
cur_frm.fields_dict['mtn_details'].grid.get_field('batch_no').get_query = function(doc, cdt, cdn) {
- var d = locals[cdt][cdn];
+ var d = locals[cdt][cdn];
if(d.item_code) {
return{
query: "erpnext.stock.doctype.stock_entry.stock_entry.get_batch_no",
@@ -371,7 +370,7 @@ cur_frm.cscript.validate = function(doc, cdt, cdn) {
cur_frm.cscript.validate_items = function(doc) {
cl = getchildren('Stock Entry Detail', doc.name, 'mtn_details');
if (!cl.length) {
- alert(wn._("Item table can not be blank"));
+ msgprint(wn._("Item table can not be blank"));
validated = false;
}
}
@@ -385,9 +384,9 @@ cur_frm.cscript.cost_center = function(doc, cdt, cdn) {
}
cur_frm.fields_dict.customer.get_query = function(doc, cdt, cdn) {
- return{ query: "erpnext.controllers.queries.customer_query" }
+ return { query: "erpnext.controllers.queries.customer_query" }
}
cur_frm.fields_dict.supplier.get_query = function(doc, cdt, cdn) {
- return{ query: "erpnext.controllers.queries.supplier_query" }
-}
+ return { query: "erpnext.controllers.queries.supplier_query" }
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
index 1d7c2e444dc..16913493761 100644
--- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
@@ -481,7 +481,7 @@ class TestStockEntry(unittest.TestCase):
d.expense_head = "_Test Account Cost for Goods Sold - _TC"
d.cost_center = "_Test Cost Center - _TC"
- for d in pi.doclist.get({"parentfield": "purchase_tax_details"}):
+ for d in pi.doclist.get({"parentfield": "other_charges"}):
d.cost_center = "_Test Cost Center - _TC"
pi.run_method("calculate_taxes_and_totals")
@@ -583,7 +583,7 @@ class TestStockEntry(unittest.TestCase):
for d in pi.doclist.get({"parentfield": "entries"}):
d.expense_head = "_Test Account Cost for Goods Sold - _TC"
d.cost_center = "_Test Cost Center - _TC"
- for d in pi.doclist.get({"parentfield": "purchase_tax_details"}):
+ for d in pi.doclist.get({"parentfield": "other_charges"}):
d.cost_center = "_Test Cost Center - _TC"
pi.run_method("calculate_taxes_and_totals")
diff --git a/erpnext/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py
index a1ff0f84740..0b4b9032eb8 100644
--- a/erpnext/utilities/transaction_base.py
+++ b/erpnext/utilities/transaction_base.py
@@ -115,7 +115,7 @@ class TransactionBase(StatusUpdater):
sales_person.update({
"doctype": "Sales Team",
"parentfield": "sales_team",
- "idx": i+1
+ "idx": i + 1
})
# add child
@@ -138,11 +138,15 @@ class TransactionBase(StatusUpdater):
supplier.default_price_list or self.doc.buying_price_list
return out
-
+
def set_supplier_defaults(self):
for fieldname, val in self.get_supplier_defaults().items():
if self.meta.get_field(fieldname):
self.doc.fields[fieldname] = val
+
+ def get_other_charges(self):
+ self.doclist = self.doc.clear_table(self.doclist, "other_charges")
+ self.set_taxes("other_charges", "taxes_and_charges")
def get_lead_defaults(self):
out = self.get_default_address_and_contact("lead")
|