Fixes related to department tree
This commit is contained in:
parent
d3a8c9308b
commit
3aa205f19d
@ -4,7 +4,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import frappe
|
import frappe
|
||||||
from frappe import _
|
from frappe import _
|
||||||
from frappe.utils.nestedset import NestedSet
|
from frappe.utils.nestedset import NestedSet, get_root_of
|
||||||
from erpnext.utilities.transaction_base import delete_events
|
from erpnext.utilities.transaction_base import delete_events
|
||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
|
|
||||||
@ -12,16 +12,17 @@ class Department(NestedSet):
|
|||||||
nsm_parent_field = 'parent_department'
|
nsm_parent_field = 'parent_department'
|
||||||
|
|
||||||
def autoname(self):
|
def autoname(self):
|
||||||
if not self.department_name==_("All Departments"):
|
if self.department_name != get_root_of("Department"):
|
||||||
abbr = frappe.db.get_value('Company', self.company, 'abbr')
|
abbr = frappe.db.get_value('Company', self.company, 'abbr')
|
||||||
self.name = '{0} - {1}'.format(self.department_name, abbr)
|
self.name = '{0} - {1}'.format(self.department_name, abbr)
|
||||||
else:
|
else:
|
||||||
self.name = self.department_name
|
self.name = self.department_name
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
if not self.parent_department and self.department_name != _("All Departments") \
|
if not self.parent_department:
|
||||||
and frappe.db.exists("Department", _("All Departments")):
|
root = get_root_of("Department")
|
||||||
self.parent_department = _("All Departments")
|
if root:
|
||||||
|
self.parent_department = root
|
||||||
|
|
||||||
def update_nsm_model(self):
|
def update_nsm_model(self):
|
||||||
frappe.utils.nestedset.update_nsm(self)
|
frappe.utils.nestedset.update_nsm(self)
|
||||||
@ -40,7 +41,7 @@ def on_doctype_update():
|
|||||||
def get_children(doctype, parent=None, company=None, is_root=False):
|
def get_children(doctype, parent=None, company=None, is_root=False):
|
||||||
condition = ''
|
condition = ''
|
||||||
if company == parent:
|
if company == parent:
|
||||||
condition = 'name="All Departments"'
|
condition = "name='%s'".format(get_root_of("Department"))
|
||||||
elif company:
|
elif company:
|
||||||
condition = "parent_department='{0}' and company='{1}'".format(parent, company)
|
condition = "parent_department='{0}' and company='{1}'".format(parent, company)
|
||||||
else:
|
else:
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import frappe
|
import frappe
|
||||||
|
from frappe import _
|
||||||
from frappe.utils.nestedset import rebuild_tree
|
from frappe.utils.nestedset import rebuild_tree
|
||||||
|
|
||||||
def execute():
|
def execute():
|
||||||
@ -15,7 +16,7 @@ def execute():
|
|||||||
|
|
||||||
for department in departments:
|
for department in departments:
|
||||||
# skip root node
|
# skip root node
|
||||||
if department.name == "All Departments":
|
if department.name == _("All Departments"):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# for each company, create a copy of the doc
|
# for each company, create a copy of the doc
|
||||||
|
@ -7,11 +7,13 @@ def execute():
|
|||||||
frappe.reload_doc("hr", "doctype", "department")
|
frappe.reload_doc("hr", "doctype", "department")
|
||||||
|
|
||||||
if not frappe.db.exists("Department", _('All Departments')):
|
if not frappe.db.exists("Department", _('All Departments')):
|
||||||
frappe.get_doc({
|
dept = frappe.get_doc({
|
||||||
'doctype': 'Department',
|
'doctype': 'Department',
|
||||||
'department_name': _('All Departments'),
|
'department_name': _('All Departments'),
|
||||||
'is_group': 1
|
'is_group': 1
|
||||||
}).insert(ignore_permissions=True)
|
})
|
||||||
|
dept.flags.ignore_validate=True
|
||||||
|
dept.insert(ignore_permissions=True)
|
||||||
|
|
||||||
frappe.db.sql("""update `tabDepartment` set parent_department = '{0}'
|
frappe.db.sql("""update `tabDepartment` set parent_department = '{0}'
|
||||||
where is_group = 0""".format(_('All Departments')))
|
where is_group = 0""".format(_('All Departments')))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user