diff --git a/app/Traits/Helper.php b/app/Traits/Helper.php index 8ddd1b3..0a7fa5e 100644 --- a/app/Traits/Helper.php +++ b/app/Traits/Helper.php @@ -383,7 +383,7 @@ trait Helper continue; } $current_deadline_number = $lastInvoice->deadline_number + 1; - NhInsurancesInvoice::create([ + $invoice = NhInsurancesInvoice::create([ 'invoice_id' => $this->generateInsuranceInvoiceID(), 'insurance_id' => $i->id, 'subscription_id' => $lastInvoice->subscription_id ?? null, @@ -394,6 +394,18 @@ trait Helper 'reason' => $lastInvoice->reason, 'deadline_number' => $current_deadline_number ]); + $currency = $this->getNetworkCurrency($invoice->insurance->network_id); + // Envoyer le mail + Event::dispatch(new InsuranceEvent($invoice->insurance, trans('messages.insurance_invoice_generated_title'), + trans('messages.insurance_invoice_generated_mail', ['name' => $invoice->insurance->user->lastname, 'insured_id' => $invoice->insurance->insured_id, + 'bonus_amount' => $this->toMoneyWithCurrencyCode($invoice->insurance->bonus_amount, $currency), 'total_bonus_amount' => $this->toMoneyWithCurrencyCode($invoice->insurance->total_bonus_amount, $currency), 'number_of_beneficiaries' => $invoice->insurance->number_of_beneficiaries, + 'gender' => trans('states.' . $invoice->insurance->user->identification->gender), 'insurance_name' => $invoice->insurance->network->name, 'months' => $invoice->insurance->monthsGrid->number_of_months, 'invoice_id' => $invoice->invoice_id, + 'amount' => $this->toMoneyWithCurrencyCode($invoice->amount, $currency), 'deadline' => $current_deadline_number, 'remains_deadlines' => $invoice->insurance->deadlines - $invoice->insurance->paid_deadlines, + 'payment_period' => trans('states.' . $invoice->insurance->monthsGrid->payment_period), 'reason' => trans('states.' . $invoice->reason), + 'deadlines' => $invoice->insurance->deadlines, 'amount_per_split' => $this->toMoneyWithCurrencyCode($invoice->insurance->amount_per_split, $currency), 'amount_last_payment' => $this->toMoneyWithCurrencyCode($invoice->insurance->amount_last_payment, $currency), + 'waiting_days' => empty($invoice->insurance->monthsGrid->waiting_period_days) ? trans('messages.none') : trans('messages.n_days', ['n' => $invoice->insurance->monthsGrid->waiting_period_days]), + 'start_at' => $invoice->insurance->start_at + ]))); } } } diff --git a/resources/lang/en/messages.php b/resources/lang/en/messages.php index 1fc2a74..16e4f49 100755 --- a/resources/lang/en/messages.php +++ b/resources/lang/en/messages.php @@ -223,5 +223,31 @@ Your insurance has expired. 'insurance_payment_suspended_title' => 'You have an outstanding payment', 'insurance_invoice_paid' => "Insurance invoice paid", 'none' => "None", - 'n_days' => ":n days" + 'n_days' => ":n days", + 'insurance_invoice_generated_title' => "Your insurance invoice issued", + 'insurance_invoice_generated_mail' => ":gender :name , + + Your :deadline insurance invoice has been issued. + + Invoice information : + - ID: :invoice_id + - Amount: :amount + - Due : :deadline + - Number of remaining deadlines : :remains_deadlines + - Reason: :reason + + Insurance information : + - Insured number: :insured_id + - Name of the insurance: :insurance_name + - Basic insurance premium amount: :bonus_amount + - Total premium amount: :total_bonus_amount + - Number of beneficiaries : :number_of_beneficiaries + - Number of months: :months + - Payment period: :payment_period + - Number of total deadlines: :deadlines + - Amount per due date: :amount_per_split + - Amount of the last payment: :amount_last_payment + - Waiting period: :waiting_days + - Start date of the insurance: :start_at + ", ]; diff --git a/resources/lang/fr/messages.php b/resources/lang/fr/messages.php index fc3792b..d0ee807 100755 --- a/resources/lang/fr/messages.php +++ b/resources/lang/fr/messages.php @@ -240,5 +240,31 @@ Votre assurance est arrivée à échéance. 'insurance_payment_suspended_title' => 'Vous avez un paiement non effectué', 'insurance_invoice_paid' => "Facture de l'assurance payée", 'none' => "Aucun", - 'n_days' => ":n jours" + 'n_days' => ":n jours", + 'insurance_invoice_generated_title' => "Facture de votre assurance émise", + 'insurance_invoice_generated_mail' => ":gender :name , + + La facture de votre assurance d'échéance :deadline a été émise. + + Informations sur la facture : + - ID : :invoice_id + - Montant : :amount + - Echéance : :deadline + - Nombre d'échéances restantes : :remains_deadlines + - Motif : :reason + + Informations de l'assurance : + - Numéro d'assuré : :insured_id + - Nom de l'assurance : :insurance_name + - Montant de la prime de base d'assuré : :bonus_amount + - Montant total de la prime : :total_bonus_amount + - Nombre d'ayants droit : :number_of_beneficiaries + - Nombre de mois : :months + - Période de paiement : :payment_period + - Nombre d'échéances totales : :deadlines + - Montant par échéance : :amount_per_split + - Montant de la dernière échéance : :amount_last_payment + - Délai de carence : :waiting_days + - Date de debut de l'assurance : :start_at + ", ];