/home/techb158/ileadtechnology.com/SSM/app/Repositories/configuration
NameSizeModeActions
academic/-0755rm
asset/-0755rm
calendar/-0755rm
employee/-0755rm
exam/-0755rm
finance/-0755rm
library/-0755rm
misc/-0755rm
post/-0755rm
reception/-0755rm
student/-0755rm
transport/-0755rm
ConfigurationRepository.php183010644editdlrm
CustomFieldRepository.php134710644editdlrm
LocaleRepository.php70250644editdlrm
PermissionRepository.php64020644editdlrm
RoleRepository.php41290644editdlrm
Edit: /home/techb158/ileadtechnology.com/SSM/app/Repositories/configuration/PermissionRepository.php (6402B)
permission = $permission; $this->role = $role; } /** * Get all permissions * * @return Permission */ public function getAll() { return $this->permission->all(); } /** * List all permissions by name * * @return Permission */ public function listByName($ids = []) { if (count($ids)) { return $this->permission->whereIn('id', $ids)->get()->pluck('name')->all(); } else { return $this->permission->all()->pluck('name')->all(); } } /** * List all names * * @return Permission */ public function listName() { return $this->permission->all()->pluck('name')->all(); } /** * Find permission with given id or throw an error. * * @param integer $id * @return Permission */ public function findOrFail($id) { $permission = $this->permission->find($id); if (! $permission) { throw ValidationException::withMessages(['message' => trans('configuration.could_not_find_permission')]); } return $permission; } /** * Get pre requisite for module permission assign * * @param array $module * @return Array */ public function getModulePreRequisite($module) { $roles = $this->role->getAll(); $role_and_permission = getVar('role_and_permission'); $modules = array(); foreach ($role_and_permission['default_permission'] as $index => $permission_group) { $modules[] = $index; } sort($modules); $permissions = isset($role_and_permission['default_permission'][$module]) ? $role_and_permission['default_permission'][$module] : []; $permissions = array_keys($permissions); $assigned_permissions = array(); foreach ($roles as $role) { $spatie_role = Role::findByName($role->name); $assigned_permissions[] = array('role' => $role->name, 'permissions' => $spatie_role->permissions->whereIn('name', $permissions)->pluck('name')->all()); } return compact('roles', 'permissions', 'assigned_permissions', 'modules'); } /** * Assign module permission * * @param array $params * @return null */ public function assignModulePermission($params) { $module = gv($params, 'module'); $roles = gv($params, 'roles'); $role_and_permission = getVar('role_and_permission'); if (! isset($role_and_permission['default_permission'][$module])) { throw ValidationException::withMessages(['message' => trans('general.invalid_action')]); } $module_permissions = $role_and_permission['default_permission'][$module]; $module_permissions = array_keys($module_permissions); $role_with_permissions = Role::with('permissions')->get(); foreach ($roles as $role) { $user_role = $role_with_permissions->where('name', gv($role, 'name'))->first(); $assigned_permissions = $user_role->permissions->whereIn('name', $module_permissions)->pluck('name')->all(); if ($user_role->name != config('system.default_role.admin')) { $user_role->revokePermissionTo($assigned_permissions); $user_role->givePermissionTo(gv($role, 'permissions', [])); } } } /** * Get pre requisite for permission assign * * @return Array */ public function getPreRequisite() { $roles = $this->role->getAll(); $role_and_permission = getVar('role_and_permission')['default_permission']; $permissions = array(); $modules = array(); foreach ($role_and_permission as $index => $permission_group) { $modules[] = $index; foreach ($permission_group as $name => $permission) { $permissions[] = $name; } } $assigned_permissions = array(); foreach ($roles as $role) { $spatie_role = Role::findByName($role->name); $assigned_permissions[] = array('role' => $role->name, 'permissions' => $spatie_role->permissions->pluck('name')->all()); } sort($modules); return compact('roles', 'permissions', 'assigned_permissions', 'modules'); } /** * Assign permission * * @param array $params * @return null */ public function assignPermission($params) { $roles = gv($params, 'roles'); $role_with_permissions = Role::with('permissions')->get(); foreach ($roles as $role) { $user_role = $role_with_permissions->where('name', gv($role, 'name'))->first(); if ($user_role->name != config('system.default_role.admin')) { $user_role->syncPermissions(gv($role, 'permissions', [])); } } } /** * Paginate all permissions using given params. * * @param array $params * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator */ public function paginate($params) { $sort_by = gv($params, 'sort_by', 'created_at'); $order = gv($params, 'order', 'desc'); $page_length = gv($params, 'page_length', config('config.page_length')); return $this->permission->orderBy($sort_by, $order)->paginate($page_length); } /** * Delete permission. * * @param integer $id * @return bool|null */ public function delete(Permission $permission) { return $permission->delete(); } /** * Delete multiple permissions. * * @param array $ids * @return bool|null */ public function deleteMultiple($ids) { return $this->permission->whereIn('id', $ids)->delete(); } }