Merge remote-tracking branch 'frappe/develop' into dev_hra
This commit is contained in:
commit
806cd93791
BIN
erpnext/docs/assets/img/setup/workflow-6.png
Normal file
BIN
erpnext/docs/assets/img/setup/workflow-6.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 174 KiB |
BIN
erpnext/docs/assets/img/setup/workflow-actions-email.png
Normal file
BIN
erpnext/docs/assets/img/setup/workflow-actions-email.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 132 KiB |
BIN
erpnext/docs/assets/img/setup/workflow-actions-list.png
Normal file
BIN
erpnext/docs/assets/img/setup/workflow-actions-list.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 124 KiB |
@ -32,7 +32,7 @@ The very first implementation of ERPNext was driven by a school teacher herself.
|
||||
<iframe src='https://www.youtube.com/embed/t8ZDDq4qtIk?end=52' frameborder='0' allowfullscreen>
|
||||
</iframe>
|
||||
</div>
|
||||
<div>
|
||||
</div>
|
||||
|
||||
### User Manual
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ The healthcare domain of ERPNext is a first domain to be competely contributed b
|
||||
<iframe src='https://www.youtube.com/embed/1n4_YqX8ArA' frameborder='0' allowfullscreen>
|
||||
</iframe>
|
||||
</div>
|
||||
<div>
|
||||
</div>
|
||||
|
||||
### User Manual
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ Check the following video to educate yourself on each feature in the non-profit
|
||||
<iframe src='https://www.youtube.com/embed/p3l0Kq-TU5Y' frameborder='0' allowfullscreen>
|
||||
</iframe>
|
||||
</div>
|
||||
<div>
|
||||
</div>
|
||||
|
||||
### User Manual
|
||||
|
||||
|
||||
@ -102,7 +102,7 @@ add value to the item) or for both.
|
||||
<div class="embed-container">
|
||||
<iframe src="https://www.youtube.com/embed/a8Eh4zLIrkU?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen>
|
||||
</iframe>
|
||||
<div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{next}
|
||||
|
||||
@ -42,6 +42,14 @@ submit button / option if you have not specified it in the workflow.
|
||||
> Note 4: If you wish to give the option to cancel, you will have to write a
|
||||
workflow transition step that says from submitted you can cancel.
|
||||
|
||||
|
||||
#### Enable/Disable Self approval
|
||||
|
||||
> New in Version 11
|
||||
|
||||
<img class="screenshot" alt="Workflow" src="{{docs_base_url}}/assets/img/setup/workflow-6.png">
|
||||
|
||||
|
||||
#### Conditions
|
||||
|
||||
> New in Version 11
|
||||
@ -71,6 +79,22 @@ When the Leave Approver opens the Leave Application page, he can finally "Approv
|
||||
|
||||
<img class="screenshot" alt="Workflow" src="{{docs_base_url}}/assets/img/setup/workflow-5.png">
|
||||
|
||||
#### Workflow Actions
|
||||
|
||||
> New in Version 11
|
||||
|
||||
Workflow Actions is a single place to manage all the pending actions you can take on Workflows.
|
||||
|
||||
If a User is eligible to take action on some workflows, emails will be sent to the user, with the relevant document as attachment, from where the user can `Approve` or `Reject` the Workflow.
|
||||
<img class="screenshot" alt="Workflow" src="{{docs_base_url}}/assets/img/setup/workflow-actions-email.png">
|
||||
|
||||
Also the users will see entries in their Workflow Action list.
|
||||
<img class="screenshot" alt="Workflow" src="{{docs_base_url}}/assets/img/setup/workflow-actions-list.png">
|
||||
|
||||
**Note:** You can set email template for Workflow Actions on each state.
|
||||
The template might consist message for users to proceed with the next Workflow Actions
|
||||
|
||||
|
||||
### Video Tutorial:
|
||||
|
||||
<div>
|
||||
@ -81,3 +105,4 @@ When the Leave Approver opens the Leave Application page, he can finally "Approv
|
||||
</div>
|
||||
|
||||
{next}
|
||||
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe import _
|
||||
from frappe.utils.nestedset import NestedSet, get_root_of
|
||||
from erpnext.utilities.transaction_base import delete_events
|
||||
from frappe.model.document import Document
|
||||
@ -12,7 +11,8 @@ class Department(NestedSet):
|
||||
nsm_parent_field = 'parent_department'
|
||||
|
||||
def autoname(self):
|
||||
if self.department_name != get_root_of("Department"):
|
||||
root = get_root_of("Department")
|
||||
if root and self.department_name != root:
|
||||
abbr = frappe.db.get_value('Company', self.company, 'abbr')
|
||||
self.name = '{0} - {1}'.format(self.department_name, abbr)
|
||||
else:
|
||||
|
||||
@ -184,7 +184,7 @@ class PayrollEntry(Document):
|
||||
Get loan details from submitted salary slip based on selected criteria
|
||||
"""
|
||||
cond = self.get_filter_condition()
|
||||
return frappe.db.sql(""" select eld.loan_account, eld.loan
|
||||
return frappe.db.sql(""" select eld.loan_account, eld.loan,
|
||||
eld.interest_income_account, eld.principal_amount, eld.interest_amount, eld.total_payment
|
||||
from
|
||||
`tabSalary Slip` t1, `tabSalary Slip Loan` eld
|
||||
|
||||
@ -25,13 +25,11 @@ def build_tree():
|
||||
where is_group = 0""".format(_('All Supplier Groups')))
|
||||
|
||||
if not frappe.db.exists("Supplier Group", _('All Supplier Groups')):
|
||||
supplier_group = frappe.get_doc({
|
||||
frappe.get_doc({
|
||||
'doctype': 'Supplier Group',
|
||||
'supplier_group_name': _('All Supplier Groups'),
|
||||
'is_group': 1,
|
||||
'parent_supplier_group': ''
|
||||
})
|
||||
supplier_group.flags.ignore_validate=True
|
||||
supplier_group.insert(ignore_permissions=True)
|
||||
}).insert(ignore_permissions=True)
|
||||
|
||||
rebuild_tree("Supplier Group", "parent_supplier_group")
|
||||
|
||||
@ -5,15 +5,12 @@ from frappe.utils.nestedset import rebuild_tree
|
||||
def execute():
|
||||
""" assign lft and rgt appropriately """
|
||||
frappe.reload_doc("hr", "doctype", "department")
|
||||
|
||||
if not frappe.db.exists("Department", _('All Departments')):
|
||||
dept = frappe.get_doc({
|
||||
frappe.get_doc({
|
||||
'doctype': 'Department',
|
||||
'department_name': _('All Departments'),
|
||||
'is_group': 1
|
||||
})
|
||||
dept.flags.ignore_validate=True
|
||||
dept.insert(ignore_permissions=True)
|
||||
}).insert(ignore_permissions=True)
|
||||
|
||||
frappe.db.sql("""update `tabDepartment` set parent_department = '{0}'
|
||||
where is_group = 0""".format(_('All Departments')))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user