setup leave & expense approver for each department
- assign approver in expense claim
diff --git a/erpnext/demo/user/hr.py b/erpnext/demo/user/hr.py
index db2d167..aace773 100644
--- a/erpnext/demo/user/hr.py
+++ b/erpnext/demo/user/hr.py
@@ -2,6 +2,7 @@
import frappe, erpnext
import random
import datetime
+from frappe import _
from frappe.utils import random_string, add_days, get_last_day, getdate
from erpnext.projects.doctype.timesheet.test_timesheet import make_timesheet
from erpnext.projects.doctype.timesheet.timesheet import make_salary_slip, make_sales_invoice
@@ -14,6 +15,7 @@
def work():
frappe.set_user(frappe.db.get_global('demo_hr_user'))
year, month = frappe.flags.current_date.strftime("%Y-%m").split("-")
+ setup_department_approvers()
mark_attendance()
make_leave_application()
@@ -51,12 +53,14 @@
expense_claim.company = frappe.flags.company
expense_claim.payable_account = get_payable_account(expense_claim.company)
expense_claim.posting_date = frappe.flags.current_date
- expense_claim.insert()
+ expense_claim.expense_approver = frappe.db.get_global('demo_hr_user')
+ expense_claim.save()
rand = random.random()
if rand < 0.4:
update_sanctioned_amount(expense_claim)
+ expense_claim.approval_status = 'Approved'
expense_claim.submit()
if random.randint(0, 1):
@@ -204,3 +208,11 @@
attendance.save()
attendance.submit()
frappe.db.commit()
+
+def setup_department_approvers():
+ for d in frappe.get_all('Department', filters={'department_name': ['!=', 'All Departments']}):
+ doc = frappe.get_doc('Department', d.name)
+ doc.append("leave_approvers", {'approver': frappe.session.user})
+ doc.append("expense_approvers", {'approver': frappe.session.user})
+ doc.flags.ignore_mandatory = True
+ doc.save()