Merge pull request #3287 from rmehta/customer-fix
Customer fix
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index e0f0e3b..1853fc9 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -421,8 +421,3 @@
})
return all_outstanding_vouchers
-
-@frappe.whitelist()
-def get_letter_head(company):
- return frappe.db.get_value("Company",company,"default_letter_head")
-
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index a96f5e9..c8b2b64 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -194,6 +194,7 @@
var fn = function() {
if(me.frm.doc.company && me.frm.fields_dict.currency) {
var company_currency = me.get_company_currency();
+ var company_doc = frappe.get_doc(":Company", me.frm.doc.company);
if (!me.frm.doc.currency) {
me.frm.set_value("currency", company_currency);
}
@@ -204,6 +205,12 @@
if (me.frm.doc.price_list_currency == company_currency) {
me.frm.set_value('plc_conversion_rate', 1.0);
}
+ if (company_doc.default_letter_head) {
+ me.frm.set_value("letter_head", company_doc.default_letter_head);
+ }
+ if (company_doc.default_terms) {
+ me.frm.set_value("tc_name", company_doc.default_terms);
+ }
me.frm.script_manager.trigger("currency");
me.apply_pricing_rule();
@@ -213,7 +220,6 @@
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;
diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index 355fe7d..5476d14 100644
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -105,21 +105,7 @@
d.show();
});
- },
-
- get_letter_head: function(company) {
- frappe.call({
- type:"GET",
- method: "erpnext.accounts.utils.get_letter_head",
- args: {
- "company": company
- },
- callback: function(r) {
- if (!r.exe) cur_frm.set_value("letter_head", r.message);
- }
- });
- },
-
+ }
});
diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py
index 19a9aae..f82e2fb 100644
--- a/erpnext/selling/doctype/customer/customer.py
+++ b/erpnext/selling/doctype/customer/customer.py
@@ -76,7 +76,7 @@
def validate_name_with_customer_group(self):
if frappe.db.exists("Customer Group", self.name):
- frappe.throw(_("A Customer Group exists with same name please change the Customer name or rename the Customer Group"))
+ frappe.throw(_("A Customer Group exists with same name please change the Customer name or rename the Customer Group"), frappe.NameError)
def delete_customer_address(self):
addresses = frappe.db.sql("""select name, lead from `tabAddress`
@@ -125,9 +125,9 @@
billing_this_year = frappe.db.sql("""select sum(base_grand_total)
from `tabSales Invoice`
- where customer=%s and docstatus = 1 and fiscal_year = %s""",
+ where customer=%s and docstatus = 1 and fiscal_year = %s""",
(customer, frappe.db.get_default("fiscal_year")))
-
+
total_unpaid = frappe.db.sql("""select sum(outstanding_amount)
from `tabSales Invoice`
where customer=%s and docstatus = 1""", customer)
diff --git a/erpnext/setup/doctype/company/company.json b/erpnext/setup/doctype/company/company.json
index 0e7b17a..db71d0f 100644
--- a/erpnext/setup/doctype/company/company.json
+++ b/erpnext/setup/doctype/company/company.json
@@ -53,14 +53,6 @@
"read_only": 0
},
{
- "fieldname": "default_letter_head",
- "fieldtype": "Link",
- "label": "Default Letter Head",
- "options": "Letter Head",
- "permlevel": 0,
- "precision": ""
- },
- {
"fieldname": "domain",
"fieldtype": "Select",
"label": "Domain",
@@ -72,10 +64,18 @@
"fieldname": "charts_section",
"fieldtype": "Section Break",
"hidden": 0,
- "label": "Country Settings",
+ "label": "Default Values",
"permlevel": 0
},
{
+ "fieldname": "default_letter_head",
+ "fieldtype": "Link",
+ "label": "Default Letter Head",
+ "options": "Letter Head",
+ "permlevel": 0,
+ "precision": ""
+ },
+ {
"fieldname": "default_holiday_list",
"fieldtype": "Link",
"label": "Default Holiday List",
@@ -118,9 +118,17 @@
"permlevel": 0
},
{
+ "fieldname": "default_terms",
+ "fieldtype": "Link",
+ "label": "Default Terms",
+ "options": "Terms and Conditions",
+ "permlevel": 0,
+ "precision": ""
+ },
+ {
"fieldname": "default_settings",
"fieldtype": "Section Break",
- "label": "Default Settings",
+ "label": "Accounts Settings",
"oldfieldtype": "Section Break",
"permlevel": 0,
"read_only": 0
@@ -406,7 +414,7 @@
],
"icon": "icon-building",
"idx": 1,
- "modified": "2015-05-04 11:22:42.116328",
+ "modified": "2015-05-19 02:00:41.055138",
"modified_by": "Administrator",
"module": "Setup",
"name": "Company",
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
index ad89114..d358928 100644
--- a/erpnext/setup/doctype/company/company.py
+++ b/erpnext/setup/doctype/company/company.py
@@ -63,6 +63,8 @@
if self.default_currency:
frappe.db.set_value("Currency", self.default_currency, "enabled", 1)
+ frappe.clear_cache()
+
def install_country_fixtures(self):
if os.path.exists(os.path.join(os.path.dirname(__file__), "fixtures", self.country.lower())):
frappe.get_attr("erpnext.setup.doctype.company.fixtures.{0}.install".format(self.country.lower()))(self)
@@ -167,7 +169,7 @@
where defkey='Company' and defvalue=%s""", (newdn, olddn))
frappe.defaults.clear_cache()
-
+
def on_trash(self):
"""
Trash accounts and cost centers for this company if no gl entry exists
@@ -178,7 +180,7 @@
frappe.db.sql("delete from `tabAccount` where company = %s", self.name)
# delete cost center child table - budget detail
- frappe.db.sql("""delete bd.* from `tabBudget Detail` bd, `tabCost Center` cc
+ frappe.db.sql("""delete bd.* from `tabBudget Detail` bd, `tabCost Center` cc
where bd.parent = cc.name and cc.company = %s""", self.name)
#delete cost center
frappe.db.sql("delete from `tabCost Center` WHERE company = %s", self.name)
diff --git a/erpnext/startup/boot.py b/erpnext/startup/boot.py
index 48efa27..474af2c 100644
--- a/erpnext/startup/boot.py
+++ b/erpnext/startup/boot.py
@@ -29,8 +29,9 @@
bootinfo.setup_complete = frappe.db.sql("""select name from
tabCompany limit 1""") and 'Yes' or 'No'
- bootinfo.docs += frappe.db.sql("""select name, default_currency, cost_center
- from `tabCompany`""", as_dict=1, update={"doctype":":Company"})
+ bootinfo.docs += frappe.db.sql("""select name, default_currency, cost_center,
+ default_terms, default_letter_head from `tabCompany`""",
+ as_dict=1, update={"doctype":":Company"})
def load_country_and_currency(bootinfo):
country = frappe.db.get_default("country")