ignore permissions while creating records from charts builder portal
This commit is contained in:
@@ -6,7 +6,7 @@ import frappe, os, json
|
|||||||
from frappe.utils import cstr
|
from frappe.utils import cstr
|
||||||
from unidecode import unidecode
|
from unidecode import unidecode
|
||||||
|
|
||||||
def create_charts(chart_name, company):
|
def create_charts(chart_name, company, ignore_permissions=False):
|
||||||
chart = get_chart(chart_name)
|
chart = get_chart(chart_name)
|
||||||
|
|
||||||
if chart:
|
if chart:
|
||||||
@@ -44,6 +44,8 @@ def create_charts(chart_name, company):
|
|||||||
if root_account or frappe.local.flags.allow_unverified_charts:
|
if root_account or frappe.local.flags.allow_unverified_charts:
|
||||||
account.flags.ignore_mandatory = True
|
account.flags.ignore_mandatory = True
|
||||||
|
|
||||||
|
account.flags.ignore_permissions = ignore_permissions
|
||||||
|
|
||||||
account.insert()
|
account.insert()
|
||||||
|
|
||||||
accounts.append(account_name_in_db)
|
accounts.append(account_name_in_db)
|
||||||
|
|||||||
@@ -131,12 +131,18 @@ def add_ac(args=None):
|
|||||||
args.pop("cmd")
|
args.pop("cmd")
|
||||||
|
|
||||||
ac = frappe.new_doc("Account")
|
ac = frappe.new_doc("Account")
|
||||||
|
|
||||||
|
if args.get("ignore_permissions"):
|
||||||
|
ac.flags.ignore_permissions = True
|
||||||
|
args.pop("ignore_permissions")
|
||||||
|
|
||||||
ac.update(args)
|
ac.update(args)
|
||||||
ac.old_parent = ""
|
ac.old_parent = ""
|
||||||
ac.freeze_account = "No"
|
ac.freeze_account = "No"
|
||||||
if cint(ac.get("is_root")):
|
if cint(ac.get("is_root")):
|
||||||
ac.parent_account = None
|
ac.parent_account = None
|
||||||
ac.flags.ignore_mandatory = True
|
ac.flags.ignore_mandatory = True
|
||||||
|
|
||||||
ac.insert()
|
ac.insert()
|
||||||
|
|
||||||
return ac.name
|
return ac.name
|
||||||
|
|||||||
@@ -92,19 +92,21 @@ class Company(Document):
|
|||||||
stock_group = frappe.db.get_value("Account", {"account_type": "Stock",
|
stock_group = frappe.db.get_value("Account", {"account_type": "Stock",
|
||||||
"is_group": 1, "company": self.name})
|
"is_group": 1, "company": self.name})
|
||||||
if stock_group:
|
if stock_group:
|
||||||
frappe.get_doc({
|
warehouse = frappe.get_doc({
|
||||||
"doctype":"Warehouse",
|
"doctype":"Warehouse",
|
||||||
"warehouse_name": whname,
|
"warehouse_name": whname,
|
||||||
"company": self.name,
|
"company": self.name,
|
||||||
"create_account_under": stock_group
|
"create_account_under": stock_group
|
||||||
}).insert()
|
})
|
||||||
|
warehouse.flags.ignore_permissions = self.flags.ignore_permissions
|
||||||
|
warehouse.insert()
|
||||||
|
|
||||||
def create_default_accounts(self):
|
def create_default_accounts(self):
|
||||||
if not self.chart_of_accounts:
|
if not self.chart_of_accounts:
|
||||||
self.chart_of_accounts = "Standard"
|
self.chart_of_accounts = "Standard"
|
||||||
|
|
||||||
from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import create_charts
|
from erpnext.accounts.doctype.account.chart_of_accounts.chart_of_accounts import create_charts
|
||||||
create_charts(self.chart_of_accounts, self.name)
|
create_charts(self.chart_of_accounts, self.name, self.flags.ignore_permissions)
|
||||||
|
|
||||||
frappe.db.set(self, "default_receivable_account", frappe.db.get_value("Account",
|
frappe.db.set(self, "default_receivable_account", frappe.db.get_value("Account",
|
||||||
{"company": self.name, "account_type": "Receivable"}))
|
{"company": self.name, "account_type": "Receivable"}))
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ def install(company):
|
|||||||
|
|
||||||
for d in docs:
|
for d in docs:
|
||||||
try:
|
try:
|
||||||
frappe.get_doc(d).insert()
|
doc = frappe.get_doc(d)
|
||||||
|
doc.flags.ignore_permissions = True
|
||||||
|
doc.insert()
|
||||||
except frappe.NameError:
|
except frappe.NameError:
|
||||||
pass
|
pass
|
||||||
|
|||||||
Reference in New Issue
Block a user