private function _edit_allowed_action($action_id, $set = true, $page_id) { $action = AdminAction::preload($action_id); $controller = AdminController::preload($action->controller_id); $action_name = $controller->controller . '.' . $action->action; // add action id and controller_action as keys so both can be checked $this->_processed_actions[$page_id][$action->id] = $set; $this->_processed_actions[$page_id][$action_name] = $set; if ($action->action == 'index') { $this->_processed_actions[$page_id][$controller->controller] = $set; } }
public function postEdit() { $v = Validator::make(Request::all(), array('role' => 'required|integer', 'action' => 'required|integer', 'value' => 'required')); if ($v->passes()) { $role = UserRole::find(Request::input('role')); if (!empty($role)) { $action = AdminAction::find(Request::input('action')); $controller = AdminController::find($action->controller_id); if (!empty($controller) && ($controller->controller != 'roles' || $role->id != Auth::user()->role->id)) { $role->actions()->detach(Request::input('action')); if (Request::input('value') == 'true') { $role->actions()->attach(Request::input('action')); } return 1; } } } return 0; }
/** * @param $actionId * @return string */ private static function _itemUrl($actionId) { if ($actionId > 0) { /** @var AdminAction $adminAction */ $adminAction = AdminAction::preload($actionId); if (!empty($adminAction)) { /** @var AdminController $adminController */ $adminController = AdminController::preload($adminAction->controller_id); $routeName = 'coaster.admin.' . $adminController->controller . ($adminAction->action == 'index' ? '' : '.' . $adminAction->action); if (strpos(Request::route()->getName(), $routeName) === 0) { //self::$_setActive = true; } return route($routeName); } } return '#'; }