diff --git a/beat/web/accounts/views.py b/beat/web/accounts/views.py index 12218ed7bc0755aa42f1ff8d133b88d50f7da239..031591a47891212ff2939cf06a05033bcebf3960 100644 --- a/beat/web/accounts/views.py +++ b/beat/web/accounts/views.py @@ -139,6 +139,15 @@ def account_settings(request): 'token' : user.auth_token}) +def generate_load_response(request, temp_url, template, parameters): + answer = {} + answer["template"] = template + answer["parameters"] = parameters + + temp_url.delete() + + return render(request, answer["template"], answer["parameters"]) + def load_temporary_url(request, hash_url): temp_url = get_object_or_404(TemporaryUrl, url_hash=hash_url) supervisiontrack = temp_url.supervision_track @@ -178,15 +187,10 @@ def load_temporary_url(request, hash_url): context, [supervisee.email]) - temp_url.delete() - return render(request, - 'accounts/url_validation.html', - {'supervisiontrack': supervisiontrack}) + return generate_load_response(request, temp_url, "accounts/url_validation.html", {"supervisiontrack": supervisiontrack}) else: #Track already valid - temp_url.delete() - return render(request, - 'accounts/url_validation_failed.html') + return generate_load_response(request, temp_url, "accounts/url_validation_failed.html", {}) elif temp_url.status == TemporaryUrl.YEARREVALIDATION: # Supervisee re-validation if supervisee.profile.supervision_key is not None and now < temp_url.expires: @@ -220,18 +224,12 @@ def load_temporary_url(request, hash_url): else: #Track already valid error_message = "You don't need to revalidate at the moment, your supervision is still valid" - temp_url.delete() - return render(request, - 'accounts/url_revalidation_failed.html', - {'error_message': error_message}) + return generate_load_response(request, temp_url, "accounts/url_revalidation_failed.html", {"error_message": error_message}) else: #A pending request already exist error_message = "You are not able to perform this action as you already have a pending supervision request" - temp_url.delete() - return render(request, - 'accounts/url_revalidation_failed.html', - {'error_message': error_message}) + return generate_load_response(request, temp_url, "accounts/url_revalidation_failed.html", {"error_message": error_message}) else: #No key is present in supervisee @@ -247,18 +245,10 @@ def load_temporary_url(request, hash_url): #Not allowed to do this (unproper profile.status) error_message = "You are not allowed to perform this action, you first need to get a valid supervision" - temp_url.delete() - return render(request, - 'accounts/url_revalidation_failed.html', - {'error_message': error_message}) + return generate_load_response(request, temp_url, "accounts/url_revalidation_failed.html", {"error_message": error_message}) - temp_url.delete() - return render(request, - 'accounts/url_validation.html', - {'supervisiontrack': supervisiontrack}) + return generate_load_response(request, temp_url, "accounts/url_validation.html", {'supervisiontrack': supervisiontrack}) else: #Track already valid - temp_url.delete() - return render(request, - 'accounts/url_validation_failed.html') + return generate_load_response(request, temp_url, "accounts/url_validation_failed.html", {})