From 17f51576cfab6b4f09fc70381d9fcd18a1f645bf Mon Sep 17 00:00:00 2001 From: Niraj Gautam Date: Wed, 21 May 2025 13:36:49 +0530 Subject: [PATCH] fix: Show shared events to user (#32029) * refactor:Show shared events to user * fix: Update condition * fix: Use get_shared method to fetch shared docnames * refactor: use walrus operator --------- Co-authored-by: Akhil Narang --- frappe/desk/doctype/event/event.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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):