diff --git a/accounts/doctype/gl_entry/gl_entry.py b/accounts/doctype/gl_entry/gl_entry.py index 2a0985b04d..64d84b0459 100644 --- a/accounts/doctype/gl_entry/gl_entry.py +++ b/accounts/doctype/gl_entry/gl_entry.py @@ -35,8 +35,9 @@ class DocType: self.check_credit_limit() self.check_pl_account() - def on_update(self,adv_adj, cancel, update_outstanding = 'Yes'): + def on_update(self, adv_adj, cancel, update_outstanding = 'Yes'): self.validate_account_details(adv_adj) + self.validate_cost_center() self.check_freezing_date(adv_adj) self.check_negative_balance(adv_adj) @@ -97,21 +98,36 @@ class DocType: from tabAccount where name=%s""", self.doc.account, as_dict=1) if ret and ret[0]["group_or_ledger"]=='Group': - msgprint(_("Account: ") + self.doc.account + _(" is not a ledger"), raise_exception=1) + msgprint(_("Account") + ": " + self.doc.account + _(" is not a ledger"), raise_exception=1) if ret and ret[0]["docstatus"]==2: - msgprint(_("Account: ") + self.doc.account + _(" is not active"), raise_exception=1) + msgprint(_("Account") + ": " + self.doc.account + _(" is not active"), raise_exception=1) # Account has been freezed for other users except account manager if ret and ret[0]["freeze_account"]== 'Yes' and not adv_adj \ and not 'Accounts Manager' in webnotes.user.get_roles(): - msgprint(_("Account: ") + self.doc.account + _(" has been freezed. \ + msgprint(_("Account") + ": " + self.doc.account + _(" has been freezed. \ Only Accounts Manager can do transaction against this account"), raise_exception=1) if ret and ret[0]["company"] != self.doc.company: - msgprint(_("Account: ") + self.doc.account + _(" does not belong to the company: ") + - self.doc.company, raise_exception=1) - + msgprint(_("Account") + ": " + self.doc.account + _(" does not belong to the company") \ + + ": " + self.doc.company, raise_exception=1) + + def validate_cost_center(self): + if not hasattr(self, "cost_center_company"): + self.cost_center_company = {} + + def _get_cost_center_company(): + if not self.cost_center_company.get(self.doc.cost_center): + self.cost_center_company[self.doc.cost_center] = webnotes.conn.get_value("Cost Center", + self.doc.cost_center, "company_name") + + return self.cost_center_company[self.doc.cost_center] + + if self.doc.cost_center and _get_cost_center_company() != self.doc.company: + msgprint(_("Cost Center") + ": " + self.doc.cost_center \ + + _(" does not belong to the company") + ": " + self.doc.company, raise_exception=True) + def check_freezing_date(self, adv_adj): """ Nobody can do GL Entries where posting date is before freezing date diff --git a/accounts/doctype/mode_of_payment/mode_of_payment.txt b/accounts/doctype/mode_of_payment/mode_of_payment.txt index 2d019964fc..0841af0dae 100644 --- a/accounts/doctype/mode_of_payment/mode_of_payment.txt +++ b/accounts/doctype/mode_of_payment/mode_of_payment.txt @@ -1,68 +1,68 @@ [ { - "owner": "harshada@webnotestech.com", + "creation": "2012-12-04 17:49:20", "docstatus": 0, - "creation": "2012-07-03 13:30:49", + "modified": "2013-04-19 10:59:05", "modified_by": "Administrator", - "modified": "2012-12-04 16:33:37" + "owner": "harshada@webnotestech.com" }, { - "name": "__common__", + "allow_rename": 1, "autoname": "field:mode_of_payment", - "module": "Accounts", "doctype": "DocType", - "document_type": "Master" + "document_type": "Master", + "module": "Accounts", + "name": "__common__" }, { + "doctype": "DocField", "name": "__common__", "parent": "Mode of Payment", - "doctype": "DocField", + "parentfield": "fields", "parenttype": "DocType", "permlevel": 0, - "parentfield": "fields" + "read_only": 0 }, { - "parent": "Mode of Payment", - "read": 1, - "doctype": "DocPerm", - "cancel": 1, - "name": "__common__", - "amend": 0, "create": 1, - "submit": 0, - "write": 1, + "doctype": "DocPerm", + "name": "__common__", + "parent": "Mode of Payment", + "parentfield": "permissions", "parenttype": "DocType", - "role": "Accounts Manager", - "report": 1, "permlevel": 0, - "parentfield": "permissions" + "read": 1, + "report": 1, + "role": "Accounts Manager", + "submit": 0, + "write": 1 }, { - "name": "Mode of Payment", - "doctype": "DocType" + "doctype": "DocType", + "name": "Mode of Payment" }, { - "oldfieldtype": "Data", "doctype": "DocField", - "label": "Mode of Payment", - "oldfieldname": "mode_of_payment", "fieldname": "mode_of_payment", "fieldtype": "Data", + "label": "Mode of Payment", + "oldfieldname": "mode_of_payment", + "oldfieldtype": "Data", "reqd": 1 }, { "doctype": "DocField", - "label": "Company", "fieldname": "company", "fieldtype": "Link", + "label": "Company", "options": "Company" }, { "description": "Default Bank / Cash account will be automatically updated in POS Invoice when this mode is selected.", "doctype": "DocField", - "label": "Default Account", "fieldname": "default_account", "fieldtype": "Link", + "label": "Default Account", "options": "Account" }, { diff --git a/home/page/attributions/attributions.html b/home/page/attributions/attributions.html index e6142f7df3..3b35283e0b 100644 --- a/home/page/attributions/attributions.html +++ b/home/page/attributions/attributions.html @@ -41,6 +41,11 @@