/** * Run the database seeds. * * @return void */ public function run() { $user_role = new UserRole(); $user_role->role = 'User'; $user_role->save(); $user_role = new UserRole(); $user_role->role = 'Admin'; $user_role->save(); }
/** * 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; } }
public function testAuthState_authStateAccurateForLoggedInStateWithActing() { $role = UserRole::where('name', '=', UserRole::ACTOR_ROLE)->first(); $user = factory(App\Models\User::class, 1)->create(); $user->password = '******'; $user->save(); $user2 = factory(App\Models\User::class, 1)->create(); $user2->password = '******'; $user2->save(); $user->roles()->attach($role); App::bindShared('oauth2-server.authorizer', function () use($user) { $mock = Mockery::mock(\LucaDegasperi\OAuth2Server\Authorizer::class); $mock->shouldReceive('getResourceOwnerId')->andReturn($user->id); $mock->shouldReceive('getResourceOwnerType')->andReturn("user"); return $mock; }); Input::merge(array('access_token' => 'random_token')); Input::merge(array('act_as' => $user2->id)); $adapter = App::make(APIAdapter::class); $state = $adapter->getAuthState(); $this->assertFalse($state->rememberMe); $this->assertEquals($user->id, $state->userId); $this->assertEquals($user2->id, $state->actingUserId); $this->assertEquals(APIAdapter::AUTH_MECHANISM, $state->authMechanism); }
/** * 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 testAuthState_authStateAccurateForLoggedInStateWithActing() { $role = UserRole::where('name', '=', UserRole::ACTOR_ROLE)->first(); $user = factory(App\Models\User::class, 1)->create(); $user->password = '******'; $user->save(); $user2 = factory(App\Models\User::class, 1)->create(); $user2->password = '******'; $user2->save(); $user->roles()->attach($role); Auth::attempt(['username' => $user->username, 'password' => 'password']); Acting::asUser($user2); $adapter = new WebsiteAdapter(); $state = $adapter->getAuthState(); $this->assertFalse($state->rememberMe); $this->assertEquals($user->id, $state->userId); $this->assertEquals($user2->id, $state->actingUserId); $this->assertEquals(WebsiteAdapter::AUTH_MECHANISM, $state->authMechanism); }
public function getUserRole() { return $this->hasOne(UserRole::className(), ['user_id' => 'user_id']); }
public function getArole() { return $this->hasOne(UserRole::className(), ['role_id' => 'role']); }
/** * Handles user edit * * @param EditUserRequest $request * @param int $id User id * @return \Illuminate\Http\RedirectResponse */ public function putEdit(EditUserRequest $request, $id) { $user = User::find($id); $user->changeProfile($request); if ($user->hasRole('admin') && count($user->getAdmins(false, true)) <= 1 && (!in_array(1, $request->input('roles')) || !$request->input('active'))) { flash()->error(trans('users.can_not_edit')); return redirect()->back(); } else { UserRole::where('user_id', $user->id)->delete(); $user->roles()->attach($request->input('roles')); $user->changeSettings($request); } if ($request->file('avatar')) { $user->changeAvatar($request); } $user->save(); User::flushCache($user); flash()->success(trans('users.edit_success')); return redirect()->back(); }
/** * @return \yii\db\ActiveQuery */ public function getUserRoles() { return $this->hasMany(UserRole::className(), ['user_id' => 'id']); }
public function _indexAudittrail() { $userRole = UserRole::where(['ACTIVE' => 1])->get(['ID', 'NAME']); $filterGroups = array('productionFilterGroup' => [], 'dateFilterGroup' => array(['id' => 'date_begin', 'name' => 'From Date'], ['id' => 'date_end', 'name' => 'To Date']), 'frequenceFilterGroup' => [['name' => 'IntObjectType', 'default' => ['ID' => 0, 'NAME' => 'All']]], 'enableSaveButton' => false); return view('admin.audittrail', ['filters' => $filterGroups, 'userRole' => $userRole]); }
public function hasRole($roleCode) { if ($this->ID) { $user_user_role = UserUserRole::getTableName(); $user_role = UserRole::getTableName(); $rows = UserUserRole::join($user_role, "{$user_user_role}.ROLE_ID", '=', "{$user_role}.ID")->where([$user_role . ".CODE" => $roleCode, $user_user_role . ".USER_ID" => $this->ID])->select($user_role . ".CODE")->distinct()->get(); if (count($rows) > 0) { return true; } else { return false; } } return false; }
public function run() { foreach ($this->roles as $roleName) { UserRole::create(['name' => $roleName]); } }
/** * Edit user * * @param Request $request * @param $id * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\View\View */ public function edit(Request $request, $id) { $user = User::getUserById($id); if (!empty($user)) { if ($request->isMethod('post')) { $rules = ['first_name' => 'required', 'last_name' => 'required', 'position' => 'required', 'type' => 'required', 'phone' => 'phone:AM', 'username' => 'required|unique:users,username,' . $id, 'email' => 'required|email|unique:users,email,' . $id, 'pass' => 'min:6|max:12', 'pass_confirmation' => 'min:6|max:12|same:pass', 'image' => 'mimes:jpeg,jpg,png']; Validator::make($request->all(), $rules)->validate(); $user->first_name = $request->input('first_name'); $user->last_name = $request->input('last_name'); $user->position = $request->input('position'); $user->role_id = $request->input('type'); if ($request->has('phone')) { $user->phone = $request->input('phone'); } if (!empty($request->file("image"))) { if (!empty($user->image)) { if (Storage::exists('uploads/' . $user->image)) { Storage::delete('uploads/' . $user->image); } } $generated_string = str_random(32); $file = $request->file("image")->store('uploads'); $new_file = $generated_string . '.' . $request->file("image")->getClientOriginalExtension(); Storage::move($file, 'uploads/' . $new_file); $img = Image::make($request->file('image')); $img->crop(200, 200); $img->save(storage_path('app/public/uploads/' . $new_file)); $user->image = $new_file; } $user->username = $request->input('username'); $user->email = $request->input('email'); $user->notification = $request->has('notification'); if ($request->has('pass')) { $user->password = Hash::make($request->input('pass')); } $user->approve = 1; $user->save(); $notifications = Notification::getNotificationBySenderId($user->id); foreach ($notifications as $notification) { $notification->delete(); } $notifications = Notification::getNotificationByReaderId($user->id); foreach ($notifications as $notification) { $notification->delete(); } if ($user->role_id == 1) { $notification = new Notification(); $notification->from = 1; $notification->to = $user->id; $notification->type = 1; $notification->save(); } return redirect()->route('approved_users'); } else { $user_roles = UserRole::getRoles(); return view('admin.user.edit', compact('user', 'user_roles')); } } else { return redirect()->back(); } }