mirror of
https://github.com/frappe/erpnext.git
synced 2026-09-18 19:07:55 +00:00
Permission relogication continued
This commit is contained in:
@@ -196,7 +196,7 @@
|
||||
"icon": "icon-thumbs-up",
|
||||
"idx": 1,
|
||||
"is_submittable": 1,
|
||||
"modified": "2014-05-26 03:05:46.761819",
|
||||
"modified": "2014-05-27 03:49:07.393120",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Appraisal",
|
||||
@@ -232,6 +232,7 @@
|
||||
},
|
||||
{
|
||||
"amend": 1,
|
||||
"apply_user_permissions": 1,
|
||||
"cancel": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"allow_import": 1,
|
||||
"autoname": "field:kra_title",
|
||||
"creation": "2012-07-03 13:30:39.000000",
|
||||
"creation": "2012-07-03 13:30:39",
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
"document_type": "Master",
|
||||
@@ -9,6 +9,7 @@
|
||||
{
|
||||
"fieldname": "kra_title",
|
||||
"fieldtype": "Data",
|
||||
"in_list_view": 1,
|
||||
"label": "Appraisal Template Title",
|
||||
"oldfieldname": "kra_title",
|
||||
"oldfieldtype": "Data",
|
||||
@@ -18,6 +19,7 @@
|
||||
{
|
||||
"fieldname": "description",
|
||||
"fieldtype": "Small Text",
|
||||
"in_list_view": 1,
|
||||
"label": "Description",
|
||||
"oldfieldname": "description",
|
||||
"oldfieldtype": "Small Text",
|
||||
@@ -37,19 +39,21 @@
|
||||
{
|
||||
"fieldname": "total_points",
|
||||
"fieldtype": "Int",
|
||||
"in_list_view": 1,
|
||||
"label": "Total Points",
|
||||
"permlevel": 0
|
||||
}
|
||||
],
|
||||
"icon": "icon-file-text",
|
||||
"idx": 1,
|
||||
"modified": "2013-12-20 19:23:55.000000",
|
||||
"modified": "2014-05-27 03:49:07.533203",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Appraisal Template",
|
||||
"owner": "ashwini@webnotestech.com",
|
||||
"permissions": [
|
||||
{
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"email": 1,
|
||||
"permlevel": 0,
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
"icon": "icon-ok",
|
||||
"idx": 1,
|
||||
"is_submittable": 1,
|
||||
"modified": "2014-05-26 03:05:46.906637",
|
||||
"modified": "2014-05-27 03:49:07.580876",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Attendance",
|
||||
@@ -149,6 +149,7 @@
|
||||
"write": 1
|
||||
},
|
||||
{
|
||||
"apply_user_permissions": 1,
|
||||
"cancel": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
|
||||
@@ -20,14 +20,14 @@
|
||||
],
|
||||
"icon": "icon-code-fork",
|
||||
"idx": 1,
|
||||
"modified": "2014-05-07 06:39:31.752490",
|
||||
"modified": "2014-05-27 03:49:08.179137",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Branch",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"cancel": 0,
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
@@ -40,7 +40,6 @@
|
||||
"write": 1
|
||||
},
|
||||
{
|
||||
"cancel": 0,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
|
||||
@@ -30,14 +30,14 @@
|
||||
],
|
||||
"icon": "icon-flag",
|
||||
"idx": 1,
|
||||
"modified": "2014-05-07 06:39:38.154345",
|
||||
"modified": "2014-05-27 03:49:09.624972",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Deduction Type",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"cancel": 0,
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
|
||||
@@ -29,14 +29,14 @@
|
||||
],
|
||||
"icon": "icon-sitemap",
|
||||
"idx": 1,
|
||||
"modified": "2014-05-07 06:39:39.931091",
|
||||
"modified": "2014-05-27 03:49:10.061057",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Department",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"cancel": 0,
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
|
||||
@@ -20,14 +20,14 @@
|
||||
],
|
||||
"icon": "icon-bookmark",
|
||||
"idx": 1,
|
||||
"modified": "2014-05-07 06:39:38.265440",
|
||||
"modified": "2014-05-27 03:49:10.099099",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Designation",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"cancel": 0,
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
|
||||
@@ -53,14 +53,14 @@
|
||||
],
|
||||
"icon": "icon-flag",
|
||||
"idx": 1,
|
||||
"modified": "2014-05-07 06:39:38.414922",
|
||||
"modified": "2014-05-27 03:49:10.133416",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Earning Type",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"cancel": 0,
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,6 @@ from frappe.utils import getdate, validate_email_add, cint
|
||||
from frappe.model.naming import make_autoname
|
||||
from frappe import throw, _
|
||||
import frappe.permissions
|
||||
from frappe.defaults import get_user_permissions
|
||||
from frappe.model.document import Document
|
||||
from frappe.model.mapper import get_mapped_doc
|
||||
|
||||
@@ -45,36 +44,24 @@ class Employee(Document):
|
||||
|
||||
def on_update(self):
|
||||
if self.user_id:
|
||||
self.update_user_default()
|
||||
self.update_user()
|
||||
self.update_user_permissions()
|
||||
|
||||
self.update_dob_event()
|
||||
self.restrict_leave_approver()
|
||||
self.update_leave_approver_user_permissions()
|
||||
|
||||
def restrict_user(self):
|
||||
"""restrict to this employee for user"""
|
||||
self.add_restriction_if_required("Employee", self.user_id)
|
||||
def update_user_permissions(self):
|
||||
frappe.permissions.add_user_permission("Employee", self.name, self.user_id)
|
||||
frappe.permissions.set_user_permission_if_allowed("Company", self.company, self.user_id)
|
||||
|
||||
def update_user_default(self):
|
||||
self.restrict_user()
|
||||
frappe.db.set_default("employee_name", self.employee_name, self.user_id)
|
||||
frappe.db.set_default("company", self.company, self.user_id)
|
||||
|
||||
def restrict_leave_approver(self):
|
||||
def update_leave_approver_user_permissions(self):
|
||||
"""restrict to this employee for leave approver"""
|
||||
employee_leave_approvers = [d.leave_approver for d in self.get("employee_leave_approvers")]
|
||||
if self.reports_to and self.reports_to not in employee_leave_approvers:
|
||||
employee_leave_approvers.append(frappe.db.get_value("Employee", self.reports_to, "user_id"))
|
||||
|
||||
for user in employee_leave_approvers:
|
||||
self.add_restriction_if_required("Employee", user)
|
||||
self.add_restriction_if_required("Leave Application", user)
|
||||
|
||||
def add_restriction_if_required(self, doctype, user):
|
||||
if frappe.permissions.has_only_non_restrict_role(doctype, user) \
|
||||
and self.name not in get_user_permissions(user).get("Employee", []):
|
||||
|
||||
frappe.defaults.add_default("Employee", self.name, user, "User Permission")
|
||||
frappe.permissions.add_user_permission("Employee", self.name, user)
|
||||
|
||||
def update_user(self):
|
||||
# add employee role if missing
|
||||
@@ -85,7 +72,7 @@ class Employee(Document):
|
||||
user.add_roles("Employee")
|
||||
|
||||
# copy details like Fullname, DOB and Image to User
|
||||
if self.employee_name:
|
||||
if self.employee_name and not (user.first_name and user.last_name):
|
||||
employee_name = self.employee_name.split(" ")
|
||||
if len(employee_name) >= 3:
|
||||
user.last_name = " ".join(employee_name[2:])
|
||||
@@ -111,7 +98,7 @@ class Employee(Document):
|
||||
"attached_to_doctype": "User",
|
||||
"attached_to_name": self.user_id
|
||||
}).insert()
|
||||
except frappe.DuplicateEntryError, e:
|
||||
except frappe.DuplicateEntryError:
|
||||
# already exists
|
||||
pass
|
||||
|
||||
@@ -217,10 +204,13 @@ def make_salary_structure(source_name, target=None):
|
||||
target.make_earn_ded_table()
|
||||
return target
|
||||
|
||||
def update_user_default(doc, method):
|
||||
def update_user_permissions(doc, method):
|
||||
# called via User hook
|
||||
try:
|
||||
employee = frappe.get_doc("Employee", {"user_id": doc.name})
|
||||
employee.update_user_default()
|
||||
except frappe.DoesNotExistError:
|
||||
pass
|
||||
|
||||
if "Employee" in [d.role for d in doc.get("user_roles")]:
|
||||
try:
|
||||
employee = frappe.get_doc("Employee", {"user_id": doc.name})
|
||||
employee.update_user_permissions()
|
||||
except frappe.DoesNotExistError:
|
||||
frappe.msgprint("Please set User ID field in an Employee record to set Employee Role")
|
||||
doc.get("user_roles").remove(doc.get("user_roles", {"role": "Employee"})[0])
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
],
|
||||
"icon": "icon-flag",
|
||||
"idx": 1,
|
||||
"modified": "2014-05-07 06:39:38.630562",
|
||||
"modified": "2014-05-27 03:49:10.551828",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Employment Type",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"cancel": 0,
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
@@ -39,7 +39,6 @@
|
||||
"write": 1
|
||||
},
|
||||
{
|
||||
"cancel": 0,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
|
||||
@@ -187,7 +187,7 @@
|
||||
"icon": "icon-money",
|
||||
"idx": 1,
|
||||
"is_submittable": 1,
|
||||
"modified": "2014-05-26 03:05:48.690180",
|
||||
"modified": "2014-05-27 03:49:10.736177",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Expense Claim",
|
||||
@@ -207,6 +207,7 @@
|
||||
},
|
||||
{
|
||||
"amend": 1,
|
||||
"apply_user_permissions": 1,
|
||||
"cancel": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
@@ -221,6 +222,7 @@
|
||||
},
|
||||
{
|
||||
"amend": 1,
|
||||
"apply_user_permissions": 1,
|
||||
"cancel": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"allow_attach": 1,
|
||||
"autoname": "field:applicant_name",
|
||||
"creation": "2013-01-29 19:25:37.000000",
|
||||
"creation": "2013-01-29 19:25:37",
|
||||
"description": "Applicant for a Job",
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
@@ -66,14 +66,14 @@
|
||||
],
|
||||
"icon": "icon-user",
|
||||
"idx": 1,
|
||||
"modified": "2014-01-20 17:48:50.000000",
|
||||
"modified": "2014-05-27 03:49:12.168814",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Job Applicant",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"cancel": 1,
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"autoname": "field:job_title",
|
||||
"creation": "2013-01-15 16:13:36.000000",
|
||||
"creation": "2013-01-15 16:13:36",
|
||||
"description": "Description of a Job Opening",
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
@@ -9,6 +9,7 @@
|
||||
{
|
||||
"fieldname": "job_title",
|
||||
"fieldtype": "Data",
|
||||
"in_list_view": 1,
|
||||
"label": "Job Title",
|
||||
"permlevel": 0,
|
||||
"reqd": 1
|
||||
@@ -16,6 +17,7 @@
|
||||
{
|
||||
"fieldname": "status",
|
||||
"fieldtype": "Select",
|
||||
"in_list_view": 1,
|
||||
"label": "Status",
|
||||
"options": "Open\nClosed",
|
||||
"permlevel": 0
|
||||
@@ -24,20 +26,21 @@
|
||||
"description": "Job profile, qualifications required etc.",
|
||||
"fieldname": "description",
|
||||
"fieldtype": "Text Editor",
|
||||
"in_list_view": 1,
|
||||
"label": "Description",
|
||||
"permlevel": 0
|
||||
}
|
||||
],
|
||||
"icon": "icon-bookmark",
|
||||
"idx": 1,
|
||||
"modified": "2014-01-20 17:48:51.000000",
|
||||
"modified": "2014-05-27 03:49:12.248194",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Job Opening",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"cancel": 1,
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
"icon": "icon-ok",
|
||||
"idx": 1,
|
||||
"is_submittable": 1,
|
||||
"modified": "2014-05-26 03:05:49.674303",
|
||||
"modified": "2014-05-27 03:49:12.744348",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Leave Allocation",
|
||||
|
||||
@@ -1,269 +1,272 @@
|
||||
{
|
||||
"allow_attach": 1,
|
||||
"autoname": "LAP/.#####",
|
||||
"creation": "2013-02-20 11:18:11",
|
||||
"description": "Apply / Approve Leaves",
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
"document_type": "Transaction",
|
||||
"allow_attach": 1,
|
||||
"autoname": "LAP/.#####",
|
||||
"creation": "2013-02-20 11:18:11",
|
||||
"description": "Apply / Approve Leaves",
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
"document_type": "Transaction",
|
||||
"fields": [
|
||||
{
|
||||
"default": "Open",
|
||||
"fieldname": "status",
|
||||
"fieldtype": "Select",
|
||||
"in_list_view": 1,
|
||||
"label": "Status",
|
||||
"no_copy": 1,
|
||||
"options": "Open\nApproved\nRejected",
|
||||
"default": "Open",
|
||||
"fieldname": "status",
|
||||
"fieldtype": "Select",
|
||||
"in_list_view": 1,
|
||||
"label": "Status",
|
||||
"no_copy": 1,
|
||||
"options": "Open\nApproved\nRejected",
|
||||
"permlevel": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"description": "Leave can be approved by users with Role, \"Leave Approver\"",
|
||||
"fieldname": "leave_approver",
|
||||
"fieldtype": "Select",
|
||||
"label": "Leave Approver",
|
||||
"options": "[Select]",
|
||||
"description": "Leave can be approved by users with Role, \"Leave Approver\"",
|
||||
"fieldname": "leave_approver",
|
||||
"fieldtype": "Select",
|
||||
"label": "Leave Approver",
|
||||
"options": "[Select]",
|
||||
"permlevel": 0
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "leave_type",
|
||||
"fieldtype": "Link",
|
||||
"in_filter": 1,
|
||||
"in_list_view": 1,
|
||||
"label": "Leave Type",
|
||||
"options": "Leave Type",
|
||||
"permlevel": 0,
|
||||
"reqd": 1,
|
||||
"fieldname": "leave_type",
|
||||
"fieldtype": "Link",
|
||||
"in_filter": 1,
|
||||
"in_list_view": 1,
|
||||
"label": "Leave Type",
|
||||
"options": "Leave Type",
|
||||
"permlevel": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "from_date",
|
||||
"fieldtype": "Date",
|
||||
"in_list_view": 1,
|
||||
"label": "From Date",
|
||||
"permlevel": 0,
|
||||
"reqd": 1,
|
||||
"fieldname": "from_date",
|
||||
"fieldtype": "Date",
|
||||
"in_list_view": 1,
|
||||
"label": "From Date",
|
||||
"permlevel": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "to_date",
|
||||
"fieldtype": "Date",
|
||||
"in_list_view": 0,
|
||||
"label": "To Date",
|
||||
"permlevel": 0,
|
||||
"reqd": 1,
|
||||
"fieldname": "to_date",
|
||||
"fieldtype": "Date",
|
||||
"in_list_view": 0,
|
||||
"label": "To Date",
|
||||
"permlevel": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "half_day",
|
||||
"fieldtype": "Check",
|
||||
"label": "Half Day",
|
||||
"fieldname": "half_day",
|
||||
"fieldtype": "Check",
|
||||
"label": "Half Day",
|
||||
"permlevel": 0
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break1",
|
||||
"fieldtype": "Column Break",
|
||||
"permlevel": 0,
|
||||
"print_width": "50%",
|
||||
"fieldname": "column_break1",
|
||||
"fieldtype": "Column Break",
|
||||
"permlevel": 0,
|
||||
"print_width": "50%",
|
||||
"width": "50%"
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "description",
|
||||
"fieldtype": "Small Text",
|
||||
"label": "Reason",
|
||||
"fieldname": "description",
|
||||
"fieldtype": "Small Text",
|
||||
"label": "Reason",
|
||||
"permlevel": 0
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "employee",
|
||||
"fieldtype": "Link",
|
||||
"in_filter": 1,
|
||||
"label": "Employee",
|
||||
"options": "Employee",
|
||||
"permlevel": 0,
|
||||
"reqd": 1,
|
||||
"fieldname": "employee",
|
||||
"fieldtype": "Link",
|
||||
"in_filter": 1,
|
||||
"label": "Employee",
|
||||
"options": "Employee",
|
||||
"permlevel": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "employee_name",
|
||||
"fieldtype": "Data",
|
||||
"in_filter": 1,
|
||||
"in_list_view": 1,
|
||||
"label": "Employee Name",
|
||||
"permlevel": 0,
|
||||
"read_only": 1,
|
||||
"fieldname": "employee_name",
|
||||
"fieldtype": "Data",
|
||||
"in_filter": 1,
|
||||
"in_list_view": 1,
|
||||
"label": "Employee Name",
|
||||
"permlevel": 0,
|
||||
"read_only": 1,
|
||||
"search_index": 0
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "leave_balance",
|
||||
"fieldtype": "Float",
|
||||
"label": "Leave Balance Before Application",
|
||||
"no_copy": 1,
|
||||
"permlevel": 0,
|
||||
"fieldname": "leave_balance",
|
||||
"fieldtype": "Float",
|
||||
"label": "Leave Balance Before Application",
|
||||
"no_copy": 1,
|
||||
"permlevel": 0,
|
||||
"read_only": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "total_leave_days",
|
||||
"fieldtype": "Float",
|
||||
"label": "Total Leave Days",
|
||||
"no_copy": 1,
|
||||
"permlevel": 0,
|
||||
"fieldname": "total_leave_days",
|
||||
"fieldtype": "Float",
|
||||
"label": "Total Leave Days",
|
||||
"no_copy": 1,
|
||||
"permlevel": 0,
|
||||
"read_only": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "sb10",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "More Info",
|
||||
"fieldname": "sb10",
|
||||
"fieldtype": "Section Break",
|
||||
"label": "More Info",
|
||||
"permlevel": 0
|
||||
},
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 1,
|
||||
"default": "1",
|
||||
"fieldname": "follow_via_email",
|
||||
"fieldtype": "Check",
|
||||
"label": "Follow via Email",
|
||||
"permlevel": 0,
|
||||
"allow_on_submit": 1,
|
||||
"default": "1",
|
||||
"fieldname": "follow_via_email",
|
||||
"fieldtype": "Check",
|
||||
"label": "Follow via Email",
|
||||
"permlevel": 0,
|
||||
"print_hide": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"default": "Today",
|
||||
"fieldname": "posting_date",
|
||||
"fieldtype": "Date",
|
||||
"label": "Posting Date",
|
||||
"no_copy": 1,
|
||||
"permlevel": 0,
|
||||
"default": "Today",
|
||||
"fieldname": "posting_date",
|
||||
"fieldtype": "Date",
|
||||
"label": "Posting Date",
|
||||
"no_copy": 1,
|
||||
"permlevel": 0,
|
||||
"reqd": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "fiscal_year",
|
||||
"fieldtype": "Link",
|
||||
"in_filter": 1,
|
||||
"label": "Fiscal Year",
|
||||
"options": "Fiscal Year",
|
||||
"permlevel": 0,
|
||||
"read_only": 0,
|
||||
"reqd": 1,
|
||||
"fieldname": "fiscal_year",
|
||||
"fieldtype": "Link",
|
||||
"in_filter": 1,
|
||||
"label": "Fiscal Year",
|
||||
"options": "Fiscal Year",
|
||||
"permlevel": 0,
|
||||
"read_only": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 0
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_17",
|
||||
"fieldtype": "Column Break",
|
||||
"fieldname": "column_break_17",
|
||||
"fieldtype": "Column Break",
|
||||
"permlevel": 0
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "company",
|
||||
"fieldtype": "Link",
|
||||
"label": "Company",
|
||||
"options": "Company",
|
||||
"permlevel": 0,
|
||||
"fieldname": "company",
|
||||
"fieldtype": "Link",
|
||||
"label": "Company",
|
||||
"options": "Company",
|
||||
"permlevel": 0,
|
||||
"reqd": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "letter_head",
|
||||
"fieldtype": "Link",
|
||||
"label": "Letter Head",
|
||||
"options": "Letter Head",
|
||||
"permlevel": 0,
|
||||
"print_hide": 1,
|
||||
"fieldname": "letter_head",
|
||||
"fieldtype": "Link",
|
||||
"label": "Letter Head",
|
||||
"options": "Letter Head",
|
||||
"permlevel": 0,
|
||||
"print_hide": 1,
|
||||
"read_only": 0
|
||||
},
|
||||
},
|
||||
{
|
||||
"fieldname": "amended_from",
|
||||
"fieldtype": "Link",
|
||||
"ignore_user_permissions": 1,
|
||||
"label": "Amended From",
|
||||
"no_copy": 1,
|
||||
"options": "Leave Application",
|
||||
"permlevel": 0,
|
||||
"print_hide": 1,
|
||||
"fieldname": "amended_from",
|
||||
"fieldtype": "Link",
|
||||
"ignore_user_permissions": 1,
|
||||
"label": "Amended From",
|
||||
"no_copy": 1,
|
||||
"options": "Leave Application",
|
||||
"permlevel": 0,
|
||||
"print_hide": 1,
|
||||
"read_only": 1
|
||||
}
|
||||
],
|
||||
"icon": "icon-calendar",
|
||||
"idx": 1,
|
||||
"is_submittable": 1,
|
||||
"max_attachments": 3,
|
||||
"modified": "2014-05-26 03:05:49.838899",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Leave Application",
|
||||
"owner": "Administrator",
|
||||
],
|
||||
"icon": "icon-calendar",
|
||||
"idx": 1,
|
||||
"is_submittable": 1,
|
||||
"max_attachments": 3,
|
||||
"modified": "2014-05-27 03:49:12.957706",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Leave Application",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"create": 1,
|
||||
"delete": 0,
|
||||
"email": 1,
|
||||
"permlevel": 0,
|
||||
"print": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "Employee",
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"delete": 0,
|
||||
"email": 1,
|
||||
"permlevel": 0,
|
||||
"print": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "Employee",
|
||||
"write": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"amend": 0,
|
||||
"cancel": 0,
|
||||
"create": 0,
|
||||
"delete": 0,
|
||||
"permlevel": 1,
|
||||
"read": 1,
|
||||
"role": "All",
|
||||
"amend": 0,
|
||||
"cancel": 0,
|
||||
"create": 0,
|
||||
"delete": 0,
|
||||
"permlevel": 1,
|
||||
"read": 1,
|
||||
"role": "All",
|
||||
"submit": 0
|
||||
},
|
||||
},
|
||||
{
|
||||
"amend": 1,
|
||||
"cancel": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
"permlevel": 0,
|
||||
"print": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"set_user_permissions": 1,
|
||||
"role": "HR User",
|
||||
"submit": 1,
|
||||
"amend": 1,
|
||||
"apply_user_permissions": 1,
|
||||
"cancel": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
"permlevel": 0,
|
||||
"print": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "HR User",
|
||||
"set_user_permissions": 1,
|
||||
"submit": 1,
|
||||
"write": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"amend": 1,
|
||||
"cancel": 0,
|
||||
"create": 0,
|
||||
"delete": 0,
|
||||
"email": 1,
|
||||
"permlevel": 0,
|
||||
"print": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "Leave Approver",
|
||||
"submit": 1,
|
||||
"amend": 1,
|
||||
"apply_user_permissions": 1,
|
||||
"cancel": 0,
|
||||
"create": 0,
|
||||
"delete": 0,
|
||||
"email": 1,
|
||||
"permlevel": 0,
|
||||
"print": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "Leave Approver",
|
||||
"submit": 1,
|
||||
"write": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"amend": 0,
|
||||
"cancel": 0,
|
||||
"create": 0,
|
||||
"delete": 0,
|
||||
"permlevel": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "HR User",
|
||||
"submit": 0,
|
||||
"amend": 0,
|
||||
"cancel": 0,
|
||||
"create": 0,
|
||||
"delete": 0,
|
||||
"permlevel": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "HR User",
|
||||
"submit": 0,
|
||||
"write": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"amend": 0,
|
||||
"cancel": 0,
|
||||
"create": 0,
|
||||
"delete": 0,
|
||||
"permlevel": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "Leave Approver",
|
||||
"submit": 0,
|
||||
"amend": 0,
|
||||
"cancel": 0,
|
||||
"create": 0,
|
||||
"delete": 0,
|
||||
"permlevel": 1,
|
||||
"read": 1,
|
||||
"report": 1,
|
||||
"role": "Leave Approver",
|
||||
"submit": 0,
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"search_fields": "employee,employee_name,leave_type,from_date,to_date,total_leave_days,fiscal_year",
|
||||
"sort_field": "modified",
|
||||
],
|
||||
"search_fields": "employee,employee_name,leave_type,from_date,to_date,total_leave_days,fiscal_year",
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC"
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,7 @@ import frappe
|
||||
import unittest
|
||||
|
||||
from erpnext.hr.doctype.leave_application.leave_application import LeaveDayBlockedError, OverlapError
|
||||
from frappe.core.page.user_permissions.user_permissions import clear_user_permissions
|
||||
from frappe.permissions import clear_user_permissions_for_doctype
|
||||
|
||||
test_dependencies = ["Leave Allocation", "Leave Block List"]
|
||||
|
||||
@@ -91,7 +91,7 @@ class TestLeaveApplication(unittest.TestCase):
|
||||
|
||||
from frappe.utils.user import add_role
|
||||
add_role("test1@example.com", "HR User")
|
||||
clear_user_permissions("Employee")
|
||||
clear_user_permissions_for_doctype("Employee")
|
||||
|
||||
frappe.db.set_value("Department", "_Test Department",
|
||||
"leave_block_list", "_Test Leave Block List")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"allow_import": 1,
|
||||
"autoname": "field:leave_block_list_name",
|
||||
"creation": "2013-02-18 17:43:12.000000",
|
||||
"creation": "2013-02-18 17:43:12",
|
||||
"description": "Block Holidays on important days.",
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
@@ -10,6 +10,7 @@
|
||||
{
|
||||
"fieldname": "leave_block_list_name",
|
||||
"fieldtype": "Data",
|
||||
"in_list_view": 1,
|
||||
"label": "Leave Block List Name",
|
||||
"permlevel": 0,
|
||||
"reqd": 1
|
||||
@@ -17,6 +18,7 @@
|
||||
{
|
||||
"fieldname": "year",
|
||||
"fieldtype": "Link",
|
||||
"in_list_view": 1,
|
||||
"label": "Year",
|
||||
"options": "Fiscal Year",
|
||||
"permlevel": 0,
|
||||
@@ -25,6 +27,7 @@
|
||||
{
|
||||
"fieldname": "company",
|
||||
"fieldtype": "Link",
|
||||
"in_list_view": 1,
|
||||
"label": "Company",
|
||||
"options": "Company",
|
||||
"permlevel": 0,
|
||||
@@ -34,6 +37,7 @@
|
||||
"description": "If not checked, the list will have to be added to each Department where it has to be applied.",
|
||||
"fieldname": "applies_to_all_departments",
|
||||
"fieldtype": "Check",
|
||||
"in_list_view": 1,
|
||||
"label": "Applies to Company",
|
||||
"permlevel": 0
|
||||
},
|
||||
@@ -68,13 +72,14 @@
|
||||
],
|
||||
"icon": "icon-calendar",
|
||||
"idx": 1,
|
||||
"modified": "2013-12-20 19:24:13.000000",
|
||||
"modified": "2014-05-27 03:49:13.198735",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Leave Block List",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"email": 1,
|
||||
"permlevel": 0,
|
||||
|
||||
@@ -62,14 +62,14 @@
|
||||
],
|
||||
"icon": "icon-flag",
|
||||
"idx": 1,
|
||||
"modified": "2014-05-07 06:39:38.884656",
|
||||
"modified": "2014-05-27 03:49:13.297832",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Leave Type",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"cancel": 0,
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
@@ -82,7 +82,6 @@
|
||||
"write": 1
|
||||
},
|
||||
{
|
||||
"cancel": 0,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
@@ -95,6 +94,7 @@
|
||||
"write": 1
|
||||
},
|
||||
{
|
||||
"apply_user_permissions": 1,
|
||||
"permlevel": 0,
|
||||
"read": 1,
|
||||
"role": "Employee"
|
||||
|
||||
@@ -325,7 +325,7 @@
|
||||
"icon": "icon-file-text",
|
||||
"idx": 1,
|
||||
"is_submittable": 1,
|
||||
"modified": "2014-05-26 03:05:52.624169",
|
||||
"modified": "2014-05-27 03:49:17.213045",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Salary Slip",
|
||||
@@ -333,6 +333,7 @@
|
||||
"permissions": [
|
||||
{
|
||||
"amend": 0,
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"delete": 0,
|
||||
"email": 1,
|
||||
@@ -359,6 +360,7 @@
|
||||
"write": 1
|
||||
},
|
||||
{
|
||||
"apply_user_permissions": 1,
|
||||
"permlevel": 0,
|
||||
"read": 1,
|
||||
"role": "Employee"
|
||||
|
||||
@@ -227,7 +227,7 @@
|
||||
],
|
||||
"icon": "icon-file-text",
|
||||
"idx": 1,
|
||||
"modified": "2014-05-09 02:16:46.711184",
|
||||
"modified": "2014-05-27 03:49:17.438605",
|
||||
"modified_by": "Administrator",
|
||||
"module": "HR",
|
||||
"name": "Salary Structure",
|
||||
@@ -235,6 +235,7 @@
|
||||
"permissions": [
|
||||
{
|
||||
"amend": 0,
|
||||
"apply_user_permissions": 1,
|
||||
"create": 1,
|
||||
"email": 1,
|
||||
"permlevel": 0,
|
||||
|
||||
Reference in New Issue
Block a user