Refactor Expense Claim (#12883)
* patch for custom workflow
* deleted field approval_status
* replaced approval_status with workflow_state
* updated test cases
* validation to check expense approver
* check if workflow_state_name already exists
* fixes
* modified notifications.py
* removed field exp_approval and modified test cases
diff --git a/erpnext/demo/user/hr.py b/erpnext/demo/user/hr.py
index d61aa4e..9b83584 100644
--- a/erpnext/demo/user/hr.py
+++ b/erpnext/demo/user/hr.py
@@ -7,7 +7,7 @@
from erpnext.projects.doctype.timesheet.timesheet import make_salary_slip, make_sales_invoice
from frappe.utils.make_random import get_random
from erpnext.hr.doctype.expense_claim.test_expense_claim import get_payable_account
-from erpnext.hr.doctype.expense_claim.expense_claim import get_expense_approver, make_bank_entry
+from erpnext.hr.doctype.expense_claim.expense_claim import make_bank_entry
from erpnext.hr.doctype.leave_application.leave_application import (get_leave_balance_on,
OverlapError, AttendanceAlreadyMarkedError)
@@ -55,13 +55,11 @@
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.exp_approver = filter((lambda x: x[0] != 'Administrator'), get_expense_approver(None, '', None, 0, 20, None))[0][0]
expense_claim.insert()
rand = random.random()
if rand < 0.4:
- expense_claim.approval_status = "Approved"
update_sanctioned_amount(expense_claim)
expense_claim.submit()
@@ -74,10 +72,6 @@
je.flags.ignore_permissions = 1
je.submit()
- elif rand < 0.2:
- expense_claim.approval_status = "Rejected"
- expense_claim.submit()
-
def get_expenses():
expenses = []
expese_types = frappe.db.sql("""select ect.name, eca.default_account from `tabExpense Claim Type` ect,