/** * * Load Userrights and User Id to Sesseion. * * @param sfRequest $request A request object */ public function executeIndex(sfWebRequest $request) { $loginObject = new Login(); /* * Load the userrole, userrigths, userSettings, userId, workflowSettings for the logged user and store to session */ $userSettings = UserSettingTable::instance()->getUserSettingById($this->getUser()->getAttribute('id')); $userWorkflowSetting = UserWorkflowConfigurationTable::instance()->getSingleUserWorkflowConfigurattion($this->getUser()->getAttribute('id'))->toArray(); $this->getUser()->setAttribute('userSettings', $userSettings[0]->toArray()); // set userSettings $config = SystemConfigurationTable::instance()->getSystemConfiguration()->toArray(); $this->getUser()->setAttribute('userWorkflowSettings', $loginObject->generateUserWorklowView($userWorkflowSetting, sfContext::getInstance())); // set workflowsettings $data = $this->getUser()->getAttribute('userWorkflowSettings'); $credentials = CredentialTable::instance()->getAllCredentials(); $userrights = CredentialRoleTable::instance()->getCredentialRoleById($this->getUser()->getAttribute('id')); $rights = $loginObject->loadUserRight($credentials, $userrights); $this->getUser()->setAttribute('credential', $rights); // set rights and role $this->systemConfiguration = $config[0]; $this->theTheme = $userSettings[0]->getTheme(); // load the users theme /* * -1 is set when user uses login form to login * int is set, when user logges in from en email link, then a workflow needs to opened */ $this->version_id = $request->getParameter('versionid',-1); $this->workflow_id = $request->getParameter('workflow',-1); $this->window = $request->getParameter('window',-1); return sfView::SUCCESS; }
/** * * Loads Data for Navigation in Region West * @param sfWebRequest $request * @return <type> */ public function executeLoadMenue(sfWebRequest $request) { $menueObject = new Menue(); $result = CredentialTable::instance()->getAllCredentials('c.usermodule asc,c.usergroup asc'); $menueObject->setRecords($result); $menueObject->setUserright($this->getUser()->getAttribute('credential')); $menueObject->setContext($this->getContext()); $json_result = $menueObject->buildTree(); $this->renderText('{"result":'.json_encode($json_result).'}'); return sfView::NONE; }
/** * Function builds the Tabs, Groups and Rights for the Pop 'Add Role' and 'Edit Role' * * @param sfWebRequest $request * @return <type> */ public function executeLoadRoleTree(sfWebRequest $request) { $credentialmanagement = new CredentialRolemanagement(); $credentials = NULL; // when in editmode, load additinaldata if ($request->getParameter('role_id') != '') { // available rights for role $res = CredentialRoleTable::instance()->getCredentialById($request->getParameter('role_id')); $credentials = $credentialmanagement->buildCredentials($res); $roleName = RoleTable::instance()->getRoleById($request->getParameter('role_id')); } $result = CredentialTable::instance()->getAllCredentials('c.usermodule asc,c.usergroup asc'); $credentialmanagement->setRecords($result); $credentialmanagement->setContext($this->getContext()); $json_result = $credentialmanagement->buildTree($credentials); if ($request->getParameter('role_id') != '') { $this->renderText('{"result":'.json_encode($json_result).',"name":"'.$roleName[0]->getDescription().'"}'); } else { $this->renderText('{"result":'.json_encode($json_result).',"name":""}'); } return sfView::NONE; }
/** * Save new order of usermodulegroup * * @param sfWebRequest $request * @return <type> */ public function executeSaveGroup(sfWebRequest $request) { CredentialTable::instance()->saveOrderOfGroups($request->getPostParameters(), 1); $this->renderText('{success:true}'); return sfView::NONE; }
/** * * Check if the user has sending rights * * @param int $mailinglistVersionId * @return boolean */ public function checkSendingRight($mailinglistVersionId) { $credentialId = CredentialTable::instance()->getCredentialIdByRight('workflow','workflowmanagement','sendWorkflow')->toArray(); $rightCheck = RoleTable::instance()->getRoleByRightAndRoleName($credentialId[0]['id'], $this->userroleName)->toArray(); if(empty($rightCheck) == true) { $result['allowedtosend'] = 0; return $result; } else { $sender = MailinglistAuthorizationSettingTable::instance()->getSettingsByType('senderwithrights', $mailinglistVersionId)->toArray(); $sender[0]['allowedtosend'] = 1; return $sender[0]; } }