/** * Only the owner of a mission can edit a mission. * @param Mission $mission */ public static function resolveCanCurrentUserWriteOrDeleteMission(Mission $mission) { if (Yii::app()->user->userModel->isSame($mission->owner)) { return; } $messageView = new AccessFailureView(); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); }
/** * @param int $userId */ public static function resolveCanCurrentUserAccessAction($userId) { if (Yii::app()->user->userModel->id == $userId || RightsUtil::canUserAccessModule('SendGridModule', Yii::app()->user->userModel)) { return; } $messageView = new AccessFailureView(); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); }
protected function resolveCanCurrentUserAccessDetailsAction($userId) { if (Yii::app()->user->userModel->id == $userId) { return; } $messageView = new AccessFailureView(); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); }
/** * Allow access to all upgrade actions only to Super Administrators. * @param CFilterChain $filterChain */ public function filterMaintananceModeAccessControl($filterChain) { if (!Yii::app()->isApplicationInMaintenanceMode()) { $message = Zurmo::t('InstallModule', 'Please set $maintenanceMode = true in perInstance.php config file.'); $messageView = new AccessFailureView($message); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); } $filterChain->run(); }
public function actionDownload($id, $modelId, $modelClassName) { $model = $modelClassName::getById((int) $modelId); if (!ActionSecurityUtil::canCurrentUserPerformAction('Details', $model)) { $messageView = new AccessFailureView(); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); } $fileModel = FileModel::getById((int) $id); Yii::app()->request->sendFile($fileModel->name, $fileModel->fileContent->content, $fileModel->type, false); }
/** * Used by my list portlets to do pagination and sort order changes. * @param integer $id */ public function actionMyListDetails() { $portlet = Portlet::getById(intval($_GET['portletId'])); $portletView = $portlet->getView(); if (!RightsUtil::canUserAccessModule($portletView::getModuleClassName(), Yii::app()->user->userModel)) { $messageView = new AccessFailureView(); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); } $view = new AjaxPageView($portletView); echo $view->render(); }
public static function resolveAccessingASystemUser($user, $renderAccessViewOnFailure = true) { if (!$user->isSystemUser) { return true; } elseif (!$renderAccessViewOnFailure) { return false; } else { $messageView = new AccessFailureView(); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); } }
public function actionDetails($id, $runReport = false) { $savedReport = SavedReport::getById((int) $id); ControllerSecurityUtil::resolveCanCurrentUserAccessModule($savedReport->moduleClassName); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($savedReport, true); $report = SavedReportToReportAdapter::makeReportBySavedReport($savedReport); $portlet = Portlet::getById(intval($_GET['portletId'])); $portlet->params = array('controllerId' => 'default', 'relationModuleId' => $this->getModule()->getId(), 'relationModel' => $report, 'redirectUrl' => Yii::app()->request->getRequestUri(), 'dataProvider' => $this->getDataProvider($report, $report->getId(), (bool) $runReport)); $portletView = $portlet->getView(); if (!RightsUtil::canUserAccessModule($portletView::getModuleClassName(), Yii::app()->user->userModel)) { $messageView = new AccessFailureView(); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); } $view = new AjaxPageView($portletView); echo $view->render(); }
protected function resolveCanGroupBeEdited($group) { if (!$group->isEveryone && !$group->isSuperAdministrators) { return; } $messageView = new AccessFailureView(); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); }
protected function resolveCanCurrentUserAccessEmailTemplates() { if (!RightsUtil::doesUserHaveAllowByRightName('EmailTemplatesModule', EmailTemplatesModule::RIGHT_CREATE_EMAIL_TEMPLATES, Yii::app()->user->userModel)) { $messageView = new AccessFailureView(); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); } return true; }
protected function resolveCanCurrentUserAccessReports() { if (!RightsUtil::doesUserHaveAllowByRightName('ReportsModule', ReportsModule::RIGHT_CREATE_REPORTS, Yii::app()->user->userModel)) { $messageView = new AccessFailureView(); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); } return true; }
/** * Renders mobile access failure page */ protected static function renderMobileAccessFailureContent() { $messageView = new AccessFailureView(Zurmo::t('ZurmoModule', 'This page is not available in mobile mode.')); $view = new AccessFailurePageView($messageView); echo $view->render(); }
protected static function renderAccessFailureContent($fromAjax = false, $nonAjaxFailureMessageContent = null) { if ($fromAjax) { $messageView = new AccessFailureAjaxView(); $view = new AjaxPageView($messageView); } else { $messageView = new AccessFailureView($nonAjaxFailureMessageContent); $view = new AccessFailurePageView($messageView); } echo $view->render(); }
protected static function renderAccessFailureContent() { $messageView = new AccessFailureView(); $view = new AccessFailurePageView($messageView); echo $view->render(); }
public function actionModalListAllContacts() { $modalListLinkProvider = new SelectFromRelatedEditModalListLinkProvider($_GET['modalTransferInformation']['sourceIdFieldId'], $_GET['modalTransferInformation']['sourceNameFieldId'], $_GET['modalTransferInformation']['modalId']); $adapterName = ContactsUtil::resolveContactStateAdapterByModulesUserHasAccessTo('LeadsModule', 'ContactsModule', Yii::app()->user->userModel); if ($adapterName === false) { $messageView = new AccessFailureView(); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); } echo ModalSearchListControllerUtil::setAjaxModeAndRenderModalSearchList($this, $modalListLinkProvider, $adapterName); }
public function actionRebuildSecurityCache($User_page = 1, $continue = false) { if (!Group::isUserASuperAdministrator(Yii::app()->user->userModel)) { $failureMessageContent = Zurmo::t('Core', 'You must be a super administrator to rebuild the security cache.'); $messageView = new AccessFailureView($failureMessageContent); $view = new AccessFailurePageView($messageView); echo $view->render(); Yii::app()->end(0, false); } if ($User_page == 1) { //to more quickly show the view to the user. To give a better indication of what is happening. $pageSize = 1; } else { $pageSize = 25; } $namedSecurableItems = array(); $modules = Module::getModuleObjects(); foreach ($modules as $module) { if ($module instanceof SecurableModule) { $namedSecurableItems[] = NamedSecurableItem::getByName(get_class($module)); } } if ($continue) { $page = static::getMassActionProgressStartFromGet('User_page', $pageSize); } else { $page = 1; } $title = Zurmo::t('ZurmoModule', 'Rebuilding Cache'); $searchAttributeData['clauses'] = array(1 => array('attributeName' => 'isSystemUser', 'operatorType' => 'equals', 'value' => 0), 2 => array('attributeName' => 'isSystemUser', 'operatorType' => 'isNull', 'value' => null)); $searchAttributeData['structure'] = '1 or 2'; $dataProvider = RedBeanModelDataProviderUtil::makeDataProvider($searchAttributeData, 'User', 'RedBeanModelDataProvider', null, false, $pageSize); $selectedRecordCount = $dataProvider->getTotalItemCount(); $users = $dataProvider->getData(); foreach ($users as $user) { if (!$user->isSuperAdministrator()) { foreach ($namedSecurableItems as $namedSecurableItem) { $namedSecurableItem->getActualPermissions($user); } } RightsUtil::cacheAllRightsByPermitable($user); } $rebuildView = new RebuildSecurityCacheProgressView($this->getId(), $this->getModule()->getId(), new User(), $selectedRecordCount, $page, $pageSize, $User_page, 'rebuildSecurityCache', $title); if (!$continue) { $view = new ZurmoPageView(ZurmoDefaultAdminViewUtil::makeStandardViewForCurrentUser($this, $rebuildView)); echo $view->render(); Yii::app()->end(0, false); } else { echo $rebuildView->renderRefreshJSONScript(); } }