mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-26 08:24:47 +00:00
fix: Employee profile pic upload access for erpnext user
This commit is contained in:
@@ -195,6 +195,10 @@ sounds = [
|
|||||||
{"name": "call-disconnect", "src": "/assets/erpnext/sounds/call-disconnect.mp3", "volume": 0.2},
|
{"name": "call-disconnect", "src": "/assets/erpnext/sounds/call-disconnect.mp3", "volume": 0.2},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
has_upload_permission = {
|
||||||
|
"Employee": "erpnext.hr.doctype.employee.employee.has_upload_permission"
|
||||||
|
}
|
||||||
|
|
||||||
has_website_permission = {
|
has_website_permission = {
|
||||||
"Sales Order": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
"Sales Order": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
||||||
"Quotation": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
"Quotation": "erpnext.controllers.website_list_for_contact.has_website_permission",
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from frappe.utils import getdate, validate_email_address, today, add_years, form
|
|||||||
from frappe.model.naming import set_name_by_naming_series
|
from frappe.model.naming import set_name_by_naming_series
|
||||||
from frappe import throw, _, scrub
|
from frappe import throw, _, scrub
|
||||||
from frappe.permissions import add_user_permission, remove_user_permission, \
|
from frappe.permissions import add_user_permission, remove_user_permission, \
|
||||||
set_user_permission_if_allowed, has_permission
|
set_user_permission_if_allowed, has_permission, get_doc_permissions
|
||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
from erpnext.utilities.transaction_base import delete_events
|
from erpnext.utilities.transaction_base import delete_events
|
||||||
from frappe.utils.nestedset import NestedSet
|
from frappe.utils.nestedset import NestedSet
|
||||||
@@ -66,7 +66,7 @@ class Employee(NestedSet):
|
|||||||
def validate_user_details(self):
|
def validate_user_details(self):
|
||||||
data = frappe.db.get_value('User',
|
data = frappe.db.get_value('User',
|
||||||
self.user_id, ['enabled', 'user_image'], as_dict=1)
|
self.user_id, ['enabled', 'user_image'], as_dict=1)
|
||||||
if data.get("user_image"):
|
if data.get("user_image") and self.image == '':
|
||||||
self.image = data.get("user_image")
|
self.image = data.get("user_image")
|
||||||
self.validate_for_enabled_user_id(data.get("enabled", 0))
|
self.validate_for_enabled_user_id(data.get("enabled", 0))
|
||||||
self.validate_duplicate_user_id()
|
self.validate_duplicate_user_id()
|
||||||
@@ -501,3 +501,9 @@ def has_user_permission_for_employee(user_name, employee_name):
|
|||||||
'allow': 'Employee',
|
'allow': 'Employee',
|
||||||
'for_value': employee_name
|
'for_value': employee_name
|
||||||
})
|
})
|
||||||
|
|
||||||
|
def has_upload_permission(doc, ptype='read', user=None):
|
||||||
|
if not user: user = frappe.session.user
|
||||||
|
if get_doc_permissions(doc, user=user, ptype=ptype).get(ptype):
|
||||||
|
return True
|
||||||
|
return doc.user_id == user
|
||||||
Reference in New Issue
Block a user