Merge remote-tracking branch 'frappe/develop' into dev_hra

This commit is contained in:
Ranjith 2018-05-30 13:37:47 +05:30
commit 806cd93791
13 changed files with 39 additions and 19 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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}

View File

@ -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}

View File

@ -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:

View File

@ -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

View File

@ -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")

View File

@ -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')))