/** * Run the database seeds. */ public function run() { $rolesRepository = new RoleRepository(); $userRepository = new UserRepository(); $role = $rolesRepository->findByName('administrator'); $user = User::fromNameAndEmailAndPassword('Administrator', '*****@*****.**', '123456'); $user->confirm(); $user->role()->associate($role); $userRepository->save($user); }
public function testCanSaveUser() { $this->dontSeeInDatabase('users', ['name' => 'Francesco', 'email' => '*****@*****.**']); $this->userRepository->save($this->prepareTestUser()); $this->seeInDatabase('users', ['name' => 'Francesco', 'email' => '*****@*****.**']); }
/** * Invita un nuovo editor creandone l'utente come editor. * * @param UserInviteRequest $request * @param UserRepository $userRepository * @param RoleRepository $roleRepository * @return \Illuminate\Http\RedirectResponse */ public function postInvite(UserInviteRequest $request, UserRepository $userRepository, RoleRepository $roleRepository) { $user = User::fromNameAndEmailAndPassword($request->get('name'), $request->get('email'), ''); try { $userRepository->save($user); } catch (NotSavedException $e) { return redirect('admin/users')->with('error_message', 'Problemi durante la creazione dell\'utente. Riprovare.'); } try { $role = $roleRepository->findByName('editor'); $this->dispatch(new AssignRoleToUserCommand($role, $user)); } catch (NotSavedException $e) { return redirect('admin/users')->with('error_message', 'Problemi in fase di assegnazione del ruolo. Riprovare.'); } return redirect('admin/users')->with('success_message', 'Editor invitato correttamente.'); }
/** * @param Request $request * @param UserRepository $userRepository * @param $confirmationCode * @return \Illuminate\Http\RedirectResponse * @throws \Exception */ public function postInvitation(Request $request, UserRepository $userRepository, $confirmationCode) { /* @var User $user */ $user = $userRepository->findByConfirmationCode($confirmationCode); if (!$user) { return redirect('admin/login')->with('errors', Collection::make(['Codice di conferma non riconosciuto. Riprovare.'])); } if ($user->email !== $request->get('email')) { return redirect('admin/invitation/' . $confirmationCode)->with('errors', Collection::make(['L\'indirizzo email inserito non corrisponde a quello del codice.'])); } $user->setNewPassword($request->get('password')); $user->confirm(); try { $userRepository->save($user); } catch (NotSavedException $e) { return redirect('admin/invitation/' . $confirmationCode)->with('errors', Collection::make(['Problemi in fase di salvataggio della password. Riprovare.'])); } return redirect('admin/login')->with('message', 'Editor registrato! Effettua l\'accesso inserendo le credenziali scelte.'); }