From 2949d1c355adc7c60cfef3973474d9241ae1352f Mon Sep 17 00:00:00 2001 From: marination Date: Tue, 29 Sep 2020 18:16:45 +0530 Subject: [PATCH 1/4] fix: Check only Read and Write Permission in Update Items --- erpnext/controllers/accounts_controller.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index f876774bfc3..ca62ec78cce 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -1195,11 +1195,11 @@ def update_child_qty_rate(parent_doctype, trans_items, parent_doctype_name, chil try: doc.check_permission(perm_type) except frappe.PermissionError: - actions = { 'create': 'add', 'write': 'update', 'cancel': 'remove' } + actions = { 'create': 'add', 'write': 'update'} frappe.throw(_("You do not have permissions to {} items in a {}.") .format(actions[perm_type], parent_doctype), title=_("Insufficient Permissions")) - + def validate_workflow_conditions(doc): workflow = get_workflow_name(doc.doctype) if not workflow: @@ -1237,8 +1237,8 @@ def update_child_qty_rate(parent_doctype, trans_items, parent_doctype_name, chil sales_doctypes = ['Sales Order', 'Sales Invoice', 'Delivery Note', 'Quotation'] parent = frappe.get_doc(parent_doctype, parent_doctype_name) - - check_doc_permissions(parent, 'cancel') + + check_doc_permissions(parent, 'write') validate_and_delete_children(parent, data) for d in data: From 374fa69c542cf05dd6037f6a4f4300f62694d620 Mon Sep 17 00:00:00 2001 From: marination Date: Tue, 29 Sep 2020 19:33:00 +0530 Subject: [PATCH 2/4] fix: Only validate group cost center if not from repost --- erpnext/accounts/doctype/gl_entry/gl_entry.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/accounts/doctype/gl_entry/gl_entry.py b/erpnext/accounts/doctype/gl_entry/gl_entry.py index cf1ad6eab6f..077a11a9be6 100644 --- a/erpnext/accounts/doctype/gl_entry/gl_entry.py +++ b/erpnext/accounts/doctype/gl_entry/gl_entry.py @@ -138,7 +138,7 @@ class GLEntry(Document): 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)) - if self.cost_center and _check_is_group(): + if not self.flags.from_repost and 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))) From 080ef5a2bc40134722409d29dd616beecaf2d685 Mon Sep 17 00:00:00 2001 From: Saurabh Date: Wed, 30 Sep 2020 18:11:37 +0530 Subject: [PATCH 3/4] fix: validate theme_scss attribute (#23466) --- erpnext/public/js/website_theme.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/public/js/website_theme.js b/erpnext/public/js/website_theme.js index 84de2f5b515..0009cacf61e 100644 --- a/erpnext/public/js/website_theme.js +++ b/erpnext/public/js/website_theme.js @@ -4,7 +4,7 @@ frappe.ui.form.on('Website Theme', { validate(frm) { let theme_scss = frm.doc.theme_scss; - if (theme_scss.includes('frappe/public/scss/website') + if (theme_scss && theme_scss.includes('frappe/public/scss/website') && !theme_scss.includes('erpnext/public/scss/website') ) { frm.set_value('theme_scss', From db4178b1e8aec1ed34a76b23aecd26472d05c246 Mon Sep 17 00:00:00 2001 From: Saurabh Date: Thu, 1 Oct 2020 13:14:23 +0550 Subject: [PATCH 4/4] bumped to version 12.12.1 --- erpnext/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/__init__.py b/erpnext/__init__.py index 58b449b1b52..69c3121653f 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -5,7 +5,7 @@ import frappe from erpnext.hooks import regional_overrides from frappe.utils import getdate -__version__ = '12.12.0' +__version__ = '12.12.1' def get_default_company(user=None): '''Get default company for user'''