Skip to content

Commit c9cbc13

Browse files
committed
fix: conflicts
2 parents dc01fe3 + 8478307 commit c9cbc13

File tree

16 files changed

+256
-306
lines changed

16 files changed

+256
-306
lines changed

Access/access_modules/base_email_access/access.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,9 @@ def revoke(self, user, label):
174174
def get_extra_fields(self):
175175
return []
176176

177+
def can_auto_approve(self):
178+
return False
179+
177180
# return valid access label array which will be added in db or raise exception
178181
def validate_request(self, access_labels_data, request_user, is_group=False):
179182
valid_access_label_array = []

Access/accessrequest_helper.py

Lines changed: 50 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
User,
1717
GroupV2,
1818
AccessV2,
19+
MembershipV2,
1920
ApprovalType,
2021
)
2122
from Access.background_task_manager import background_task, accept_request
@@ -226,7 +227,7 @@ def get_decline_access_request(request, access_type, request_id):
226227
UserAccessMapping.get_pending_access_mapping(request_id=value)
227228
)
228229
request_ids.extend(current_ids)
229-
access_type = access_type.rsplit("-", 1)[0]
230+
access_type = "moduleAccess"
230231
elif access_type == "clubGroupAccess":
231232
for value in [request_id]: # ready for bulk decline
232233
return_ids.append(value)
@@ -240,6 +241,7 @@ def get_decline_access_request(request, access_type, request_id):
240241
access_type = "groupAccess"
241242
else:
242243
request_ids = [request_id]
244+
243245
for current_request_id in request_ids:
244246
if access_type == "groupAccess":
245247
response = decline_group_access(request, current_request_id, reason)
@@ -285,8 +287,11 @@ def get_pending_accesses_from_modules(access_user):
285287
process_group_requests(pending_accesses["group_requests"], group_requests)
286288

287289
logger.info(
288-
"Time to fetch pending requests of access module: %s - %s "
289-
% (access_module_tag, str(time.time() - access_module_start_time)),
290+
"Time to fetch pending requests of access module: %s - %s " %
291+
(
292+
access_module_tag,
293+
str(time.time() - access_module_start_time)
294+
),
290295
)
291296

292297
return individual_requests, list(group_requests.values())
@@ -298,7 +303,7 @@ def process_individual_requests(
298303
if len(individual_pending_requests):
299304
clubbed_requests = {}
300305
for accessrequest in individual_pending_requests:
301-
club_id = accessrequest["requestId"].rsplit("_", 1)[0]
306+
club_id = accessrequest["requestId"].rsplit("_")[0]
302307
if club_id not in clubbed_requests:
303308
clubbed_requests[club_id] = {
304309
"club_id": club_id,
@@ -327,7 +332,7 @@ def process_group_requests(group_pending_requests, group_requests):
327332
club_id = (
328333
accessrequest["groupName"]
329334
+ "-"
330-
+ accessrequest["requestId"].rsplit("-", 1)[-1].rsplit("_", 1)[0]
335+
+ accessrequest["requestId"].rsplit("-", 1)[-1].rsplit("_")[0]
331336
)
332337
needs_access_approve = GroupV2.objects.get(
333338
name=accessrequest["groupName"], status="Approved"
@@ -383,7 +388,7 @@ def create_request(auth_user, access_request_form):
383388
for index1, access_type in enumerate(access_request["accessRequests"]):
384389
access_labels = validate_access_labels(
385390
access_labels_json=access_request["accessLabel"][index1],
386-
access_type=access_type,
391+
access_tag=access_type,
387392
)
388393
access_reason = access_request["accessReason"][index1]
389394

@@ -400,17 +405,16 @@ def create_request(auth_user, access_request_form):
400405
}
401406

402407
access_module = helper.get_available_access_modules()[access_type]
403-
module_access_labels = access_module.validate_request(
404-
access_labels, auth_user, is_group=False
405-
)
406-
407408
extra_field_labels = get_extra_field_labels(access_module)
408-
409409
if extra_fields and extra_field_labels:
410410
for field in extra_field_labels:
411-
module_access_labels[0][field] = extra_fields[0]
411+
access_labels[0][field] = extra_fields[0]
412412
extra_fields = extra_fields[1:]
413413

414+
module_access_labels = access_module.validate_request(
415+
access_labels, auth_user, is_group=False
416+
)
417+
414418
for index2, access_label in enumerate(module_access_labels):
415419
request_id = request_id + "_" + str(index2)
416420
access_create_error = _create_access(
@@ -512,7 +516,10 @@ def get_extra_field_labels(access_module):
512516
def get_extra_fields(access_request):
513517
if "extraFields" in access_request:
514518
return access_request["extraFields"]
515-
return []
519+
elif "extraFields[]" in access_request:
520+
return [access_request["extraFields[]"]]
521+
else:
522+
return []
516523

517524

518525
def _validate_access_request(access_request_form, user):
@@ -552,7 +559,6 @@ def validate_access_labels(access_labels_json, access_tag):
552559

553560
def _get_approver_permissions(access_tag, access_label=None):
554561
json_response = {}
555-
556562
access_module = helper.get_available_access_module_from_tag(access_tag)
557563
approver_permissions = []
558564
approver_permissions = access_module.fetch_approver_permissions(access_label)
@@ -584,9 +590,9 @@ def accept_user_access_requests(auth_user, request_id):
584590
)
585591
return json_response
586592

587-
requester = access_mapping.user_identity.user.email
588-
if auth_user.username == requester:
589-
json_response["error"] = USER_REQUEST_PERMISSION_DENIED_ERR_MSG
593+
requester = access_mapping.user_identity.user
594+
if auth_user.user == requester:
595+
json_response["error"] = SELF_APPROVAL_ERROR_MSG
590596
return json_response
591597

592598
access_label = access_mapping.access.access_label
@@ -675,37 +681,50 @@ def run_accept_request_task(
675681

676682
def decline_individual_access(request, access_type, request_id, reason):
677683
json_response = {}
678-
access_mapping = UserAccessMapping.get_access_request(request_id)
684+
access_mapping = {}
685+
decline_new_group = False
686+
if access_type == "declineNewGroup":
687+
access_mapping = GroupV2.get_pending_group(request_id)
688+
decline_new_group = True
689+
else:
690+
access_mapping = UserAccessMapping.get_access_request(request_id)
691+
access_type = access_mapping.access.access_tag
692+
679693
if not is_request_valid(request_id, access_mapping):
680694
json_response["error"] = USER_REQUEST_IN_PROCESS_ERR_MSG.format(
681695
request_id=request_id,
682696
)
683697
return json_response
684698

685-
json_response = validate_approver_permissions(access_mapping, access_type, request)
686-
if "error" in json_response:
687-
return json_response
699+
if not decline_new_group:
700+
json_response = validate_approver_permissions(access_mapping, access_type, request)
701+
if "error" in json_response:
702+
return json_response
688703

689704
with transaction.atomic():
690705
access_mapping.decline_access(reason)
691706
if hasattr(access_mapping, "approver_1"):
692-
access_mapping.decline_reason = reason
693707
if access_mapping.approver_1 is not None:
694708
access_mapping.approver_2 = request.user.user
695709
else:
696710
access_mapping.approver_1 = request.user.user
697711
else:
698-
access_mapping.reason = reason
699-
access_mapping.approver = request.user.username
712+
access_mapping.approver = request.user.user
700713

701714
access_mapping.save()
702715

703-
access_module = helper.get_available_access_module_from_tag(access_type)
704-
access_labels = [access_mapping.access.access_label]
705-
description = access_module.combine_labels_desc(access_labels)
706-
notifications.send_mail_for_request_decline(
707-
request, description, request_id, reason, access_type
708-
)
716+
if not decline_new_group:
717+
access_module = helper.get_available_access_module_from_tag(access_type)
718+
access_labels = [access_mapping.access.access_label]
719+
description = access_module.combine_labels_desc(access_labels)
720+
notifications.send_mail_for_request_decline(
721+
request, description, request_id, reason, access_type
722+
)
723+
else:
724+
MembershipV2.update_membership(access_mapping, reason)
725+
notifications.send_mail_for_request_decline(
726+
request, "Group Creation", request_id, reason, access_type
727+
)
709728

710729
logger.debug(
711730
USER_REQUEST_DECLINE_MSG.format(
@@ -822,7 +841,7 @@ def decline_group_access(request, request_id, reason):
822841
access_type = group_mapping.access.access_tag
823842

824843
json_response = validate_approver_permissions(
825-
group_mapping, access_type, request, request_id
844+
group_mapping, access_type, request
826845
)
827846
if "error" in json_response:
828847
return json_response

0 commit comments

Comments
 (0)