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 <me@akhilnarang.dev>
This commit is contained in:
Niraj Gautam 2025-05-21 13:36:49 +05:30 committed by GitHub
parent c273a8f1e7
commit 17f51576cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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):