Merge pull request #22241 from deepeshgarg007/cost_center_fix

fix: Minor fixes in cost center
This commit is contained in:
rohitwaghchaure 2020-06-22 11:21:14 +05:30 committed by GitHub
commit 39a7516252
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 31 additions and 18 deletions

View File

@ -71,8 +71,13 @@ frappe.ui.form.on('Cost Center', {
"label": "Cost Center Number", "label": "Cost Center Number",
"fieldname": "cost_center_number", "fieldname": "cost_center_number",
"fieldtype": "Data", "fieldtype": "Data",
"reqd": 1,
"default": frm.doc.cost_center_number "default": frm.doc.cost_center_number
},
{
"label": __("Merge with existing"),
"fieldname": "merge",
"fieldtype": "Check",
"default": 0
} }
], ],
primary_action: function() { primary_action: function() {
@ -87,8 +92,9 @@ frappe.ui.form.on('Cost Center', {
args: { args: {
docname: frm.doc.name, docname: frm.doc.name,
cost_center_name: data.cost_center_name, cost_center_name: data.cost_center_name,
cost_center_number: data.cost_center_number, cost_center_number: cstr(data.cost_center_number),
company: frm.doc.company company: frm.doc.company,
merge: data.merge
}, },
callback: function(r) { callback: function(r) {
frappe.dom.unfreeze(); frappe.dom.unfreeze();

View File

@ -4,7 +4,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import frappe, erpnext import frappe, erpnext
from frappe import _ from frappe import _
from frappe.utils import flt, fmt_money, getdate, formatdate from frappe.utils import flt, fmt_money, getdate, formatdate, cint
from frappe.model.document import Document from frappe.model.document import Document
from frappe.model.naming import set_name_from_naming_options from frappe.model.naming import set_name_from_naming_options
from frappe.model.meta import get_field_precision from frappe.model.meta import get_field_precision
@ -134,10 +134,17 @@ class GLEntry(Document):
return self.cost_center_company[self.cost_center] return self.cost_center_company[self.cost_center]
def _check_is_group():
return cint(frappe.get_cached_value('Cost Center', self.cost_center, 'is_group'))
if self.cost_center and _get_cost_center_company() != self.company: if self.cost_center and _get_cost_center_company() != self.company:
frappe.throw(_("{0} {1}: Cost Center {2} does not belong to Company {3}") frappe.throw(_("{0} {1}: Cost Center {2} does not belong to Company {3}")
.format(self.voucher_type, self.voucher_no, self.cost_center, self.company)) .format(self.voucher_type, self.voucher_no, self.cost_center, self.company))
if self.cost_center and _check_is_group():
frappe.throw(_("""{0} {1}: Cost Center {2} is a group cost center and group cost centers cannot
be used in transactions""").format(self.voucher_type, self.voucher_no, frappe.bold(self.cost_center)))
def validate_party(self): def validate_party(self):
validate_party_frozen_disabled(self.party_type, self.party) validate_party_frozen_disabled(self.party_type, self.party)

View File

@ -61,7 +61,7 @@ def make_sales_invoice():
debit_to = 'Debtors - _TC2', debit_to = 'Debtors - _TC2',
income_account = 'Sales - _TC2', income_account = 'Sales - _TC2',
expense_account = 'Cost of Goods Sold - _TC2', expense_account = 'Cost of Goods Sold - _TC2',
cost_center = '_Test Company 2 - _TC2') cost_center = 'Main - _TC2')

View File

@ -63,7 +63,7 @@ def make_sales_invoice():
debit_to = 'Debtors - _TC2', debit_to = 'Debtors - _TC2',
income_account = 'Sales - _TC2', income_account = 'Sales - _TC2',
expense_account = 'Cost of Goods Sold - _TC2', expense_account = 'Cost of Goods Sold - _TC2',
cost_center = '_Test Company 2 - _TC2', cost_center = 'Main - _TC2',
do_not_save=1) do_not_save=1)
si.append('payment_schedule', dict(due_date=getdate(add_days(today(), 30)), invoice_portion=30.00, payment_amount=30)) si.append('payment_schedule', dict(due_date=getdate(add_days(today(), 30)), invoice_portion=30.00, payment_amount=30))
@ -83,14 +83,14 @@ def make_payment(docname):
def make_credit_note(docname): def make_credit_note(docname):
create_sales_invoice(company="_Test Company 2", create_sales_invoice(company="_Test Company 2",
customer = '_Test Customer 2', customer = '_Test Customer 2',
currency = 'EUR', currency = 'EUR',
qty = -1, qty = -1,
warehouse = 'Finished Goods - _TC2', warehouse = 'Finished Goods - _TC2',
debit_to = 'Debtors - _TC2', debit_to = 'Debtors - _TC2',
income_account = 'Sales - _TC2', income_account = 'Sales - _TC2',
expense_account = 'Cost of Goods Sold - _TC2', expense_account = 'Cost of Goods Sold - _TC2',
cost_center = '_Test Company 2 - _TC2', cost_center = 'Main - _TC2',
is_return = 1, is_return = 1,
return_against = docname) return_against = docname)

View File

@ -837,7 +837,7 @@ def create_payment_gateway_account(gateway):
pass pass
@frappe.whitelist() @frappe.whitelist()
def update_cost_center(docname, cost_center_name, cost_center_number, company): def update_cost_center(docname, cost_center_name, cost_center_number, company, merge):
''' '''
Renames the document by adding the number as a prefix to the current name and updates Renames the document by adding the number as a prefix to the current name and updates
all transaction where it was present. all transaction where it was present.
@ -853,7 +853,7 @@ def update_cost_center(docname, cost_center_name, cost_center_number, company):
new_name = get_autoname_with_number(cost_center_number, cost_center_name, docname, company) new_name = get_autoname_with_number(cost_center_number, cost_center_name, docname, company)
if docname != new_name: if docname != new_name:
frappe.rename_doc("Cost Center", docname, new_name, force=1) frappe.rename_doc("Cost Center", docname, new_name, force=1, merge=merge)
return new_name return new_name
def validate_field_number(doctype_name, docname, number_value, company, field_name): def validate_field_number(doctype_name, docname, number_value, company, field_name):