33
33
from appointment .utils .json_context import (
34
34
convert_appointment_to_json , get_generic_context , get_generic_context_with_extra , handle_unauthorized_response ,
35
35
json_response )
36
- from appointment .utils .permissions import check_extensive_permissions , check_permissions
36
+ from appointment .utils .permissions import check_extensive_permissions , check_permissions , \
37
+ has_permission_to_delete_appointment
37
38
38
39
39
40
###############################################################
@@ -454,6 +455,8 @@ def delete_service(request, service_id):
454
455
455
456
###############################################################
456
457
# Remove staff member
458
+ @require_user_authenticated
459
+ @require_superuser
457
460
def remove_staff_member (request , staff_user_id ):
458
461
staff_member = get_object_or_404 (StaffMember , user_id = staff_user_id )
459
462
staff_member .delete ()
@@ -491,7 +494,7 @@ def get_service_list(request, response_type='html'):
491
494
@require_staff_or_superuser
492
495
def delete_appointment (request , appointment_id ):
493
496
appointment = get_object_or_404 (Appointment , pk = appointment_id )
494
- if not check_extensive_permissions ( appointment . get_staff_member (). user_id , request .user , appointment ):
497
+ if not has_permission_to_delete_appointment ( request .user , appointment ):
495
498
message = _ ("You can only delete your own appointments." )
496
499
return handle_unauthorized_response (request , message , 'html' )
497
500
appointment .delete ()
@@ -505,7 +508,7 @@ def delete_appointment_ajax(request):
505
508
data = json .loads (request .body )
506
509
appointment_id = data .get ("appointment_id" )
507
510
appointment = get_object_or_404 (Appointment , pk = appointment_id )
508
- if not check_extensive_permissions ( appointment . get_staff_member (). user_id , request .user , appointment ):
511
+ if not has_permission_to_delete_appointment ( request .user , appointment ):
509
512
message = _ ("You can only delete your own appointments." )
510
513
return json_response (message , status = 403 , success = False , error_code = ErrorCode .NOT_AUTHORIZED )
511
514
appointment .delete ()
0 commit comments