1616 User ,
1717 GroupV2 ,
1818 AccessV2 ,
19+ MembershipV2 ,
1920 ApprovalType ,
2021)
2122from Access .background_task_manager import background_task , accept_request
@@ -283,9 +284,11 @@ def get_pending_accesses_from_modules(access_user):
283284 process_group_requests (pending_accesses ["group_requests" ], group_requests )
284285
285286 logger .info (
286- "Time to fetch pending requests of access module: %s - %s "
287- % access_module_tag ,
288- str (time .time () - access_module_start_time ),
287+ "Time to fetch pending requests of access module: %s - %s " %
288+ (
289+ access_module_tag ,
290+ str (time .time () - access_module_start_time )
291+ ),
289292 )
290293
291294 return individual_requests , list (group_requests .values ())
@@ -382,7 +385,7 @@ def create_request(auth_user, access_request_form):
382385 for index1 , access_type in enumerate (access_request ["accessRequests" ]):
383386 access_labels = validate_access_labels (
384387 access_labels_json = access_request ["accessLabel" ][index1 ],
385- access_type = access_type ,
388+ access_tag = access_type ,
386389 )
387390 access_reason = access_request ["accessReason" ][index1 ]
388391
@@ -399,17 +402,16 @@ def create_request(auth_user, access_request_form):
399402 }
400403
401404 access_module = helper .get_available_access_modules ()[access_type ]
402- module_access_labels = access_module .validate_request (
403- access_labels , auth_user , is_group = False
404- )
405-
406405 extra_field_labels = get_extra_field_labels (access_module )
407-
408406 if extra_fields and extra_field_labels :
409407 for field in extra_field_labels :
410- module_access_labels [0 ][field ] = extra_fields [0 ]
408+ access_labels [0 ][field ] = extra_fields [0 ]
411409 extra_fields = extra_fields [1 :]
412410
411+ module_access_labels = access_module .validate_request (
412+ access_labels , auth_user , is_group = False
413+ )
414+
413415 for index2 , access_label in enumerate (module_access_labels ):
414416 request_id = request_id + "_" + str (index2 )
415417 access_create_error = _create_access (
@@ -511,7 +513,10 @@ def get_extra_field_labels(access_module):
511513def get_extra_fields (access_request ):
512514 if "extraFields" in access_request :
513515 return access_request ["extraFields" ]
514- return []
516+ elif "extraFields[]" in access_request :
517+ return [access_request ["extraFields[]" ]]
518+ else :
519+ return []
515520
516521
517522def _validate_access_request (access_request_form , user ):
@@ -674,37 +679,49 @@ def run_accept_request_task(
674679
675680def decline_individual_access (request , access_type , request_id , reason ):
676681 json_response = {}
677- access_mapping = UserAccessMapping .get_access_request (request_id )
682+ access_mapping = {}
683+ decline_new_group = False
684+ if access_type == "declineNewGroup" :
685+ access_mapping = GroupV2 .get_pending_group (request_id )
686+ decline_new_group = True
687+ else :
688+ access_mapping = UserAccessMapping .get_access_request (request_id )
689+
678690 if not is_request_valid (request_id , access_mapping ):
679691 json_response ["error" ] = USER_REQUEST_IN_PROCESS_ERR_MSG .format (
680692 request_id = request_id ,
681693 )
682694 return json_response
683695
684- json_response = validate_approver_permissions (access_mapping , access_type , request )
685- if "error" in json_response :
686- return json_response
696+ if not decline_new_group :
697+ json_response = validate_approver_permissions (access_mapping , access_type , request )
698+ if "error" in json_response :
699+ return json_response
687700
688701 with transaction .atomic ():
689702 access_mapping .decline_access (reason )
690703 if hasattr (access_mapping , "approver_1" ):
691- access_mapping .decline_reason = reason
692704 if access_mapping .approver_1 is not None :
693705 access_mapping .approver_2 = request .user .user
694706 else :
695707 access_mapping .approver_1 = request .user .user
696708 else :
697- access_mapping .reason = reason
698- access_mapping .approver = request .user .username
709+ access_mapping .approver = request .user .user
699710
700711 access_mapping .save ()
701712
702- access_module = helper .get_available_access_module_from_tag (access_type )
703- access_labels = [access_mapping .access .access_label ]
704- description = access_module .combine_labels_desc (access_labels )
705- notifications .send_mail_for_request_decline (
706- request , description , request_id , reason , access_type
707- )
713+ if not decline_new_group :
714+ access_module = helper .get_available_access_module_from_tag (access_type )
715+ access_labels = [access_mapping .access .access_label ]
716+ description = access_module .combine_labels_desc (access_labels )
717+ notifications .send_mail_for_request_decline (
718+ request , description , request_id , reason , access_type
719+ )
720+ else :
721+ MembershipV2 .update_membership (access_mapping , reason )
722+ notifications .send_mail_for_request_decline (
723+ request , "Group Creation" , request_id , reason , access_type
724+ )
708725
709726 logger .debug (
710727 USER_REQUEST_DECLINE_MSG .format (
0 commit comments