diff --git a/app/Http/Controllers/SetupController.php b/app/Http/Controllers/SetupController.php index 94af83064f18..074788446485 100644 --- a/app/Http/Controllers/SetupController.php +++ b/app/Http/Controllers/SetupController.php @@ -58,9 +58,11 @@ class SetupController extends Controller if ($check['system_health'] === false) { info($check); - return response('Oops, something went wrong. Check your logs.'); /* We should never reach this block, but jic. */ + return response('Oops, something went wrong. Check your logs.'); /* We should never reach this block, but just in case. */ } + return $request->all(); + $mail_driver = $request->input('mail_driver'); if (! $this->failsafeMailCheck($request)) { diff --git a/app/Http/Requests/Setup/CheckMailRequest.php b/app/Http/Requests/Setup/CheckMailRequest.php index 4dc58d2ecf71..6ff4640a4095 100644 --- a/app/Http/Requests/Setup/CheckMailRequest.php +++ b/app/Http/Requests/Setup/CheckMailRequest.php @@ -33,15 +33,17 @@ class CheckMailRequest extends Request */ public function rules() { + info($this->driver); + return [ - 'driver' => ['required', 'in:smtp,mail,sendmail'], - 'from_name' => ['required'], - 'from_address' => ['required'], - 'username' => ['required'], - 'host' => ['required'], - 'port' => ['required'], - 'encryption' => ['required'], - 'password' => ['required'], + 'driver' => ['required', 'in:smtp,mail,sendmail,log'], + 'from_name' => ['required_unless:driver,log'], + 'from_address' => ['required_unless:driver,log'], + 'username' => ['required_unless:driver,log'], + 'host' => ['required_unless:driver,log'], + 'port' => ['required_unless:driver,log'], + 'encryption' => ['required_unless:driver,log'], + 'password' => ['required_unless:driver,log'], ]; } } diff --git a/app/Http/Requests/Setup/StoreSetupRequest.php b/app/Http/Requests/Setup/StoreSetupRequest.php index a3e7d6595aa3..488c729f8e14 100644 --- a/app/Http/Requests/Setup/StoreSetupRequest.php +++ b/app/Http/Requests/Setup/StoreSetupRequest.php @@ -37,12 +37,12 @@ class StoreSetupRequest extends Request 'db_password' => '', /*Mail driver*/ 'mail_driver' => 'required', - 'encryption' => 'required', - 'mail_host' => 'required', - 'mail_username' => 'required', - 'mail_name' => 'required', - 'mail_address' => 'required', - 'mail_password' => 'required', + 'encryption' => 'required_unless:mail_driver,log', + 'mail_host' => 'required_unless:mail_driver,log', + 'mail_username' => 'required_unless:mail_driver,log', + 'mail_name' => 'required_unless:mail_driver,log', + 'mail_address' => 'required_unless:mail_driver,log', + 'mail_password' => 'required_unless:mail_driver,log', /*user registration*/ 'privacy_policy' => 'required', 'terms_of_service' => 'required', diff --git a/app/Utils/SystemHealth.php b/app/Utils/SystemHealth.php index 4fb7997b2c7d..3e0283dcb3d3 100644 --- a/app/Utils/SystemHealth.php +++ b/app/Utils/SystemHealth.php @@ -196,6 +196,10 @@ class SystemHealth public static function testMailServer($request = null) { + if ($request->driver == 'log') { + return []; + } + if ($request && $request instanceof CheckMailRequest) { config(['mail.driver' => $request->input('driver')]); config(['mail.host' => $request->input('host')]); @@ -225,7 +229,7 @@ class SystemHealth return Mail::failures(); } - return response()->json(['message'=>'Success'], 200); + return response()->json(['message' => 'Success'], 200); } private static function checkEnvWritable() diff --git a/resources/views/setup/_mail.blade.php b/resources/views/setup/_mail.blade.php index 7cc878fdcd05..55c9691d4e76 100644 --- a/resources/views/setup/_mail.blade.php +++ b/resources/views/setup/_mail.blade.php @@ -1,4 +1,4 @@ -