diff --git a/frappe/desk/doctype/event/event.py b/frappe/desk/doctype/event/event.py index 06f5a6f7fd..1e235261c1 100644 --- a/frappe/desk/doctype/event/event.py +++ b/frappe/desk/doctype/event/event.py @@ -6,6 +6,7 @@ import json from datetime import date, datetime import frappe +import frappe.share from frappe import _ from frappe.contacts.doctype.contact.contact import get_default_contact from frappe.desk.doctype.notification_settings.notification_settings import ( @@ -230,7 +231,10 @@ def delete_communication(event, reference_doctype, reference_docname): def get_permission_query_conditions(user): if not user: user = frappe.session.user - return f"""(`tabEvent`.`event_type`='Public' or `tabEvent`.`owner`={frappe.db.escape(user)})""" + query = f"""(`tabEvent`.`event_type`='Public' or `tabEvent`.`owner`={frappe.db.escape(user)})""" + if shared_events := frappe.share.get_shared("Event", user=user): + query += f" or `tabEvent`.`name` in ({', '.join([frappe.db.escape(e) for e in shared_events])})" + return query def has_permission(doc, user):