public function removePermission($permission) { if (is_string($permission)) { $permission = Permission::where('name', $permission)->first(); } return $this->permissions()->detach($permission); }
public function update($id, $request) { if ($this->valid($request->all(), $this->rules($id))) { $user = $this->findItem($id); $user->name = $request->input('name'); $pass = $request->input('password'); $user->password = empty($pass) ? $user->password : bcrypt($pass); $user->email = $request->input('email'); $group_id = $request->input('group_id'); $active = $request->input('active'); $user->active = empty($active) ? 0 : $active; if ($group_id == '0') { $user->group_id = -1; } else { $user->group_id = $group_id; $rules = Permission::where('object_id', $group_id)->lists('rule', 'admenu_id')->toArray(); if (!is_null($rules)) { $user->admenus()->detach(); foreach ($rules as $menu_id => $rule) { $user->admenus()->attach($menu_id, ['rule' => $rule, 'type' => 'user']); } } } $user->update(); } else { throw new ValidationException('valid', $this->getError()); } }
public function postStudent(StudentRequest $request) { $user = new User(); $user->username = $request->txtten; $user->password = Hash::make($request->txtten); $user->name = $request->txtten; $user->save(); $user_id = $user->id; $permission = Permission::where('slug', 'student')->get()->first(); $permissionUser = new PermissionUser(); $permissionUser->permission_id = $permission->id; $permissionUser->user_id = $user_id; $permissionUser->save(); $student = new ThiSinh(); $student->ten = $request->txtten; $student->gioitinh = $request->sltGt; $student->namsinh = $request->txtns; $student->quequan = $request->txtqq; $student->khuvuc = $request->txtkv; $student->user_id = $user_id; $student->save(); $thisinh_id = $student->id; $point = new Diem(); $point->sbd = $request->txtsbd; $point->mon1 = 0; $point->mon2 = 0; $point->mon3 = 0; $point->khoi = $request->txtkt; $point->thisinh_id = $thisinh_id; $point->save(); return redirect()->route('cluster-staff.quan-ly-thong-tin-thi-sinh.listStudent')->with(['flash_level' => 'success', 'flash_message' => 'Success!!! Complete Add Student']); }
public function permission_edit(Request $request) { $this->validate($request, array('permission' => 'required', 'permission_name' => 'required')); //check repeat before operate the database $error_msg_route = 'This route has already existed!'; $error_msg_route_name = 'This route name has already existed!'; if (!$request->input('id')) { if (Permission::where('permission', $request->input('permission'))->first()) { return redirect()->back()->withErrors($error_msg_route); } if (Permission::where('permission_name', $request->input('permission_name'))->first()) { return redirect()->back()->withErrors($error_msg_route_name); } $lastInsert = Permission::create($request->all()); PermissionRole::create(array('permission_id' => $lastInsert->id, 'role_id' => 1)); } else { $self = Permission::find($request->input('id')); if ($self->permission != $request->input('permission') && Permission::where('permission', $request->input('permission'))->first()) { return redirect()->back()->withErrors($error_msg_route); } if ($self->permission_name != $request->input('permission_name') && Permission::where('permission_name', $request->input('permission_name'))->first()) { return redirect()->back()->withErrors($error_msg_route_name); } Permission::find($request->input('id'))->update($request->all()); } return redirect()->back(); }
/** * Run the database seeds. * * @return void */ public function run() { // Admin $admin = User::where(['email' => '*****@*****.**'])->first(); $adminRole = Role::where(['name' => 'admin'])->first(); $adminPermission = Permission::where(['name' => 'sudo'])->first(); $admin->attachRole($adminRole); $adminRole->attachPermission($adminPermission); // PM $projectManager = User::where(['email' => '*****@*****.**'])->first(); $projectManagerRole = Role::where(['name' => 'project-manager'])->first(); $projectManagerPermission = Permission::where(['name' => 'listing-budget'])->first(); $projectManager->attachRole($projectManagerRole); $projectManagerRole->attachPermission($projectManagerPermission); // Team Leader $teamLeader = User::where(['email' => '*****@*****.**'])->first(); $teamLeaderRole = Role::where(['name' => 'team-leader'])->first(); $teamLeaderPermission = Permission::where(['name' => 'make-timeline'])->first(); $teamLeader->attachRole($teamLeaderRole); $teamLeaderRole->attachPermission($teamLeaderPermission); // Programmer $programmer = User::where(['email' => '*****@*****.**'])->first(); $programmerRole = Role::where(['name' => 'programmer'])->first(); $programmerPermission = Permission::where(['name' => 'knowing-tasks'])->first(); $programmer->attachRole($programmerRole); $programmerRole->attachPermission($programmerPermission); }
public function getTeamAttribute() { $permissions = Permission::where('model_name', 'App\\Project')->where('model_id', $this->jobId)->get(); $team = []; foreach ($permissions as $permission) { array_push($team, $permission->user->teammate->full_name); } return $team; }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (!Auth::check()) { return response('Unauthorized.', 401); } if (!Permission::where('route', $this->route->getActionName())->whereIn('roles_id', Auth::user()->role()->lists('id'))->exists()) { return response('Unauthorized.', 401); } return $next($request); }
/** * Display a listing of the resource. * * @return Response */ public function index() { // $q = \Request::get('q'); if ($q != '') { $permissions = \App\Permission::where('name', 'RLIKE', $q)->paginate(10); } else { $permissions = \App\Permission::paginate(10); } return view('permissions.index', compact('permissions', 'q')); }
public static function getWhere($fieldName, $id, $mode) { if ($mode == "MODEL_MODE") { return Permission::where($fieldName, $id); } else { if ($mode == "DATA_MODE") { return Permission::where($fieldName, $id)->get(); } else { return false; } } }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next, $permission) { if (Auth::user()->id == 1) { return $next($request); } $idP = Permission::where('ip', $permission)->value('id'); $rol = Auth::user()->rol; if (!Permissions_assigned::where('role', $rol)->where('permission', $idP)->first()) { return redirect('auth/logout'); } return $next($request); }
/** * Run the database seeds. * * @return void */ public function run() { // su permissoin $permission_su = Permission::where('name', 'all')->first(); // admin permission $create_user = Permission::where('name', 'create-user')->first(); $update_user = Permission::where('name', 'update-user')->first(); $drop_user = Permission::where('name', 'drop-user')->first(); $permission_admin = [$create_user, $update_user, $drop_user]; $role_su = Role::where('name', 'su')->first(); $role_su->attachPermission($permission_su); $role_admin = Role::where('name', 'admin')->first(); $role_admin->attachPermissions($permission_admin); }
/** * Methods */ public static function updatePermissionStatus($user_id, $resource, $actions) { $permission = Permission::where('user_id', $user_id)->where('resource', $resource)->first(); if (!$permission) { $permissionData = array_merge(['user_id' => $user_id, 'resource' => $resource], $actions); $permission = new Permission($permissionData); $permission->save(); return true; } foreach ($actions as $action => $status) { $permission->{$action} = $status; } $permission->save(); }
/** * Reverse the migrations. * * @return void */ public function down() { //Delete the rootadmin user $user = User::where('name', 'admin')->first(); $user->roles()->sync(array()); $user->delete(); //Delete the rootadmin role $rootadmin = Role::where('name', 'rootadmin')->first(); $rootadmin->perms()->sync(array()); $rootadmin->delete(); //Delete all the permissions foreach ($this->permissions as $permission) { $wp_perm = Permission::where('name', $permission['name']); $wp_perm->delete(); } }
public function postTaoTaiKhoanQuanLyNhanVienCum(TaiKhoanQuanLyNhanVienCumRequest $request) { // thêm vào bảng users $user = new User(); $user->username = $request->txtUsername; $user->name = $request->txtName; $user->password = Hash::make($request->txtPassword); $user->save(); // thêm vào bảng permission_user $permission = Permission::where('slug', 'clusterstaffmanager')->get()->first(); $permissionUser = new PermissionUser(); $permissionUser->permission_id = $permission->id; $permissionUser->user_id = $user->id; $permissionUser->save(); return redirect()->action('AdminController@getTaoTaiKhoanQuanLyNhanVienCum')->with(['flash_level' => 'success', 'flash_message' => 'Thêm tài khoản thành công!']); }
public static function checkPermission() { $userInfo = Session::get('user'); $uri = new Permission(); $currentRoute = Route::getFacadeRoot()->current()->uri(); if (Cache::has('user')) { $user = Cache::get('user'); $permission = $user['permission']; $ck = in_array($userInfo['role_id'] . '|' . $currentRoute, $permission); } else { $ck = $uri->where('name', $userInfo['role_id'] . '|' . $currentRoute)->count(); } if ($ck > 0 || $userInfo['role_id'] == 1) { return true; } return false; }
/** * Seed Data Source * * @author EB * @return void */ protected function seedDataSource() { Model::unguard(); $role = new \App\Role(); $role->name = 'rosu'; $role->display_name = 'Read Only Super User'; $role->description = 'Read only user who can see everything'; $role->save(); $permissions = ['merchants-view', 'users-view', 'roles-view', 'locations-view', 'applications-view', 'reports-view']; foreach ($permissions as $permission) { try { $perm = \App\Permission::where('name', '=', $permission)->first(); $role->permissions()->sync([$perm->id], false); } catch (Exception $e) { } } Model::reguard(); }
/** * Run the database seeds. * * @return void */ public function run() { foreach ($this->routes as $route) { if (array_search('permission', $route->middleware()) !== false) { if (!empty($route->getName())) { $params = explode('.', $route->getName()); $data = ['name' => $route->getName()]; if (count($params) > 1) { $data['group'] = $params[0]; } else { $data['group'] = 'base'; } if (!Permission::where('name', $data['name'])->exists()) { Permission::create($data); } } } } }
public function grantInheritanceTo(\App\Role $successor, \Illuminate\Database\Eloquent\Collection $predecessors) { $predecessors->each(function ($predecessor) use($successor) { $permissions = $predecessor->permissions()->get(); if (empty($permissions)) { dump('Tried to grant [' . $successor->name . '] The permissions equal to those of [' . $predecessor->name . '] but the latter seems to have none granted.'); } else { foreach ($predecessor->permissions()->get() as $permission) { if ($permission instanceof \App\Permission) { dump('[' . $successor->name . '] Inherited [' . $permission->name . '] Thru [' . $predecessor->name . ']'); $successor->givePermissionTo($permission); } else { $permission = \App\Permission::where(['name' => $permission])->first(); dump('[' . $successor->name . '] Inherited [' . $permission->name . '] Thru [' . $predecessor->name . ']'); $successor->givePermissionTo($permission); } } } }); }
function postLogin(LoginRequest $request) { //get Request $getDataRequest = $request->all(); $data = array('name' => $getDataRequest['name'], 'password' => $getDataRequest['password']); $userInfo = User::where('name', $data['name'])->first()->toArray(); //Check status? if ($userInfo['status'] == User::IN_ACTIVED_STATUS) { return redirect_errors("Account active yet!"); } //Check password $password = md5($data['password'] . md5($userInfo['remember_token'])); if ($password == $userInfo['password']) { //Add Session Authen::setUser($userInfo); //Check remember if (Input::get('remember')) { $permissions = Permission::where('name', 'like', $userInfo['role_id'] . '%')->get(['name']); $listPermission = []; foreach ($permissions as $per) { $listPermission[] = $per['name']; } $data = $userInfo; $data['permission'] = $listPermission; Cache::put('user', $data, 6000); } //navigator page if ($userInfo['role_id'] == Role::SA_ROLE_ID || $userInfo['role_id'] == Role::AD_ROLE_ID) { return redirect()->action('BackendController@index'); } elseif (Cart::total() > 0 && $userInfo['role_id'] == Role::CUS_ROLE_ID) { Session::forget('option'); // is customer ensure to have shipping_add already Session::put('option', ['type' => 'logged', 'shi_add' => true, 'pay_add' => true, 'pay_med' => false, 'conf' => false]); return redirect()->action('FrontendController@checkout'); } else { return redirect('home'); } } return redirect_errors("Password Wrong!"); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @param $role * @return mixed */ public function handle($request, Closure $next, $permissionName) { if ($this->auth->guest()) { //未登入 if ($request->ajax()) { return response('Unauthorized.', 401); } else { return redirect()->route('member.login'); } } $user = $this->auth->user(); if (empty($user->confirm_at)) { //未驗證信箱 return redirect()->route('member.resend')->with('warning', '完成信箱驗證方可進入此頁面'); } //取得權限 $permission = Permission::where('name', '=', $permissionName)->first(); if (!$permission || !$user->can($permissionName)) { return redirect()->route('home')->with('warning', '權限不足'); } return $next($request); }
public function postTaoTaiKhoanNhanVienTruong(TaiKhoanNhanVienTruongRequest $request) { // thêm vào bảng users $user = new User(); $user->username = $request->txtUsername; $user->name = $request->txtName; $user->password = Hash::make($request->txtPassword); $user->save(); // thêm vào bảng permission_user $permission = Permission::where('slug', 'universitystaff')->get()->first(); $permissionUser = new PermissionUser(); $permissionUser->permission_id = $permission->id; $permissionUser->user_id = $user->id; $permissionUser->save(); // thêm trường $truong = new Truong(); $truong->tentr = $request->txtUniversity; $truong->matr = $request->txtUniversityCode; $truong->nhanvienquanly_user_id = $user->id; $truong->save(); return redirect()->action('ClusterStaffManagerController@getTaoTaiKhoanNhanVienTruong')->with(['flash_level' => 'success', 'flash_message' => 'Thêm tài khoản thành công!']); }
public function hasPermissions($permissions, $all = false) { if ($this->id == 1) { return true; } if (!$all) { foreach ($permissions as $permission) { $idP = Permission::where('ip', $permission)->value('id'); if (Permissions_assigned::where('role', $this->rol)->where('permission', $idP)->first()) { return true; } } return false; } else { foreach ($permissions as $permission) { $idP = Permission::where('ip', $permission)->value('id'); if (!Permissions_assigned::where('role', $this->rol)->where('permission', $idP)->first()) { return false; } } return true; } }
/** * Run the database seeds. * * @return void */ public function run() { db::table('permissions')->insert([['name' => 'createAT', 'display_name' => 'Create new Actions and Tasks', 'description' => 'Create new Actions and Tasks'], ['name' => 'updateAT', 'display_name' => 'Update new Actions and Tasks', 'description' => 'Update new Actions and Tasks'], ['name' => 'deleteAT', 'display_name' => 'Delete new Actions and Tasks', 'description' => 'Delete new Actions and Tasks'], ['name' => 'createGO', 'display_name' => 'Create new Goals and Objectives', 'description' => 'Create new Goals and Objectives'], ['name' => 'updateGO', 'display_name' => 'Update new Goals and Objectives', 'description' => 'Update new Goals and Objectives'], ['name' => 'deleteGO', 'display_name' => 'Delete new Goals and Objectives', 'description' => 'Delete new Goals and Objectives'], ['name' => 'createBP', 'display_name' => 'Create new Business Plans', 'description' => 'Create new Business Plans'], ['name' => 'setPerm', 'display_name' => 'Set User Permissions', 'description' => 'Set User Permissions']]); $user = Role::where('name', '=', 'user')->first(); $leader = Role::where('name', '=', 'leader')->first(); $bplead = Role::where('name', '=', 'bpLead')->first(); $admin = Role::where('name', '=', 'admin')->first(); $perm = Permission::where('name', '=', 'createAT')->first(); $user->attachPermission($perm); $leader->attachPermission($perm); $bplead->attachPermission($perm); $admin->attachPermission($perm); $perm = Permission::where('name', '=', 'updateAT')->first(); $user->attachPermission($perm); $leader->attachPermission($perm); $bplead->attachPermission($perm); $admin->attachPermission($perm); $perm = Permission::where('name', '=', 'deleteAT')->first(); $leader->attachPermission($perm); $bplead->attachPermission($perm); $admin->attachPermission($perm); $perm = Permission::where('name', '=', 'createGO')->first(); $bplead->attachPermission($perm); $admin->attachPermission($perm); $perm = Permission::where('name', '=', 'updateGO')->first(); $bplead->attachPermission($perm); $admin->attachPermission($perm); $perm = Permission::where('name', '=', 'deleteGO')->first(); $bplead->attachPermission($perm); $admin->attachPermission($perm); $perm = Permission::where('name', '=', 'createBP')->first(); $bplead->attachPermission($perm); $admin->attachPermission($perm); $perm = Permission::where('name', '=', 'setPerm')->first(); $admin->attachPermission($perm); }
public function updatePerm() { if (Request::ajax()) { $perm = Permission::where('name', Input::get('perm'))->first(); $role = Role::where('name', Input::get('role'))->first(); if ($perm === null) { return "DENIED"; } elseif ($role === null) { return "DENIED"; } else { $role->assignPermission($perm); return "OK"; } } }
/** * So here's the deal with permissions... Suppose we have code * like the following: * * @if( $user->hasPermission('edit', 'Employee') ) * <li><a href="/editEmployees">Edit Employees</a></li> * @endif * * Now suppose a user can edit a SUBSET of employees... We still * want to display this button, but within this button we need * to limit the employees shown. So we need two different actions: * * can you edit ANYTHING? * what can you edit? * * To prevent "what can you edit" from returning the entire * database in the event that you actually can edit everything, * it needs to somehow be condensed. Maybe a query string? * * * */ public function hasPermission($action, $model) { // First, is $model an instance? If so, get the class name if (is_string($model)) { $modelName = $model; $modelInstance = null; } else { $modelName = get_class($model); $modelInstance = $model; } // Now get ALL permissions for this action on this model $permissions = Permission::where(function ($query) use($action) { $query->orWhere('action', $action)->orWhere('action', 'all'); })->where(function ($query) use($modelName) { $query->orWhere('model', 'like', $modelName)->orWhere('model', '*'); })->get(); // Now see if we have a matching role // To start, see if we have a previously cached list of roles: if ($this->roleParents == null) { // We start with a list of this user's roles... $this->roleParents = $this->roles; // Then we iteratively get all parents foreach ($this->roleParents as $role) { if ($role->parent != null) { $this->roleParents->add($role->parent); } } } if ($this->roleChildren == null) { // We start with a list of this user's roles... $this->roleChildren = $this->roles; // Then we need to recursively get all children $children = new Collection(); foreach ($this->roles as $role) { $this->roleChildren = $this->roleChildren->merge($this->getAllChildren($role)); } $this->roleChildren = $this->roleChildren->unique(); } foreach ($permissions as $permission) { if ($permission->role_id == 0 || $this->roleParents->contains($permission->role) || $this->roleChildren->contains($permission->role) && $permission->trickle) { // So the user has a role that can perform the action on this model if ($modelInstance == null) { // If we're looking at the model as a whole, we good return true; } else { // If we're looking at a specific model, we need to check the domain $domain = json_decode($permission->domain); if (is_array($domain)) { if ($this->confirmDomain($domain, $modelInstance)) { return true; } } else { return true; } } } } // Failed to find a valid permission return false; }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Request $request, $id) { $user = User::where('id', $id)->first(); $permission = Permission::where('id', $user->permission_id)->first(); $user->delete(); $permission->delete(); return redirect('/users'); }
public function searchPermissionByName(Request $request) { $permission = $request->input('permission-name'); $permissions = Permission::where('name', 'like', '%' . $permission . '%')->take(5)->lists('name'); return $permissions; }
/** * Update the specified resource in storage. * * @param $role * @return Response */ public function postEdit(RoleRequest $request, $id) { $is_admin = 0; if (!empty($request->permission)) { $permissionsAdmin = Permission::where('is_admin', '=', 1)->get(); foreach ($permissionsAdmin as $perm) { foreach ($request->permission as $item) { if ($item == $perm['id'] && $perm['is_admin'] == '1') { $is_admin = 1; } } } } $role = Role::find($id); $role->is_admin = $is_admin; $role->name = $request->name; $role->save(); PermissionRole::where('role_id', '=', $id)->delete(); if (is_array($request->permission)) { foreach ($request->permission as $item) { $permission = new PermissionRole(); $permission->permission_id = $item; $permission->role_id = $role->id; $permission->save(); } } }
/** * Bootstrap any application services. * * @return void */ public function boot() { /** * Custom validation rules */ Validator::extend('alpha_spaces', function ($attribute, $value) { return preg_match('/^[\\pL\\s]+$/u', $value); }); Validator::extend('cedula', function ($attribute, $value) { return preg_match('/^([0-9]{6,8})$/', $value); }); Validator::extend('rif', function ($attribute, $value) { return preg_match('/^([J,G,N]-([0-9]{8,12}))$/', $value); }); Validator::extend('equal_provedor', function ($attribute, $value, $parameters) { $orden = Input::get($parameters[0]); $entrada = Entrada::where('orden', $orden)->value('provedor'); if (!$entrada) { return true; } else { if ($value != $entrada) { return false; } return true; } }); Validator::extend('diff_provedor', function ($attribute, $value, $parameters) { if (empty($value)) { return true; } else { $id = Input::get($parameters[0]); $entrada = Entrada::where('id', $id)->value('provedor'); if ($value == $entrada) { return false; } return true; } }); Validator::extend('diff_orden', function ($attribute, $value, $parameters) { if (empty($value)) { return true; } else { $id = Input::get($parameters[0]); $entrada = Entrada::where('id', $id)->value('orden'); if ($value == $entrada) { return false; } return true; } }); Validator::extend('diff_departamento', function ($attribute, $value, $parameters) { $id = Input::get($parameters[0]); $salida = Salida::where('id', $id)->value('departamento'); if ($value == $salida) { return false; } return true; }); Validator::extend('insumos', function ($attribute, $value) { if (empty($value) || !is_array($value)) { return false; } else { foreach ($value as $insumo) { if (!isset($insumo['cantidad']) || !isset($insumo['id']) || $insumo['cantidad'] <= 0 || !Insumo::where('id', $insumo['id'])->first()) { return false; } } } return true; }); Validator::extend('insumos_salida', function ($attribute, $value) { if (empty($value) || !is_array($value)) { return false; } else { foreach ($value as $insumo) { if (!isset($insumo['solicitado']) || !isset($insumo['despachado']) || !isset($insumo['id']) || $insumo['solicitado'] <= 0 || $insumo['despachado'] <= 0 || $insumo['solicitado'] < $insumo['despachado'] || !Insumo::withTrashed()->where('id', $insumo['id'])->first()) { return false; } } } return true; }); Validator::extend('insumos_alarmas', function ($attribute, $value) { if (empty($value) || !is_array($value)) { return false; } else { foreach ($value as $insumo) { if (!isset($insumo['id']) || !isset($insumo['min']) || !isset($insumo['med'])) { return false; } if ($insumo['min'] <= 0 || $insumo['med'] <= 0 || $insumo['min'] >= $insumo['med']) { return false; } } } return true; }); Validator::extend('insumos_validate_e', function ($attribute, $value) { foreach ($value as $insumo) { if (!isset($insumo['cantidad'])) { continue; } $originalI = Insumos_entrada::where('id', $insumo['id'])->first(); if (!isset($insumo['id']) || !$originalI || $originalI['cantidad'] == $insumo['cantidad'] || $insumo['cantidad'] < 0) { return false; } } return true; }); Validator::extend('insumos_validate_s', function ($attribute, $value) { foreach ($value as $insumo) { if (!isset($insumo['despachado'])) { continue; } $originalI = insumos_salida::where('id', $insumo['id'])->first(); if (!isset($insumo['id']) || !$originalI || $insumo['despachado'] == $originalI['despachado'] || $insumo['despachado'] < 0) { return false; } if (!isset($insumo['solicitado'])) { if ($originalI['solicitado'] < $insumo['despachado']) { return false; } } else { if (!is_int($insumo['solicitado']) || $insumo['solicitado'] < 0 || $insumo['solicitado'] == $originalI['solicitado']) { return false; } } } return true; }); Validator::extend('one_insumo_entrada', function ($attribute, $value, $parameters) { $entrada = Input::get($parameters[0]); $insumos = Insumos_entrada::where('entrada', $entrada)->get(); if ($insumos->count() == 1 && isset($value[0]['cantidad']) && $value[0]['cantidad'] == 0) { return false; } return true; }); Validator::extend('one_insumo_salida', function ($attribute, $value, $parameters) { $salida = Input::get($parameters[0]); $insumos = Insumos_salida::where('salida', $salida)->get(); if ($insumos->count() == 1 && isset($value[0]['despachado']) && $value[0]['despachado'] == 0) { return false; } return true; }); Validator::extend('insumo', function ($attribute, $value) { if (!Insumo::where('id', $value)->first()) { return false; } return true; }); Validator::extend('insumo_with_daleted', function ($attribute, $value) { if (!insumo::withTrashed()->where('id', $value)->first()) { return false; } return true; }); Validator::extend('deposito', function ($attribute, $value) { if (!Deposito::where('id', $value)->first()) { return false; } return true; }); Validator::extend('date_limit_current', function ($attribute, $value) { $value = str_replace('/', '-', $value); if (strtotime($value) > strtotime(date("Y-m-d"))) { return false; } return true; }); Validator::extend('insumos_ids_array', function ($attribute, $value) { if (!is_array($value)) { return false; } foreach ($value as $v) { if (!insumos_salida::where('id', $v)->first()) { return false; } } return true; }); Validator::extend('documento_salida', function ($attribute, $value) { $documento = Documento::where('id', $value)->first(); if (!$documento) { return false; } return $documento->naturaleza == 'salida'; }); Validator::extend('documento_entrada', function ($attribute, $value) { $documento = Documento::where('id', $value)->first(); if (!$documento) { return false; } return $documento->naturaleza == 'entrada'; }); Validator::extend('tercero', function ($attribute, $value, $parameters) { $documento = Input::get($parameters[0]); $tipo = Documento::where('id', $documento)->value('tipo'); if ($tipo == 'interno') { return true; } if ($tipo == 'proveedor') { return Provedore::where('id', $value)->first(); } if ($tipo == 'servicio') { return Departamento::where('id', $value)->first(); } if ($tipo == 'deposito') { $deposito = Auth::user()->deposito; return Deposito::where('id', $value)->where('id', '!=', $deposito)->first(); } }); Validator::extend('permissions', function ($attribute, $value) { if (!is_array($value)) { return false; } else { foreach ($value as $permiso) { if (!Permission::where('id', $permiso)->first()) { return false; } } } return true; }); Validator::extend('rol', function ($attribute, $value) { return Role::where('id', $value)->first(); }); Validator::extend('movimiento', function ($attribute, $value, $parameters) { $documento = Input::get($parameters[0]); $documento = Documento::where('id', $documento)->value('id'); $deposito = Auth::user()->deposito; if (Entrada::where('id', $value)->where('documento', $documento)->where('deposito', $deposito)->first()) { return true; } else { if (Salida::where('id', $value)->where('documento', $documento)->where('deposito', $deposito)->first()) { return true; } else { return false; } } }); Validator::extend('documento', function ($attribute, $value) { return Documento::where('id', $value)->first(); }); Validator::extend('documento_same_nature', function ($attribute, $value, $parameters) { $id = Input::get($parameters[0]); $ori_naturaleza = Documento::where('id', $id)->value('naturaleza'); $up_naturaleza = Documento::where('id', $value)->value('naturaleza'); return $ori_naturaleza == $up_naturaleza; }); Validator::extend('document_not_equal', function ($attribute, $value, $parameters) { $id = Input::get($parameters[0]); $ori_documento = Documento::where('id', $id)->value('id'); $up_documento = Documento::where('id', $value)->value('id'); return !($ori_documento == $up_documento); }); }
/** * @Then there should be one permission with the id :arg1 and the name :arg2 and the display name :arg3 */ public function thereShouldBeOnePermissionWithTheIdAndTheNameAndTheDisplayName($arg1, $arg2, $arg3) { $permissionCount = Permission::where(['id' => $arg1, 'name' => $arg2, 'display_name' => $arg3])->get()->count(); PHPUnit::assertEquals(1, $permissionCount, "There should be exactly one permission with the id {$arg1} and the name {$arg2} and the display name {$arg3}. {$permissionCount} were found."); }