public function admin_edit($id) { $menu = $this->Menu->findById($id); if (empty($menu['Menu']['controller'])) { $this->redirect(array('action' => 'create_page', $id)); exit; } $menu['Menu']['custom_fields'] = json_decode($menu['Menu']['custom_fields'], true); $view = Admin::getAdminView($menu); $url = $view['edit']['url']; $this->set('id', $id); $this->request->data = $menu; $menu_item_panel_header = false; $menu_item_content = ''; if (Admin::hasCapability($this->Auth->user(), $url)) { if ($view['edit_panel_header']['exists']) { $Obj = Admin::getController($menu); $method = $view['edit_panel_header']['method']; $menu_item_panel_header = $Obj->{$method}($menu['Menu']['args']); } if ($view['edit']['exists'] && Admin::hasCapability($this->Auth->user(), $url)) { $menu_item_content = $this->requestAction($url, array('return', 'named' => array('admin_panel' => 1))); } } $this->set('menu_item_content', $menu_item_content); $this->set('menu_item_panel_header', $menu_item_panel_header); }
public function editRole($id) { try { $role = Role::findorFail($id); } catch (Illuminate\Database\Eloquent\ModelNotFoundException $e) { return App::abort(404); } $arrAssignedPermission = DB::table('permission_role')->select('permissions.name')->leftJoin('permissions', 'permission_role.permission_id', '=', 'permissions.id')->where('role_id', $id)->get(); $arrPermission = []; if (!is_null($arrAssignedPermission)) { foreach ($arrAssignedPermission as $permission) { $arrPermission[$permission->name] = 1; } } $this->layout->title = 'Edit Role'; $this->layout->content = View::make('admin.roles-one')->with(['role' => $role, 'arrController' => Admin::getController(), 'arrPermission' => $arrPermission]); }
public static function generatePermission() { $arrController = Admin::getController(); foreach ($arrController as $controller) { $controller = str_replace(' ', '', $controller); foreach (['view', 'create', 'edit', 'delete'] as $action) { if ($controller == 'admin' && $action != 'view') { continue; } foreach (['all', 'owner'] as $type) { if ($controller == 'admin' && $type != 'all') { continue; } if ($action == 'create' && $type != 'owner') { continue; } $permission = self::where('name', "{$controller}_{$action}_{$type}")->pluck('id'); if (is_null($permission)) { $permission = new Permission(); $permission->name = "{$controller}_{$action}_{$type}"; $permission->display_name = ucfirst($action) . ' ' . ucfirst($type) . ' ' . ucfirst($controller); $permission->save(); } } } } foreach (['menusfrontend', 'menusbackend'] as $extraPermission) { foreach (['view', 'create', 'edit', 'delete'] as $action) { $permission = self::where('name', "{$extraPermission}_{$action}_all")->pluck('id'); if (is_null($permission)) { $permission = new Permission(); $permission->name = "{$extraPermission}_{$action}_all"; $permission->display_name = ucfirst($action) . ' All ' . ucfirst($extraPermission); $permission->save(); } } } return true; }