From 487c38d797d7591d0451cdb57bb198532ea2f4e3 Mon Sep 17 00:00:00 2001 From: Thekindbull Date: Mon, 16 Jun 2025 15:09:46 +0800 Subject: [PATCH] create agent without email --- .../Company/CreateAgentController.php | 17 +++++++++++++++-- app/Models/ForcedPassword.php | 13 ++++++++----- resources/views/company/agents/table.blade.php | 7 +++++++ resources/views/layouts/app.blade.php | 3 +++ 4 files changed, 33 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/Company/CreateAgentController.php b/app/Http/Controllers/Company/CreateAgentController.php index 9ee0947..855402e 100644 --- a/app/Http/Controllers/Company/CreateAgentController.php +++ b/app/Http/Controllers/Company/CreateAgentController.php @@ -8,11 +8,14 @@ use App\Models\Agent\Agent; use App\Models\User; +use App\Notifications\UserRegistered; + + class CreateAgentController extends Controller { public function __invoke(Request $request) { - $request->only(['name', 'email', 'phone']); + //dd($request->sendToEmail); $admin = CompanyAdmin::where('user_id', auth()->id()); if (!$admin->count()) { @@ -35,7 +38,6 @@ public function __invoke(Request $request) else { $user = $user = User::create($request->all()); - $user->setForcedPassword(); } if ($user) @@ -46,6 +48,17 @@ public function __invoke(Request $request) 'company_id' => $admin->company_id ]); } + + if ($request->sendToEmail) + { + $user->setForcedPassword(); + } + else + { + $password = $user->setForcedPassword(false); + $admin->notify(instance: new UserRegistered($user->email, password: $password)); + return redirect()->route('company.agents.table')->with('success', 'thank you'); + } return to_route('company.agents.table'); } } diff --git a/app/Models/ForcedPassword.php b/app/Models/ForcedPassword.php index 1bd0975..cef95fa 100644 --- a/app/Models/ForcedPassword.php +++ b/app/Models/ForcedPassword.php @@ -7,13 +7,16 @@ use App\Notifications\UserRegistered; trait ForcedPassword +{ + public function setForcedPassword($sendToEmail = true) { - public function setForcedPassword() - { $newPassword = Str::password(8); $this->password = Hash::make($newPassword); $this->save(); - $this->notify(instance: new UserRegistered($this->email, password: $newPassword)); - return true; + if ($sendToEmail) + { + $this->notify(instance: new UserRegistered($this->email, password: $newPassword)); } - } \ No newline at end of file + return $newPassword; + } +} \ No newline at end of file diff --git a/resources/views/company/agents/table.blade.php b/resources/views/company/agents/table.blade.php index ba27537..5114f4a 100644 --- a/resources/views/company/agents/table.blade.php +++ b/resources/views/company/agents/table.blade.php @@ -64,6 +64,13 @@ + +
+ + +
+ @if (session('success')) + {{ session('success') }} + @endif @foreach ($errors->all() as $error) {{ $error }} @endforeach