From cd3aecdf5bf1654d6e81c1be20bc7d8a41c3db1c Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Mon, 16 Nov 2015 21:51:34 +0200 Subject: [PATCH] Clarifying email errors --- app/Http/routes.php | 3 +-- app/Ninja/Mailers/ContactMailer.php | 25 ++++++++++++++----------- resources/lang/en/texts.php | 12 +++++++++--- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/app/Http/routes.php b/app/Http/routes.php index d882bfc9e788..71cfbc898401 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -1,6 +1,5 @@ id === 1) { Auth::loginUsingId(1); } -*/ \ No newline at end of file +*/ diff --git a/app/Ninja/Mailers/ContactMailer.php b/app/Ninja/Mailers/ContactMailer.php index 966ea96fc78c..67ba09a17dd8 100644 --- a/app/Ninja/Mailers/ContactMailer.php +++ b/app/Ninja/Mailers/ContactMailer.php @@ -24,9 +24,9 @@ class ContactMailer extends Mailer $account = $invoice->account; if ($client->trashed()) { - return trans('texts.can_not_email_inactive_client'); + return trans('texts.email_errors.inactive_client'); } elseif ($invoice->trashed()) { - return trans('texts.can_not_email_inactive_invoice'); + return trans('texts.email_errors.inactive_invoice'); } $account->loadLocalizationSettings($client); @@ -40,7 +40,8 @@ class ContactMailer extends Mailer } foreach ($invoice->invitations as $invitation) { - if ($this->sendInvitation($invitation, $invoice, $emailTemplate, $emailSubject, $pdfString)) { + $response = $this->sendInvitation($invitation, $invoice, $emailTemplate, $emailSubject, $pdfString); + if ($response === true) { $sent = true; } } @@ -55,7 +56,7 @@ class ContactMailer extends Mailer } } - return $sent ?: trans('texts.email_error'); + return $response; } private function sendInvitation($invitation, $invoice, $body, $subject, $pdfString) @@ -72,12 +73,14 @@ class ContactMailer extends Mailer } } - if (!$user->email || !$user->confirmed) { - return false; - } - - if (!$invitation->contact->email || $invitation->contact->trashed()) { - return false; + if (!$user->email || !$user->registered) { + return trans('texts.email_errors.user_unregistered'); + } elseif (!$user->confirmed) { + return trans('texts.email_errors.user_unconfirmed'); + } elseif (!$invitation->contact->email) { + return trans('texts.email_errors.invalid_contact_email'); + } elseif ($invitation->contact->trashed()) { + return trans('texts.email_errors.inactive_contact'); } $variables = [ @@ -110,7 +113,7 @@ class ContactMailer extends Mailer if ($response === true) { return true; } else { - return false; + return $response; } } diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index 7922889f53ab..9b61b694134b 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -919,7 +919,13 @@ return array( 'include' => 'Include', 'logo_too_large' => 'Your logo is :size, for better performance we suggest uploading an image file less than 200KB', - 'can_not_email_inactive_client' => 'Emails can not be sent to inactive clients', - 'can_not_email_inactive_invoice' => 'Emails can not be sent to inactive invoices', - + 'email_errors' => [ + 'inactive_client' => 'Emails can not be sent to inactive clients', + 'inactive_contact' => 'Emails can not be sent to inactive contacts', + 'inactive_invoice' => 'Emails can not be sent to inactive invoices', + 'user_unregistered' => 'Please register your account to send emails', + 'user_unconfirmed' => 'Please confirm your account to send emails', + 'invalid_contact_email' => 'Invalid contact email', + ] + );