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

@ -2,13 +2,13 @@
The Student Attendance tool allow you to bulk update the attendance for students based on **Student Group and Course Schedule**.
To mark the **Attedance* based on Student Group select the group based on
To mark the **Attedance* based on Student Group select the group based on
**1. Batch
2. Course
3. Activity **
Student detials will be autofetched and you can mark the attendance of the given date.
Student detials will be autofetched and you can mark the attendance of the given date.
<img class="screenshot" alt="Student Attendance" src="{{docs_base_url}}/assets/img/education/setup/student-attendance-tool.gif">

View File

@ -1,7 +1,7 @@
<!-- add-breadcrumbs -->
# ERPNext for Education
The Education domain in ERPNext is designed to meet requirements of any organization which imparts knowledge and believe in doing it in an organized fashion. It has already been used at the schools, colleges and even at the private firms.
The Education domain in ERPNext is designed to meet requirements of any organization which imparts knowledge and believe in doing it in an organized fashion. It has already been used at the schools, colleges and even at the private firms.
It helps you effectively manage administrative side and allows you to focus on what is most important for your institute, **to educate!**
@ -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')))