5151from enterprise_access .apps .subsidy_access_policy .models import SubsidyAccessPolicy
5252from enterprise_access .apps .subsidy_request .constants import (
5353 REUSABLE_REQUEST_STATES ,
54- LearnerCreditAdditionalActionStates ,
5554 LearnerCreditRequestActionErrorReasons ,
55+ LearnerCreditRequestActionTypes ,
56+ LearnerCreditRequestUserMessages ,
5657 SegmentEvents ,
5758 SubsidyRequestStates ,
5859 SubsidyTypeChoices
7172 send_learner_credit_bnr_request_approve_task ,
7273 send_reminder_email_for_pending_learner_credit_request
7374)
74- from enterprise_access .apps .subsidy_request .utils import (
75- get_action_choice ,
76- get_error_reason_choice ,
77- get_user_message_choice
78- )
75+ from enterprise_access .apps .subsidy_request .utils import get_error_reason_choice
7976from enterprise_access .apps .track .segment import track_event
8077from enterprise_access .utils import format_traceback , get_subsidy_model
8178
@@ -898,8 +895,8 @@ def create(self, request, *args, **kwargs):
898895 self ._reuse_existing_request (existing_request , course_price )
899896 LearnerCreditRequestActions .create_action (
900897 learner_credit_request = existing_request ,
901- recent_action = get_action_choice ( SubsidyRequestStates .REQUESTED ) ,
902- status = get_user_message_choice ( SubsidyRequestStates .REQUESTED ) ,
898+ recent_action = LearnerCreditRequestActionTypes .REQUESTED ,
899+ status = LearnerCreditRequestUserMessages .REQUESTED ,
903900 )
904901 # Trigger admin email notification with the latest request
905902 send_learner_credit_bnr_admins_email_with_new_requests_task .delay (
@@ -941,8 +938,8 @@ def create(self, request, *args, **kwargs):
941938 lcr = LearnerCreditRequest .objects .get (uuid = lcr_uuid )
942939 LearnerCreditRequestActions .create_action (
943940 learner_credit_request = lcr ,
944- recent_action = get_action_choice ( SubsidyRequestStates .REQUESTED ) ,
945- status = get_user_message_choice ( SubsidyRequestStates .REQUESTED ) ,
941+ recent_action = LearnerCreditRequestActionTypes .REQUESTED ,
942+ status = LearnerCreditRequestUserMessages .REQUESTED ,
946943 )
947944
948945 # Trigger admin email notification with the latest request
@@ -982,8 +979,8 @@ def approve(self, request, *args, **kwargs):
982979 # Log "approve" as recent action in the Request Action model.
983980 lc_request_action = LearnerCreditRequestActions .create_action (
984981 learner_credit_request = lc_request ,
985- recent_action = get_action_choice ( SubsidyRequestStates .APPROVED ) ,
986- status = get_user_message_choice ( SubsidyRequestStates .APPROVED ) ,
982+ recent_action = LearnerCreditRequestActionTypes .APPROVED ,
983+ status = LearnerCreditRequestUserMessages .APPROVED ,
987984 )
988985
989986 try :
@@ -1014,7 +1011,7 @@ def approve(self, request, *args, **kwargs):
10141011 logger .exception (error_msg )
10151012
10161013 # Update approve action with error reason.
1017- lc_request_action .status = get_user_message_choice ( SubsidyRequestStates .REQUESTED )
1014+ lc_request_action .status = LearnerCreditRequestUserMessages .REQUESTED
10181015 lc_request_action .error_reason = get_error_reason_choice (
10191016 LearnerCreditRequestActionErrorReasons .FAILED_APPROVAL
10201017 )
@@ -1044,8 +1041,8 @@ def cancel(self, request, *args, **kwargs):
10441041 error_msg = None
10451042 lc_action = LearnerCreditRequestActions .create_action (
10461043 learner_credit_request = learner_credit_request ,
1047- recent_action = get_action_choice ( SubsidyRequestStates .CANCELLED ) ,
1048- status = get_user_message_choice ( SubsidyRequestStates .CANCELLED ) ,
1044+ recent_action = LearnerCreditRequestActionTypes .CANCELLED ,
1045+ status = LearnerCreditRequestUserMessages .CANCELLED ,
10491046 )
10501047
10511048 try :
@@ -1059,7 +1056,7 @@ def cancel(self, request, *args, **kwargs):
10591056 lc_action .error_reason = get_error_reason_choice (
10601057 LearnerCreditRequestActionErrorReasons .FAILED_CANCELLATION
10611058 )
1062- lc_action .status = get_user_message_choice ( SubsidyRequestStates .APPROVED )
1059+ lc_action .status = LearnerCreditRequestUserMessages .APPROVED
10631060 lc_action .traceback = error_msg
10641061 lc_action .save ()
10651062 return Response (error_msg , status = status .HTTP_422_UNPROCESSABLE_ENTITY )
@@ -1081,7 +1078,7 @@ def cancel(self, request, *args, **kwargs):
10811078 lc_action .error_reason = get_error_reason_choice (
10821079 LearnerCreditRequestActionErrorReasons .FAILED_CANCELLATION
10831080 )
1084- lc_action .status = get_user_message_choice ( SubsidyRequestStates .APPROVED )
1081+ lc_action .status = LearnerCreditRequestUserMessages .APPROVED
10851082 lc_action .traceback = error_msg
10861083 lc_action .save ()
10871084 return Response (status = status .HTTP_422_UNPROCESSABLE_ENTITY )
@@ -1102,17 +1099,20 @@ def remind(self, request, *args, **kwargs):
11021099
11031100 action_instance = LearnerCreditRequestActions .create_action (
11041101 learner_credit_request = learner_credit_request ,
1105- recent_action = get_action_choice ( LearnerCreditAdditionalActionStates .REMINDED ) ,
1106- status = get_user_message_choice ( LearnerCreditAdditionalActionStates .REMINDED ) ,
1102+ recent_action = LearnerCreditRequestActionTypes .REMINDED ,
1103+ status = LearnerCreditRequestUserMessages .REMINDED ,
11071104 )
11081105
11091106 try :
11101107 send_reminder_email_for_pending_learner_credit_request .delay (assignment .uuid )
11111108 return Response (status = status .HTTP_200_OK )
11121109 except Exception as exc : # pylint: disable=broad-except
11131110 # Optionally log an errored action here if the task couldn't be queued
1114- action_instance .status = get_user_message_choice (LearnerCreditRequestActionErrorReasons .EMAIL_ERROR )
1115- action_instance .error_reason = str (exc )
1111+ action_instance .status = LearnerCreditRequestUserMessages .APPROVED
1112+ action_instance .error_reason = get_error_reason_choice (
1113+ LearnerCreditRequestActionErrorReasons .EMAIL_ERROR
1114+ )
1115+ action_instance .traceback = format_traceback (exc )
11161116 action_instance .save ()
11171117 return Response (status = status .HTTP_422_UNPROCESSABLE_ENTITY )
11181118
@@ -1142,19 +1142,19 @@ def decline(self, *args, **kwargs):
11421142 # Create the action instance before attempting the decline operation
11431143 action_instance = LearnerCreditRequestActions .create_action (
11441144 learner_credit_request = learner_credit_request ,
1145- recent_action = get_action_choice ( SubsidyRequestStates .DECLINED ) ,
1146- status = get_user_message_choice ( SubsidyRequestStates .DECLINED ) ,
1145+ recent_action = LearnerCreditRequestActionTypes .DECLINED ,
1146+ status = LearnerCreditRequestUserMessages .DECLINED ,
11471147 )
11481148
11491149 try :
11501150 with transaction .atomic ():
11511151 learner_credit_request .decline (self .user )
11521152 except (ValidationError , IntegrityError , DatabaseError ) as exc :
1153- action_instance .status = get_user_message_choice ( SubsidyRequestStates .REQUESTED )
1153+ action_instance .status = LearnerCreditRequestActionTypes .REQUESTED
11541154 action_instance .error_reason = get_error_reason_choice (
11551155 LearnerCreditRequestActionErrorReasons .FAILED_DECLINE
11561156 )
1157- action_instance .traceback = str (exc )
1157+ action_instance .traceback = format_traceback (exc )
11581158 action_instance .save ()
11591159
11601160 logger .exception (f"Error declining learner credit request { learner_credit_request_uuid } : { exc } " )
@@ -1178,11 +1178,11 @@ def decline(self, *args, **kwargs):
11781178 try :
11791179 unlink_users_from_enterprise_task .delay (enterprise_customer_uuid , [lms_user_id ])
11801180 except (ConnectionError , TimeoutError , OSError ) as exc :
1181- action_instance .status = get_user_message_choice ( SubsidyRequestStates .REQUESTED )
1181+ action_instance .status = LearnerCreditRequestActionTypes .REQUESTED
11821182 action_instance .error_reason = get_error_reason_choice (
11831183 LearnerCreditRequestActionErrorReasons .FAILED_DECLINE
11841184 )
1185- action_instance .traceback = str (exc )
1185+ action_instance .traceback = format_traceback (exc )
11861186 action_instance .save ()
11871187
11881188 logger .exception (
0 commit comments