From dfcf8e0a3990ea6eccc2b906ea289a11d2f24905 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 17 Dec 2023 10:16:02 +1100 Subject: [PATCH] Updates for send email validation --- app/DataMapper/EmailTemplateDefaults.php | 17 ++++++++++++++++ app/Http/Requests/Email/SendEmailRequest.php | 21 ++++++++++++++++++-- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/app/DataMapper/EmailTemplateDefaults.php b/app/DataMapper/EmailTemplateDefaults.php index 93be2e4e9805..0111277d8080 100644 --- a/app/DataMapper/EmailTemplateDefaults.php +++ b/app/DataMapper/EmailTemplateDefaults.php @@ -15,6 +15,23 @@ use Illuminate\Support\Facades\App; class EmailTemplateDefaults { + public array $templates = [ + 'email_template_invoice', + 'email_template_quote', + 'email_template_credit', + 'email_template_payment', + 'email_template_payment_partial', + 'email_template_statement', + 'email_template_reminder1', + 'email_template_reminder2', + 'email_template_reminder3', + 'email_template_reminder_endless', + 'email_template_custom1', + 'email_template_custom2', + 'email_template_custom3', + 'email_template_purchase_order', + ]; + public static function getDefaultTemplate($template, $locale) { App::setLocale($locale); diff --git a/app/Http/Requests/Email/SendEmailRequest.php b/app/Http/Requests/Email/SendEmailRequest.php index 9c004ebfb964..944296394336 100644 --- a/app/Http/Requests/Email/SendEmailRequest.php +++ b/app/Http/Requests/Email/SendEmailRequest.php @@ -24,6 +24,24 @@ class SendEmailRequest extends Request private string $entity_plural = ''; private string $error_message = ''; + + public array $templates = [ + 'email_template_invoice', + 'email_template_quote', + 'email_template_credit', + 'email_template_payment', + 'email_template_payment_partial', + 'email_template_statement', + 'email_template_reminder1', + 'email_template_reminder2', + 'email_template_reminder3', + 'email_template_reminder_endless', + 'email_template_custom1', + 'email_template_custom2', + 'email_template_custom3', + 'email_template_purchase_order', + ]; + /** * Determine if the user is authorized to make this request. * @@ -45,13 +63,12 @@ class SendEmailRequest extends Request $user = auth()->user(); return [ - 'template' => 'bail|required', + 'template' => 'bail|required|in:'.implode(',', $this->templates), 'entity' => 'bail|required|in:App\Models\Invoice,App\Models\Quote,App\Models\Credit,App\Models\RecurringInvoice,App\Models\PurchaseOrder,App\Models\Payment', 'entity_id' => ['bail', 'required', Rule::exists($this->entity_plural, 'id')->where('company_id', $user->company()->id)], 'cc_email.*' => 'bail|sometimes|email', ]; - } public function prepareForValidation()