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 
7273    send_reminder_email_for_pending_learner_credit_request 
7374)
7475from  enterprise_access .apps .subsidy_request .utils  import  (
75-     get_action_choice ,
7676    get_error_reason_choice ,
77-     get_user_message_choice 
7877)
7978from  enterprise_access .apps .track .segment  import  track_event 
8079from  enterprise_access .utils  import  format_traceback , get_subsidy_model 
@@ -898,8 +897,8 @@ def create(self, request, *args, **kwargs):
898897                self ._reuse_existing_request (existing_request , course_price )
899898                LearnerCreditRequestActions .create_action (
900899                    learner_credit_request = existing_request ,
901-                     recent_action = get_action_choice ( SubsidyRequestStates .REQUESTED ) ,
902-                     status = get_user_message_choice ( SubsidyRequestStates .REQUESTED ) ,
900+                     recent_action = LearnerCreditRequestActionTypes .REQUESTED ,
901+                     status = LearnerCreditRequestUserMessages .REQUESTED ,
903902                )
904903                # Trigger admin email notification with the latest request 
905904                send_learner_credit_bnr_admins_email_with_new_requests_task .delay (
@@ -941,8 +940,8 @@ def create(self, request, *args, **kwargs):
941940                    lcr  =  LearnerCreditRequest .objects .get (uuid = lcr_uuid )
942941                    LearnerCreditRequestActions .create_action (
943942                        learner_credit_request = lcr ,
944-                         recent_action = get_action_choice ( SubsidyRequestStates .REQUESTED ) ,
945-                         status = get_user_message_choice ( SubsidyRequestStates .REQUESTED ) ,
943+                         recent_action = LearnerCreditRequestActionTypes .REQUESTED ,
944+                         status = LearnerCreditRequestUserMessages .REQUESTED ,
946945                    )
947946
948947                    # Trigger admin email notification with the latest request 
@@ -982,8 +981,8 @@ def approve(self, request, *args, **kwargs):
982981        # Log "approve" as recent action in the Request Action model. 
983982        lc_request_action  =  LearnerCreditRequestActions .create_action (
984983            learner_credit_request = lc_request ,
985-             recent_action = get_action_choice ( SubsidyRequestStates .APPROVED ) ,
986-             status = get_user_message_choice ( SubsidyRequestStates .APPROVED ) ,
984+             recent_action = LearnerCreditRequestActionTypes .APPROVED ,
985+             status = LearnerCreditRequestUserMessages .APPROVED ,
987986        )
988987
989988        try :
@@ -1014,7 +1013,7 @@ def approve(self, request, *args, **kwargs):
10141013            logger .exception (error_msg )
10151014
10161015            # Update approve action with error reason. 
1017-             lc_request_action .status  =  get_user_message_choice ( SubsidyRequestStates .REQUESTED ) 
1016+             lc_request_action .status  =  LearnerCreditRequestUserMessages .REQUESTED 
10181017            lc_request_action .error_reason  =  get_error_reason_choice (
10191018                LearnerCreditRequestActionErrorReasons .FAILED_APPROVAL 
10201019            )
@@ -1044,8 +1043,8 @@ def cancel(self, request, *args, **kwargs):
10441043        error_msg  =  None 
10451044        lc_action  =  LearnerCreditRequestActions .create_action (
10461045            learner_credit_request = learner_credit_request ,
1047-             recent_action = get_action_choice ( SubsidyRequestStates .CANCELLED ) ,
1048-             status = get_user_message_choice ( SubsidyRequestStates .CANCELLED ) ,
1046+             recent_action = LearnerCreditRequestActionTypes .CANCELLED ,
1047+             status = LearnerCreditRequestUserMessages .CANCELLED ,
10491048        )
10501049
10511050        try :
@@ -1059,7 +1058,7 @@ def cancel(self, request, *args, **kwargs):
10591058                    lc_action .error_reason  =  get_error_reason_choice (
10601059                        LearnerCreditRequestActionErrorReasons .FAILED_CANCELLATION 
10611060                    )
1062-                     lc_action .status  =  get_user_message_choice ( SubsidyRequestStates .APPROVED ) 
1061+                     lc_action .status  =  LearnerCreditRequestUserMessages .APPROVED 
10631062                    lc_action .traceback  =  error_msg 
10641063                    lc_action .save ()
10651064                    return  Response (error_msg , status = status .HTTP_422_UNPROCESSABLE_ENTITY )
@@ -1081,7 +1080,7 @@ def cancel(self, request, *args, **kwargs):
10811080            lc_action .error_reason  =  get_error_reason_choice (
10821081                LearnerCreditRequestActionErrorReasons .FAILED_CANCELLATION 
10831082            )
1084-             lc_action .status  =  get_user_message_choice ( SubsidyRequestStates .APPROVED ) 
1083+             lc_action .status  =  LearnerCreditRequestUserMessages .APPROVED 
10851084            lc_action .traceback  =  error_msg 
10861085            lc_action .save ()
10871086            return  Response (status = status .HTTP_422_UNPROCESSABLE_ENTITY )
@@ -1102,17 +1101,20 @@ def remind(self, request, *args, **kwargs):
11021101
11031102        action_instance  =  LearnerCreditRequestActions .create_action (
11041103            learner_credit_request = learner_credit_request ,
1105-             recent_action = get_action_choice ( LearnerCreditAdditionalActionStates .REMINDED ) ,
1106-             status = get_user_message_choice ( LearnerCreditAdditionalActionStates .REMINDED ) ,
1104+             recent_action = LearnerCreditRequestActionTypes .REMINDED ,
1105+             status = LearnerCreditRequestUserMessages .REMINDED ,
11071106        )
11081107
11091108        try :
11101109            send_reminder_email_for_pending_learner_credit_request .delay (assignment .uuid )
11111110            return  Response (status = status .HTTP_200_OK )
11121111        except  Exception  as  exc :  # pylint: disable=broad-except 
11131112            # 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 )
1113+             action_instance .status  =  LearnerCreditRequestUserMessages .APPROVED 
1114+             action_instance .error_reason  =  get_error_reason_choice (
1115+                 LearnerCreditRequestActionErrorReasons .EMAIL_ERROR 
1116+             )
1117+             action_instance .traceback  =  format_traceback (exc )
11161118            action_instance .save ()
11171119            return  Response (status = status .HTTP_422_UNPROCESSABLE_ENTITY )
11181120
@@ -1142,19 +1144,19 @@ def decline(self, *args, **kwargs):
11421144        # Create the action instance before attempting the decline operation 
11431145        action_instance  =  LearnerCreditRequestActions .create_action (
11441146            learner_credit_request = learner_credit_request ,
1145-             recent_action = get_action_choice ( SubsidyRequestStates .DECLINED ) ,
1146-             status = get_user_message_choice ( SubsidyRequestStates .DECLINED ) ,
1147+             recent_action = LearnerCreditRequestActionTypes .DECLINED ,
1148+             status = LearnerCreditRequestUserMessages .DECLINED ,
11471149        )
11481150
11491151        try :
11501152            with  transaction .atomic ():
11511153                learner_credit_request .decline (self .user )
11521154        except  (ValidationError , IntegrityError , DatabaseError ) as  exc :
1153-             action_instance .status  =  get_user_message_choice ( SubsidyRequestStates .REQUESTED ) 
1155+             action_instance .status  =  LearnerCreditRequestActionTypes .REQUESTED 
11541156            action_instance .error_reason  =  get_error_reason_choice (
11551157                LearnerCreditRequestActionErrorReasons .FAILED_DECLINE 
11561158            )
1157-             action_instance .traceback  =  str (exc )
1159+             action_instance .traceback  =  format_traceback (exc )
11581160            action_instance .save ()
11591161
11601162            logger .exception (f"Error declining learner credit request { learner_credit_request_uuid }  : { exc }  " )
@@ -1178,11 +1180,11 @@ def decline(self, *args, **kwargs):
11781180            try :
11791181                unlink_users_from_enterprise_task .delay (enterprise_customer_uuid , [lms_user_id ])
11801182            except  (ConnectionError , TimeoutError , OSError ) as  exc :
1181-                 action_instance .status  =  get_user_message_choice ( SubsidyRequestStates .REQUESTED ) 
1183+                 action_instance .status  =  LearnerCreditRequestActionTypes .REQUESTED 
11821184                action_instance .error_reason  =  get_error_reason_choice (
11831185                    LearnerCreditRequestActionErrorReasons .FAILED_DECLINE 
11841186                )
1185-                 action_instance .traceback  =  str (exc )
1187+                 action_instance .traceback  =  format_traceback (exc )
11861188                action_instance .save ()
11871189
11881190                logger .exception (
0 commit comments