below is screenshot of leave workflow
if leave approver approved the leave application then it successfully save with status approved
but if it rejects then submit button comes and after submitting it throws error that
Only Leave Applications with status ‘Approved’ can be submitted
below is console log
Traceback (most recent call last):
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/app.py”, line 55, in application
response = frappe.handler.handle()
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/handler.py”, line 19, in handle
execute_cmd(cmd)
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/handler.py”, line 40, in execute_cmd
ret = frappe.call(method, **frappe.form_dict)
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/init.py”, line 898, in call
return fn(*args, **newargs)
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/desk/form/save.py”, line 19, in savedocs
doc.submit()
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/model/document.py”, line 725, in submit
self._submit()
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/model/document.py”, line 714, in _submit
self.save()
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/model/document.py”, line 223, in save
return self._save(*args, **kwargs)
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/model/document.py”, line 269, in save
self.run_post_save_methods()
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/model/document.py”, line 773, in run_post_save_methods
self.run_method(“on_submit”)
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/model/document.py”, line 651, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/model/document.py”, line 860, in composer
return composed(self, method, *args, **kwargs)
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/model/document.py”, line 843, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/model/document.py”, line 645, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/hardik/intranet/frappe-bench/apps/erpnext/erpnext/hr/doctype/leave_application/leave_application.py”, line 56, in on_submit
frappe.throw((“Only Leave Applications with status ‘Approved’ can be submitted”))
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/init.py”, line 310, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’)
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/init.py”, line 303, in msgprint
_raise_exception()
File “/home/hardik/intranet/frappe-bench/apps/frappe/frappe/init.py”, line 276, in _raise_exception
raise raise_exception, encode(msg)
ValidationError: Only Leave Applications with status ‘Approved’ can be submitted
have i made any mistake or these is behaviour as per workflow?