Merge pull request #14510 from rohitwaghchaure/test_cases_for_material_consumption
[Fix] Travis for the test case test_material_consumption
diff --git a/erpnext/hr/doctype/department/department.json b/erpnext/hr/doctype/department/department.json
index 664679d..75f410f 100644
--- a/erpnext/hr/doctype/department/department.json
+++ b/erpnext/hr/doctype/department/department.json
@@ -3,7 +3,7 @@
"allow_guest_to_view": 0,
"allow_import": 1,
"allow_rename": 1,
- "autoname": "",
+ "autoname": "",
"beta": 0,
"creation": "2013-02-05 11:48:26",
"custom": 0,
@@ -14,6 +14,7 @@
"fields": [
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -46,6 +47,7 @@
},
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -78,6 +80,7 @@
},
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -110,6 +113,7 @@
},
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 1,
"collapsible": 0,
@@ -141,6 +145,7 @@
},
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -171,6 +176,7 @@
},
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -203,6 +209,7 @@
},
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -234,12 +241,13 @@
},
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"description": "The first Leave Approver in the list will be set as the default Leave Approver.",
- "fieldname": "leave_approver",
+ "fieldname": "leave_approvers",
"fieldtype": "Table",
"hidden": 0,
"ignore_user_permissions": 0,
@@ -267,6 +275,7 @@
},
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -298,12 +307,13 @@
},
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"description": "The first Expense Approver in the list will be set as the default Expense Approver.",
- "fieldname": "expense_approver",
+ "fieldname": "expense_approvers",
"fieldtype": "Table",
"hidden": 0,
"ignore_user_permissions": 0,
@@ -331,6 +341,7 @@
},
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -362,6 +373,7 @@
},
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -393,6 +405,7 @@
},
{
"allow_bulk_edit": 0,
+ "allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
@@ -434,7 +447,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2018-05-11 12:18:18.839182",
+ "modified": "2018-06-13 15:50:04.611365",
"modified_by": "Administrator",
"module": "HR",
"name": "Department",
diff --git a/erpnext/hr/doctype/department_approver/department_approver.py b/erpnext/hr/doctype/department_approver/department_approver.py
index d30d801..f8ed5f9 100644
--- a/erpnext/hr/doctype/department_approver/department_approver.py
+++ b/erpnext/hr/doctype/department_approver/department_approver.py
@@ -28,9 +28,9 @@
order by lft desc""", (department_details.lft, department_details.rgt), as_list = True)
if filters.get("doctype") == "Leave Application":
- parentfield = "leave_approver"
+ parentfield = "leave_approvers"
else:
- parentfield = "expense_approver"
+ parentfield = "expense_approvers"
if department_list:
for d in department_list:
approvers += frappe.db.sql("""select user.name, user.first_name, user.last_name from
diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py
index 7477829..d6d8b1c 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.py
+++ b/erpnext/hr/doctype/leave_application/leave_application.py
@@ -406,7 +406,7 @@
select employee, leave_type, from_date, to_date, total_leave_days
from `tabLeave Application`
where employee=%(employee)s and leave_type=%(leave_type)s
- and status = %(status)s
+ and status = %(status)s and docstatus != 2
and (from_date between %(from_date)s and %(to_date)s
or to_date between %(from_date)s and %(to_date)s
or (from_date < %(from_date)s and to_date > %(to_date)s))
@@ -617,4 +617,4 @@
if department:
return frappe.db.get_value('Department Approver', {'parent': department,
- 'parentfield': 'leave_approver', 'idx': 1}, 'approver')
+ 'parentfield': 'leave_approvers', 'idx': 1}, 'approver')
diff --git a/erpnext/hr/doctype/leave_application/test_leave_application.py b/erpnext/hr/doctype/leave_application/test_leave_application.py
index db46856..2016605 100644
--- a/erpnext/hr/doctype/leave_application/test_leave_application.py
+++ b/erpnext/hr/doctype/leave_application/test_leave_application.py
@@ -413,7 +413,7 @@
def set_leave_approver():
employee = get_employee()
dept_doc = frappe.get_doc("Department", employee.department)
- dept_doc.append('leave_approver', {
+ dept_doc.append('leave_approvers', {
'approver': 'test@example.com'
})
dept_doc.save(ignore_permissions=True)
diff --git a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
index a603015..7d80817 100644
--- a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
+++ b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
@@ -72,6 +72,6 @@
# retrieve approvers list from current department and from its subsequent child departments
for d in department_list:
approvers.extend([l.leave_approver for l in frappe.db.sql("""select approver from `tabDepartment Approver` \
- where parent = %s and parentfield = 'leave_approver'""", (d), as_dict=True)])
+ where parent = %s and parentfield = 'leave_approvers'""", (d), as_dict=True)])
return approvers
diff --git a/erpnext/hr/utils.py b/erpnext/hr/utils.py
index 9713f40..68ec8b0 100644
--- a/erpnext/hr/utils.py
+++ b/erpnext/hr/utils.py
@@ -4,7 +4,7 @@
from __future__ import unicode_literals
import frappe
from frappe import _
-from frappe.utils import formatdate, format_datetime, getdate, get_datetime, nowdate, flt
+from frappe.utils import formatdate, format_datetime, getdate, get_datetime, nowdate, flt, cstr
from frappe.model.document import Document
from frappe.desk.form import assign_to
from erpnext.hr.doctype.salary_structure.salary_structure import make_salary_slip
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index eb29528..33a7913 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -516,7 +516,7 @@
erpnext.patches.v11_0.add_index_on_nestedset_doctypes
erpnext.patches.v11_0.remove_modules_setup_page
erpnext.patches.v11_0.rename_employee_loan_to_loan
-erpnext.patches.v11_0.move_leave_approvers_from_employee
+erpnext.patches.v11_0.move_leave_approvers_from_employee #13-06-2018
erpnext.patches.v11_0.update_department_lft_rgt
erpnext.patches.v11_0.add_default_email_template_for_leave
erpnext.patches.v11_0.set_default_email_template_in_hr #08-06-2018
diff --git a/erpnext/patches/v11_0/move_leave_approvers_from_employee.py b/erpnext/patches/v11_0/move_leave_approvers_from_employee.py
index 2cd2362..af324f2 100644
--- a/erpnext/patches/v11_0/move_leave_approvers_from_employee.py
+++ b/erpnext/patches/v11_0/move_leave_approvers_from_employee.py
@@ -1,18 +1,30 @@
import frappe
from frappe import _
+from frappe.model.utils.rename_field import rename_field
def execute():
frappe.reload_doc("hr", "doctype", "department_approver")
frappe.reload_doc("hr", "doctype", "employee")
frappe.reload_doc("hr", "doctype", "department")
+ if frappe.db.has_column('Department', 'leave_approver'):
+ rename_field('Department', "leave_approver", "leave_approvers")
+
+ if frappe.db.has_column('Department', 'expense_approver'):
+ rename_field('Department', "expense_approver", "expense_approvers")
+
approvers = frappe.db.sql("""select distinct app.leave_approver, emp.department from
`tabEmployee Leave Approver` app, `tabEmployee` emp
where app.parenttype = 'Employee'
and emp.name = app.parent
""", as_dict=True)
+
for record in approvers:
if record.department:
- frappe.db.sql("""update `tabDepartment Approver` set parenttype = '{0}',
- parent = '{1}' and parentfield = 'leave_approver' where approver = '{2}'"""
- .format(_('Department'), record.department, record.leave_approver))
+ department = frappe.get_doc("Department", record.department)
+ if not department:
+ return
+ if not len(department.leave_approvers):
+ department.append("leave_approvers",{
+ "approver": record.leave_approver
+ }).db_insert()
\ No newline at end of file