Fixes for cc email validation

This commit is contained in:
David Bomba 2023-11-21 19:35:57 +11:00
parent 4ea4b5cf3b
commit 09b502303d
2 changed files with 16 additions and 3 deletions

View File

@ -69,8 +69,11 @@ class EmailController extends BaseController
/** @var \App\Models\User $user */ /** @var \App\Models\User $user */
$user = auth()->user(); $user = auth()->user();
if ($request->has('cc_email') && $request->cc_email && (Ninja::isSelfHost() || $user->account->isPaidHostedClient())) { if ($request->has('cc_email') && (Ninja::isSelfHost() || $user->account->isPaidHostedClient())) {
$mo->cc[] = new Address($request->cc_email);
foreach($request->cc_email as $email)
$mo->cc[] = new Address($email);
} }
$entity_obj->invitations->each(function ($invitation) use ($entity_obj, $mo) { $entity_obj->invitations->each(function ($invitation) use ($entity_obj, $mo) {

View File

@ -43,8 +43,10 @@ class SendEmailRequest extends Request
'template' => 'bail|required', 'template' => 'bail|required',
'entity' => 'bail|required', 'entity' => 'bail|required',
'entity_id' => 'bail|required', 'entity_id' => 'bail|required',
'cc_email' => 'bail|sometimes|email|nullable', 'cc_email.*' => 'bail|sometimes|email|nullable',
]; ];
} }
public function prepareForValidation() public function prepareForValidation()
@ -72,6 +74,14 @@ class SendEmailRequest extends Request
$input['entity'] = "App\Models\\".ucfirst(Str::camel($input['entity'])); $input['entity'] = "App\Models\\".ucfirst(Str::camel($input['entity']));
} }
if(isset($input['cc_email'])){
$input['cc_email'] = collect(explode(",", $input['cc_email']))->map(function($email){
return trim($email);
})->filter(function($email){
return filter_var($email, FILTER_VALIDATE_EMAIL);
})->slice(0,4)->toArray();
}
$this->replace($input); $this->replace($input);
} }