Patient Appointment reschedule

Dear All
I need your help in appointment booking. Here is the scenario user 1 booked an appointment to a patient , next day the patient wants to reschedule user 2 tried to reschedule but system gave the following ( Not allowed via controller permission check ) , how can resolve this issue please
Thank you

1 Like

Hi @Tamer_Zaki ,
Can you please share the error log in console and also can you show what are the user permissions and roles added for that users?

Thank you.

1 Like

Thank you for your reply , kindly find role permission


Error ( Not permitted

Not allowed via controller permission check
User **.temo@mail.com
** does not have access to this document

Insufficient Permission for Event (write)

Console error
File “apps/frappe/frappe/model/document.py”, line 1249, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “apps/frappe/frappe/model/document.py”, line 912, in fn
return method_object(*args, **kwargs)
File “apps/healthcare/healthcare/healthcare/doctype/patient_appointment/patient_appointment.py”, line 47, in validate
self.update_event()
File “apps/healthcare/healthcare/healthcare/doctype/patient_appointment/patient_appointment.py”, line 351, in update_event
event_doc.save()
File “apps/frappe/frappe/model/document.py”, line 305, in save
return self._save(*args, **kwargs)
File “apps/frappe/frappe/model/document.py”, line 330, in _save
self.check_permission(“write”, “save”)
File “apps/frappe/frappe/model/document.py”, line 194, in check_permission
self.raise_no_permission_to(permtype)
File “apps/frappe/frappe/model/document.py”, line 216, in raise_no_permission_to
raise frappe.PermissionError
frappe.exceptions.PermissionError
request.js:457:14

1 Like

Will need to check this, could you please let us know the app versions?

thanks!

1 Like

Problem is in Event permission, look at code, is the Event is private only the creator has the permission…

def has_permission(doc, user):
	if doc.event_type == "Public" or doc.owner == user:
		return True

	return False

Possible fix is in patient_appointment.py and force save event
event_doc.save(ignore_permissions=True)

1 Like