@@ -163,18 +163,32 @@ def hpc_allocation_request():
163
163
'request: {}' .format (str (ex ))]))
164
164
165
165
166
- @app .route ('/rest/confirm-hpc-allocation-request/<token>/' , methods = ['GET' ])
167
- @limiter .limit ("6 per hour" )
168
- @limiter .limit ("1 per minute" )
166
+ @app .route ('/rest/confirm-hpc-allocation-request/<token>/' , methods = ['GET' , 'POST' ])
167
+ @limiter .limit ("12 per hour" )
168
+ @limiter .limit ("4 per minute" )
169
169
def confirm_hpc_allocation_request (token ):
170
170
try :
171
171
for salt_str in ALLOC_APPROVE_CONFIRM_TYPES :
172
172
sig_okay , ticket_id = URLSafeTimedSerializer (
173
173
app .config ["MAIL_SECRET_KEY" ]
174
174
).loads_unsafe (token , salt = salt_str , max_age = 1209600 )
175
175
if (sig_okay ):
176
+ if (salt_str == ALLOC_APPROVE_CONFIRM_TYPES [2 ] and request .environ ['REQUEST_METHOD' ] == 'GET' ):
177
+ return render_template (
178
+ 'confirm_explanation.html' ,
179
+ logo_url = RC_SMALL_LOGO_URL ,
180
+ confirmation_str = '{} confirmation form' .format (
181
+ salt_str ),
182
+ confirm_approve_url = request .base_url ,
183
+ )
184
+ comment_list = [
185
+ 'Confirmation received from sponsor: ' , salt_str .upper ()]
186
+ if (salt_str == ALLOC_APPROVE_CONFIRM_TYPES [2 ] and request .environ ['REQUEST_METHOD' ] == 'POST' ):
187
+ comment_list = comment_list + ['\n \n SUs approved by sponsor: ' , request .form ['su-request-approved-by-dean' ],
188
+ '\n \n Explanation: ' , request .form ['deans-explanation' ]]
189
+
176
190
response = json .loads (JiraServiceHandler (
177
- app ).addTicketComment (ticket_id , '' .join ([ 'Confirmation received from sponsor: ' , salt_str ] )))
191
+ app ).addTicketComment (ticket_id , '' .join (comment_list )))
178
192
if ('errorMessage' in response
179
193
and response ['errorMessage' ] is not None
180
194
and response ['errorMessage' ] != '' ):
0 commit comments