Implements awaiting more information while reject subscription

This commit is contained in:
Djery-Tom 2021-11-05 16:46:08 +01:00
parent 2e74d48523
commit 06f04a887a
3 changed files with 44 additions and 4 deletions

View File

@ -496,6 +496,7 @@ class InsuranceSubscriptionController extends Controller
$this->validate($request, [
'nh_validating_agent_id' => 'required_without:agent_id|nullable|integer|exists:nh_validating_agents,id',
'agent_id' => 'required_without:nh_validating_agent_id|nullable|integer|exists:agents,id',
'type' => 'required|in:NORMAL,MORE_INFORMATION',
'reason' => 'required'
]);
@ -504,8 +505,25 @@ class InsuranceSubscriptionController extends Controller
$subscription = NhInsurancesSubscription::findOrFail($id);
$datetime = $this->getCurrentTimeByCountryCode($subscription->network->country->code_country);
$type = $request->input('type');
$mailParams = ['name' => $subscription->user->lastname, 'subscription_id' => $subscription->insurance_subscription_id,
'bonus_amount' => $this->toMoneyWithNetwork($subscription->total_bonus_amount, $subscription->network_id), 'reason' => $request->input('reason'), 'number_of_beneficiaries' => $subscription->number_of_beneficiaries,
'gender' => trans('states.' . $subscription->user->identification->gender), 'insurance_name' => $subscription->network->name];
$notificationParams = ['subscription_id' => $subscription->insurance_subscription_id];
if ($type == 'NORMAL') {
$subscription->state = InsuranceSubscriptionState::REJECTED;
$mailTitle = trans('messages.insurance_subscription_rejected');
$mailMessage = trans('messages.insurance_subscription_rejected_mail', $mailParams);
$notification = trans('messages.insurance_subscription_rejected_notification', $notificationParams);
} else {
$subscription->state = InsuranceSubscriptionState::AWAITING_FURTHER_INFORMATION;
$mailTitle = trans('messages.insurance_subscription_awaiting_more_information_mail');
$mailMessage = trans('messages.insurance_subscription_awaiting_more_information_mail', $mailParams);
$notification = trans('messages.insurance_subscription_awaiting_more_information_notification', $notificationParams);
}
$subscription->reason = $request->input('reason');
$subscription->state = InsuranceSubscriptionState::REJECTED;
$subscription->updated_at = $datetime;
$subscription->save();
@ -519,9 +537,7 @@ class InsuranceSubscriptionController extends Controller
'created_at' => $datetime, 'updated_at' => $datetime,
]);
Event::dispatch(new InsuranceEvent($subscription, trans('messages.insurance_subscription_rejected'), trans('messages.insurance_subscription_rejected_mail', ['name' => $subscription->user->lastname, 'subscription_id' => $subscription->insurance_subscription_id,
'bonus_amount' => $this->toMoneyWithNetwork($subscription->total_bonus_amount, $subscription->network_id), 'reason' => $request->input('reason'), 'number_of_beneficiaries' => $subscription->number_of_beneficiaries,
'gender' => trans('states.' . $subscription->user->identification->gender), 'insurance_name' => $subscription->network->name]), trans('messages.insurance_subscription_rejected_notification', ['subscription_id' => $subscription->insurance_subscription_id])));
Event::dispatch(new InsuranceEvent($subscription, $mailTitle, $mailMessage, $notification));
DB::commit();
return $this->successResponse(trans('messages.successful_transaction'));
} catch (Throwable $e) {

View File

@ -67,4 +67,16 @@ Your insurance has been validated.
- Number of beneficiaries : :number_of_beneficiaries
- Number of months: :months
",
'insurance_subscription_awaiting_more_information' => "Insurance subscription waiting for more information",
'insurance_subscription_awaiting_more_information_mail' => ":gender :name ,
Your application is waiting for more information.
Application information :
- ID: :subscription_id
- Insurance name: :insurance_name
- Premium amount: :bonus_amount
- Number of beneficiaries : :number_of_beneficiaries
Message: :reason",
'insurance_subscription_awaiting_more_information_notification' => "Your :subscription_id application is waiting for more information"
];

View File

@ -67,4 +67,16 @@ Votre assurance a été validée.
- Nombre d'ayants droit : :number_of_beneficiaries
- Nombre de mois : :months
",
'insurance_subscription_awaiting_more_information' => "Souscription à l'assurance en attente de plus d'informations",
'insurance_subscription_awaiting_more_information_mail' => ":gender :name ,
Votre demande de souscription est en attente de plus d'informations.
Informations de la demande :
- ID : :subscription_id
- Nom de l'assurance : :insurance_name
- Montant de la prime : :bonus_amount
- Nombre d'ayants droit : :number_of_beneficiaries
Message : :reason",
'insurance_subscription_awaiting_more_information_notification' => "Votre demande de souscription :subscription_id est en attente de plus d'informations.",
];