1616 User ,
1717 GroupV2 ,
1818 AccessV2 ,
19+ ApprovalType ,
1920)
20- from Access .background_task_manager import background_task
21+ from Access .background_task_manager import background_task , accept_request
2122from . import helpers as helper
2223
2324logger = logging .getLogger (__name__ )
@@ -548,10 +549,10 @@ def validate_access_labels(access_labels_json, access_type):
548549 return access_labels
549550
550551
551- def _get_approver_permissions (access_type , access_label = None ):
552+ def _get_approver_permissions (access_tag , access_label = None ):
552553 json_response = {}
553554
554- access_module = helper .get_available_access_module_from_tag (access_type )
555+ access_module = helper .get_available_access_module_from_tag (access_tag )
555556 approver_permissions = []
556557 approver_permissions = access_module .fetch_approver_permissions (access_label )
557558
@@ -573,7 +574,7 @@ def is_request_valid(request_id, access_mapping):
573574 return True
574575
575576
576- def accept_user_access_requests (request , access_type , request_id ):
577+ def accept_user_access_requests (auth_user , request_id ):
577578 json_response = {}
578579 access_mapping = UserAccessMapping .get_access_request (request_id )
579580 if not is_request_valid (request_id , access_mapping ):
@@ -583,54 +584,53 @@ def accept_user_access_requests(request, access_type, request_id):
583584 return json_response
584585
585586 requester = access_mapping .user_identity .user .email
586- if request . user .username == requester :
587+ if auth_user .username == requester :
587588 json_response ["error" ] = USER_REQUEST_PERMISSION_DENIED_ERR_MSG
588589 return json_response
589590
590591 access_label = access_mapping .access .access_label
591592
592593 try :
593- permissions = _get_approver_permissions (access_type , access_label )
594+ permissions = _get_approver_permissions (access_mapping . access . access_tag , access_label )
594595 approver_permissions = permissions ["approver_permissions" ]
595596 if not helper .check_user_permissions (
596- request . user , list (approver_permissions .values ())
597+ auth_user , list (approver_permissions .values ())
597598 ):
598599 logger .debug (USER_REQUEST_PERMISSION_DENIED_ERR_MSG )
599600 json_response ["error" ] = USER_REQUEST_PERMISSION_DENIED_ERR_MSG
600601 return json_response
601602
602603 is_primary_approver = (
603604 access_mapping .is_pending ()
604- and request . user .user .has_permission (approver_permissions ["1" ])
605+ and auth_user .user .has_permission (approver_permissions ["1" ])
605606 )
606607 is_secondary_approver = (
607608 access_mapping .is_secondary_pending ()
608- and request . user .user .has_permission (approver_permissions ["2" ])
609+ and auth_user .user .has_permission (approver_permissions ["2" ])
609610 )
610611
611612 if not (is_primary_approver or is_secondary_approver ):
612613 logger .debug (USER_REQUEST_PERMISSION_DENIED_ERR_MSG )
613614 json_response ["error" ] = USER_REQUEST_PERMISSION_DENIED_ERR_MSG
614615 return json_response
615616 if is_primary_approver and "2" in approver_permissions :
616- access_mapping .approver_1 = request . user .user
617+ access_mapping .approver_1 = auth_user .user
617618 access_mapping .update_access_status ("SecondaryPending" )
618619 json_response ["msg" ] = USER_REQUEST_SECONDARY_PENDING_MSG .format (
619- request_id = request_id , approved_by = request . user .username
620+ request_id = request_id , approved_by = auth_user .username
620621 )
621622 logger .debug (
622623 USER_REQUEST_SECONDARY_PENDING_MSG .format (
623- request_id = request_id , approved_by = request . user .username
624+ request_id = request_id , approved_by = auth_user .username
624625 )
625626 )
626627 else :
627628 json_response = run_accept_request_task (
628629 is_primary_approver ,
629630 access_mapping ,
630- request ,
631- request_id ,
632- access_type ,
633- access_label ,
631+ auth_user = auth_user ,
632+ request_id = request_id ,
633+ access_label = access_label ,
634634 )
635635 except Exception as e :
636636 return process_error_response (e )
@@ -639,24 +639,16 @@ def accept_user_access_requests(request, access_type, request_id):
639639
640640
641641def run_accept_request_task (
642- is_primary_approver , access_mapping , request , request_id , access_type , access_label
642+ is_primary_approver , access_mapping , auth_user , request_id , access_label
643643):
644644 json_response = {}
645645 json_response ["status" ] = []
646- if is_primary_approver :
647- access_mapping .approver_1 = request .user .user
648- else :
649- access_mapping .approver_2 = request .user .user
646+ approval_type = ApprovalType .Primary if is_primary_approver else ApprovalType .Secondary
650647 json_response ["msg" ] = REQUEST_PROCESS_MSG .format (request_id = request_id )
651648
652649 with transaction .atomic ():
653650 try :
654- access_mapping .update_access_status ("Processing" )
655-
656- background_task (
657- "run_accept_request" ,
658- json .dumps ({"request_id" : request_id , "access_type" : access_type }),
659- )
651+ accept_request (user_access_mapping = access_mapping , approval_type = approval_type , approver = auth_user .user )
660652 except Exception as e :
661653 logger .exception (e )
662654 raise Exception (
@@ -725,7 +717,7 @@ def decline_individual_access(request, access_type, request_id, reason):
725717 return json_response
726718
727719
728- def accept_group_access (request , request_id ):
720+ def accept_group_access (auth_user , request_id ):
729721 json_response = {}
730722
731723 group_mapping = GroupAccessMapping .get_by_request_id (request_id = request_id )
@@ -742,7 +734,7 @@ def accept_group_access(request, request_id):
742734 approver_permissions = permissions ["approver_permissions" ]
743735
744736 if not helper .check_user_permissions (
745- request . user , list (approver_permissions .values ())
737+ auth_user , list (approver_permissions .values ())
746738 ):
747739 logger .debug (USER_REQUEST_PERMISSION_DENIED_ERR_MSG )
748740 return create_error_response (
@@ -752,17 +744,17 @@ def accept_group_access(request, request_id):
752744 if not (group_mapping .is_pending () or group_mapping .is_secondary_pending ()):
753745 logger .warning (
754746 ALREADY_PROCESSED_REQUEST_MSG .format (
755- request_id = request_id , user = request . user .username
747+ request_id = request_id , user = auth_user .username
756748 )
757749 )
758750 return create_error_response (
759751 error_msg = USER_REQUEST_IN_PROCESS_ERR_MSG .format (request_id = request_id )
760752 )
761- elif group_mapping .is_self_approval (approver = request . user .user ):
753+ elif group_mapping .is_self_approval (approver = auth_user .user ):
762754 return create_error_response (error_msg = SELF_APPROVAL_ERROR_MSG )
763755 else :
764756 is_primary_approver , is_secondary_approver = is_valid_approver (
765- request = request ,
757+ auth_user = auth_user ,
766758 group_mapping = group_mapping ,
767759 approver_permissions = approver_permissions ,
768760 )
@@ -772,21 +764,21 @@ def accept_group_access(request, request_id):
772764 error_msg = USER_REQUEST_PERMISSION_DENIED_ERR_MSG
773765 )
774766 if is_primary_approver and "2" in approver_permissions :
775- group_mapping .set_primary_approver (request . user .user )
767+ group_mapping .set_primary_approver (auth_user .user )
776768 json_response ["msg" ] = USER_REQUEST_SECONDARY_PENDING_MSG .format (
777- request_id = request_id , approved_by = request . user .username
769+ request_id = request_id , approved_by = auth_user .username
778770 )
779771 group_mapping .update_access_status (current_status = "SecondaryPending" )
780772 logger .debug (
781773 USER_REQUEST_SECONDARY_PENDING_MSG .format (
782- request_id = request_id , approved_by = request . user .username
774+ request_id = request_id , approved_by = auth_user .username
783775 )
784776 )
785777 else :
786778 if is_primary_approver :
787- group_mapping .set_primary_approver (request . user .user )
779+ group_mapping .set_primary_approver (auth_user .user )
788780 else :
789- group_mapping .set_secondary_approver (request . user .user )
781+ group_mapping .set_secondary_approver (auth_user .user )
790782 json_response ["msg" ] = REQUEST_ACCESS_AUTO_APPROVED_MSG ["title" ].format (
791783 request_id = request_id
792784 )
@@ -799,7 +791,7 @@ def accept_group_access(request, request_id):
799791 execute_group_access (userMappingsList )
800792 logger .debug (
801793 APPROVAL_PROCESS_STARTED_MSG .format (
802- request_id = request_id , approver = request . user .username
794+ request_id = request_id , approver = auth_user .username
803795 )
804796 )
805797 return json_response
@@ -889,14 +881,14 @@ def create_error_response(error_msg):
889881 return json_response
890882
891883
892- def is_valid_approver (request , group_mapping , approver_permissions ):
884+ def is_valid_approver (auth_user , group_mapping , approver_permissions ):
893885 is_primary_approver = (
894886 group_mapping .is_pending ()
895- and request . user .user .has_permission (approver_permissions ["1" ])
887+ and auth_user .user .has_permission (approver_permissions ["1" ])
896888 )
897889 is_secondary_approver = (
898890 group_mapping .is_secondary_pending ()
899- and request . user .user .has_permission (approver_permissions ["2" ])
891+ and auth_user .user .has_permission (approver_permissions ["2" ])
900892 )
901893 return is_primary_approver , is_secondary_approver
902894
0 commit comments