@@ -17,25 +17,34 @@ class BaseEmailAccess(object):
1717 group_access_allowed = True
1818
1919 def grant_owner (self ):
20- return [ ACCESS_APPROVE_EMAIL ]
20+ return [ACCESS_APPROVE_EMAIL ]
2121
2222 def revoke_owner (self ):
23- return [ ACCESS_APPROVE_EMAIL ]
23+ return [ACCESS_APPROVE_EMAIL ]
2424
2525 # Override in module for specific person who should mark access as revoked
2626 def access_mark_revoke_permission (self , access_type ):
2727 return ACCESS_REVOKE_PERMISSIONS_MAPPING ["security" ]
2828
2929 # module's tag() method should return a tag present in hash returned by access_types() "type" key
3030 def get_label_desc (self , access_label ):
31- data = next ((each_access ['desc' ] for each_access in self .access_types () if each_access ['type' ] == access_label ["data" ]), "" )
31+ data = next (
32+ (
33+ each_access ["desc" ]
34+ for each_access in self .access_types ()
35+ if each_access ["type" ] == access_label ["data" ]
36+ ),
37+ "" ,
38+ )
3239 for key in access_label :
3340 if key != "data" :
34- data += " -> " + key + " - " + access_label [key ]
41+ data += " -> " + key + " - " + access_label [key ]
3542 return data
3643
37- def combine_labels_desc (self ,access_labels ):
38- label_desc_array = [self .get_label_desc (access_label ) for access_label in access_labels ]
44+ def combine_labels_desc (self , access_labels ):
45+ label_desc_array = [
46+ self .get_label_desc (access_label ) for access_label in access_labels
47+ ]
3948 return ", " .join (label_desc_array )
4049
4150 def get_label_meta (self , request_params ):
@@ -48,28 +57,39 @@ def access_request_data(self, request, is_group=False):
4857 return {}
4958
5059 def fetch_approver_permissions (self , access_label = None ):
51- return {
52- "1" : PERMISSION_CONSTANTS ["DEFAULT_APPROVER_PERMISSION" ]
53- }
60+ return {"1" : PERMISSION_CONSTANTS ["DEFAULT_APPROVER_PERMISSION" ]}
5461
5562 def get_pending_accesses (self , accessUser ):
5663 pending_access_objects = self .get_pending_access_objects (accessUser )
57- return { request_type : [request .getAccessRequestDetails (self ) for request in all_requests ] for request_type , all_requests in pending_access_objects .items ()}
64+ return {
65+ request_type : [
66+ request .getAccessRequestDetails (self ) for request in all_requests
67+ ]
68+ for request_type , all_requests in pending_access_objects .items ()
69+ }
5870
5971 def get_pending_access_objects (self , accessUser ):
6072 return {
61- "individual_requests" : self .__get_pending_individual_access_objects (accessUser ),
62- "group_requests" : self .__get_pending_group_access_objects (accessUser )
73+ "individual_requests" : self .__get_pending_individual_access_objects (
74+ accessUser
75+ ),
76+ "group_requests" : self .__get_pending_group_access_objects (accessUser ),
6377 }
6478
6579 def __get_pending_individual_access_objects (self , accessUser ):
66- return self .__get_pending_access_objects_from_mapping (UserAccessMapping , accessUser )
80+ return self .__get_pending_access_objects_from_mapping (
81+ UserAccessMapping , accessUser
82+ )
6783
6884 def __get_pending_group_access_objects (self , accessUser ):
69- return self .__get_pending_access_objects_from_mapping (GroupAccessMapping , accessUser )
85+ return self .__get_pending_access_objects_from_mapping (
86+ GroupAccessMapping , accessUser
87+ )
7088
7189 def __query_pending_accesses (self , mapping , pending_status ):
72- return mapping .objects .filter (status = pending_status , access__access_tag = self .tag ())
90+ return mapping .objects .filter (
91+ status = pending_status , access__access_tag = self .tag ()
92+ )
7393
7494 def __query_pending_accesses_for_user (self , accessUser , mapping , pending_status ):
7595 user_pending_requests = []
@@ -78,40 +98,69 @@ def __query_pending_accesses_for_user(self, accessUser, mapping, pending_status)
7898 for each_pending_request in all_pending_requests :
7999 approverType = "Primary" if pending_status == "Pending" else "Secondary"
80100
81- if accessUser .isAnApproverForModule (self , each_pending_request .access .access_label , approverType ):
101+ if accessUser .isAnApproverForModule (
102+ self , each_pending_request .access .access_label , approverType
103+ ):
82104 user_pending_requests .append (each_pending_request )
83105
84106 return user_pending_requests
85107
86108 def __get_pending_access_objects_from_mapping (self , mapping , accessUser ):
87109 user_pending_requests = []
88110
89- user_pending_requests .extend (self .__query_pending_accesses_for_user (accessUser , mapping , "Pending" ))
90- user_pending_requests .extend (self .__query_pending_accesses_for_user (accessUser , mapping , "SecondaryPending" ))
111+ user_pending_requests .extend (
112+ self .__query_pending_accesses_for_user (accessUser , mapping , "Pending" )
113+ )
114+ user_pending_requests .extend (
115+ self .__query_pending_accesses_for_user (
116+ accessUser , mapping , "SecondaryPending"
117+ )
118+ )
91119
92120 return user_pending_requests
93121
94- def approve (self , user , labels , approver , requestId , is_group = False , auto_approve_rules = None ):
122+ def approve (
123+ self , user , labels , approver , requestId , is_group = False , auto_approve_rules = None
124+ ):
95125 try :
96126 label_desc = self .combine_labels_desc (labels )
97127 email_targets = self .email_targets (user )
98- email_subject = "Approved Access: %s for access to %s for user %s" % ( requestId , self .access_desc (), user .email )
128+ email_subject = "Approved Access: %s for access to %s for user %s" % (
129+ requestId ,
130+ self .access_desc (),
131+ user .email ,
132+ )
99133 if auto_approve_rules :
100- email_body = "Access successfully granted for %s for %s to %s.<br>Request has been approved by %s. <br> Rules :- %s" % (label_desc , self .access_desc (), user .email , approver , ", " .join (auto_approve_rules ))
134+ email_body = (
135+ "Access successfully granted for %s for %s to %s.<br>Request has"
136+ " been approved by %s. <br> Rules :- %s"
137+ % (
138+ label_desc ,
139+ self .access_desc (),
140+ user .email ,
141+ approver ,
142+ ", " .join (auto_approve_rules ),
143+ )
144+ )
101145 else :
102- email_body = "Please grant access for %s for %s to %s. Request has been approved by %s" % ( label_desc , self .access_desc (), user .email , approver )
146+ email_body = (
147+ "Please grant access for %s for %s to %s. Request has been approved"
148+ " by %s" % (label_desc , self .access_desc (), user .email , approver )
149+ )
103150
104151 emailSES (email_targets , email_subject , email_body )
105152 return True , ""
106153 except Exception as e :
107- logger .error ("Could not send email for error %s" , str (traceback .format_exc ()))
154+ logger .error (
155+ "Could not send email for error %s" , str (traceback .format_exc ())
156+ )
108157 return False , str (traceback .format_exc ())
109158
110159 def revoke (self , user , label ):
111160 label_desc = self .get_label_desc (label )
112161
113162 email_targets = self .email_targets ()
114- email_subject = "Revoke Request: %s for %s" % ( label_desc , user .email )
163+ email_subject = "Revoke Request: %s for %s" % (label_desc , user .email )
115164 email_body = ""
116165
117166 try :
@@ -126,25 +175,28 @@ def get_extra_fields(self):
126175 def validate_request (self , access_labels_data , request_user , is_group = False ):
127176 valid_access_label_array = []
128177 for access_label_data in access_labels_data :
129- valid_access_label = {"data" : access_label_data }
178+ valid_access_label = {"data" : access_label_data }
130179 valid_access_label_array .append (valid_access_label )
131180 return valid_access_label_array
132181
133-
134182 def fetch_access_approve_email (self , request , data ):
135183 context_details = {
136- ' approvers' : {
137- ' primary' : data [' approvers' ][ ' primary' ],
138- ' other' : data [' approvers' ][ ' other' ]
184+ " approvers" : {
185+ " primary" : data [" approvers" ][ " primary" ],
186+ " other" : data [" approvers" ][ " other" ],
139187 },
140- ' requestId' : data [' requestId' ],
141- ' user' : request .user ,
142- ' requestData' : data [' request_data' ],
143- ' accessType' : self .tag (),
144- ' accessDesc' : self .access_desc (),
145- ' isGroup' : data [' is_group' ]
188+ " requestId" : data [" requestId" ],
189+ " user" : request .user ,
190+ " requestData" : data [" request_data" ],
191+ " accessType" : self .tag (),
192+ " accessDesc" : self .access_desc (),
193+ " isGroup" : data [" is_group" ],
146194 }
147- return str (render (request , 'base_email_access/accessApproveEmail.html' , context_details ).content .decode ("utf-8" ))
195+ return str (
196+ render (
197+ request , "base_email_access/accessApproveEmail.html" , context_details
198+ ).content .decode ("utf-8" )
199+ )
148200
149201 def fetch_access_request_form_path (self ):
150- return ' base_email_access/accessRequest.html'
202+ return " base_email_access/accessRequest.html"
0 commit comments