public function filters() { $modelClassName = $this->getModule()->getPrimaryModelName(); $viewClassName = $modelClassName . 'EditAndDetailsView'; $zeroModelsYetViewClassName = 'ProductTemplatesZeroModelsYetView'; $pageViewClassName = 'ProductTemplatesPageView'; //Need to remove the general access rights filter $filters = array_slice(parent::filters(), 1); $filters = array_merge(array(array(ZurmoBaseController::RIGHTS_FILTER_PATH . ' - modalList, selectFromRelatedList, details, autoCompleteAllProductCategoriesForMultiSelectAutoComplete', 'moduleClassName' => get_class($this->getModule()), 'rightName' => ProductTemplatesModule::getAccessRight()), array(ZurmoBaseController::REQUIRED_ATTRIBUTES_FILTER_PATH . ' + create, createFromRelation, edit', 'moduleClassName' => get_class($this->getModule()), 'viewClassName' => $viewClassName), array(static::ZERO_MODELS_CHECK_FILTER_PATH . ' + list, index', 'controller' => $this, 'zeroModelsYetViewClassName' => $zeroModelsYetViewClassName, 'modelClassName' => $modelClassName, 'pageViewClassName' => $pageViewClassName, 'defaultViewUtilClassName' => 'ProductDefaultViewUtil', 'activeActionElementType' => 'ProductTemplatesLink', 'breadcrumbLinks' => static::getListBreadcrumbLinks())), $filters); return $filters; }
public function testRegularUserProductPortletAccess() { $benny = $this->logoutCurrentUserLoginNewUserAndGetByUsername('nobody'); $account = AccountTestHelper::createAccountByNameForOwner('superAccount', Yii::app()->user->userModel); $superAccountId = $account->id; $benny->setRight('ProductTemplatesModule', ProductTemplatesModule::getAccessRight(), Right::DENY); $this->assertTrue($benny->save()); $this->assertFalse(RightsUtil::canUserAccessModule('ProductTemplatesModule', $benny)); $portlet = new Portlet(); $portlet->column = 1; $portlet->position = 1; $portlet->layoutId = 'Test'; $portlet->collapsed = true; $portlet->viewType = 'RssReader'; $portlet->user = $benny; $this->assertTrue($portlet->save()); $this->setGetArray(array('uniqueLayoutId' => 'AccountDetailsAndRelationsView_' . $portlet->id, 'portletId' => $portlet->id, 'relationAttributeName' => 'account', 'relationModelId' => $superAccountId, 'relationModuleId' => 'accounts', 'relationModelClassName' => 'Account')); $this->runControllerWithNoExceptionsAndGetContent('productTemplates/default/selectFromRelatedList'); }