diff --git a/app/Events/User/UserWasAddedEvent.php b/app/Events/User/UserWasAddedEvent.php new file mode 100644 index 00000000..e230ba95 --- /dev/null +++ b/app/Events/User/UserWasAddedEvent.php @@ -0,0 +1,32 @@ +user = $user; + } +} diff --git a/app/Handlers/Commands/User/AddTeamMemberCommandHandler.php b/app/Handlers/Commands/User/AddTeamMemberCommandHandler.php new file mode 100644 index 00000000..c377c8df --- /dev/null +++ b/app/Handlers/Commands/User/AddTeamMemberCommandHandler.php @@ -0,0 +1,40 @@ + $command->username, + 'password' => $command->password, + 'email' => $command->email, + 'level' => $command->level, + ]); + + event(new UserWasAddedEvent($user)); + + return $user; + } +} diff --git a/app/Http/Controllers/Dashboard/TeamController.php b/app/Http/Controllers/Dashboard/TeamController.php index ba518fa8..4730e3d1 100644 --- a/app/Http/Controllers/Dashboard/TeamController.php +++ b/app/Http/Controllers/Dashboard/TeamController.php @@ -12,6 +12,7 @@ namespace CachetHQ\Cachet\Http\Controllers\Dashboard; use AltThree\Validator\ValidationException; +use CachetHQ\Cachet\Commands\User\AddTeamMemberCommand; use CachetHQ\Cachet\Commands\User\RemoveUserCommand; use CachetHQ\Cachet\Models\User; use GrahamCampbell\Binput\Facades\Binput; @@ -69,7 +70,12 @@ class TeamController extends Controller public function postAddUser() { try { - User::create(Binput::all()); + $this->dispatch(new AddTeamMemberCommand( + Binput::get('username'), + Binput::get('password'), + Binput::get('email'), + Binput::get('level') + )); } catch (ValidationException $e) { return Redirect::route('dashboard.team.add') ->withInput(Binput::except('password'))