Esempio n. 1
0
 /**
  * Add roles for new user
  *
  * @param $userId
  * @param $selectedRoles
  * @throws \Exception
  */
 public function addRoles($userId, $selectedRoles)
 {
     try {
         foreach ($selectedRoles as $key => $id) {
             $this->model->create(['user_id' => $userId, 'role_id' => $id]);
         }
     } catch (\Exception $e) {
         throw $e;
     }
 }
Esempio n. 2
0
 /**
  * Update user account information
  *
  * @param $request
  * @return bool
  */
 public function updateUser($request)
 {
     $redirect = false;
     $errorMsg = '';
     // Start transaction
     DB::beginTransaction();
     // Create new user
     try {
         $userId = $request->get('user_id');
         // Update user info
         $user = $this->model->find($userId);
         $update = $user->update(['first_name' => $request->get('first_name'), 'last_name' => $request->get('last_name'), 'email' => $request->get('email'), 'active' => $request->get('active'), 'password' => bcrypt($request->get('password'))]);
         // Remove all existing roles for user
         if (isset($user->id)) {
             $user->roles()->delete();
         }
         // Update user roles
         $newRoles = explode(',', $request->get('role'));
         if (count($newRoles) > 0) {
             foreach ($newRoles as $key => $value) {
                 $this->userRoleModel->create(['user_id' => $userId, 'role_id' => $value]);
             }
         }
     } catch (\Exception $e) {
         $errorMsg = $e->getMessage();
         $redirect = true;
     } catch (QueryException $e) {
         $errorMsg = $e->getErrors();
         $redirect = true;
     } catch (ModelNotFoundException $e) {
         $errorMsg = $e->getErrors();
         $redirect = true;
     }
     // Redirect if errors
     if ($redirect) {
         // Rollback
         DB::rollback();
         // Log specific technical message
         Tools::log($errorMsg, array_except($request->all(), ['_token', 'created_from', 'created_to', 'password', 'password_confirmation']));
         return false;
     }
     // Commit all changes
     DB::commit();
     return true;
 }
 public function run()
 {
     foreach ($this->roles as $roleName) {
         UserRole::create(['name' => $roleName]);
     }
 }