/** * @param Kaltura_Client_SystemPartner_Type_SystemPartnerConfiguration $object * @param bool $add_underscore */ public function populateFromObject($object, $add_underscore = true) { /* @var $object Kaltura_Client_SystemPartner_Type_SystemPartnerConfiguration */ parent::populateFromObject($object, $add_underscore); if (is_array($object->limits)) { foreach ($object->limits as $limit) { if (isset($this->limitSubForms[$limit->type])) { $subFormObject = $this->limitSubForms[$limit->type]; /* @var $subFormObject Form_PartnerConfigurationLimitSubForm */ $subFormObject->populateFromObject($this, $object, $limit, false); } } } $element = $this->getElement('use_default_streamers'); $element->setAttrib('checked', is_null($object->customDeliveryTypes) || !count($object->customDeliveryTypes)); if (!is_null($object->customDeliveryTypes)) { foreach ($object->customDeliveryTypes as $customDeliveryType) { /* @var $customDeliveryType Kaltura_Client_Type_KeyBooleanValue */ $element = $this->getElement('delivery_type_' . $customDeliveryType->key); if ($customDeliveryType->value) { $element->setAttrib('data-checked', true); } else { $element->setAttrib('data-checked', false); } KalturaLog::debug("delivery_type_{$customDeliveryType->key} was set to [" . $customDeliveryType->value . "]"); } } if (!$object->permissions || !count($object->permissions)) { return; } foreach ($object->permissions as $permission) { KalturaLog::debug("Set Permission: " . $permission->name . " status: " . $permission->status); $this->setDefault($permission->name, $permission->status == Kaltura_Client_Enum_PermissionStatus::ACTIVE); } // partner is set to free trail package if (intval($object->partnerPackage) == PartnerController::PARTNER_PACKAGE_FREE) { if (!Infra_AclHelper::isAllowed('partner', 'configure-account-packages-service-paid')) { $this->setPermissionGroupElementsToDisabled(array('accountPackagesService')); } } }
protected function checkAclForNavigation(Zend_Navigation_Container $navigation) { $accessConfig = Zend_Registry::get('config')->access; $pages = $navigation->getPages(); foreach ($pages as $page) { $controller = $page->get('controller'); $action = $page->get('action'); $allowed = Infra_AclHelper::isAllowed($controller, $action); if (!$allowed) { $navigation->removePage($page); } else { $this->checkAclForNavigation($page); } if ($action == 'dynamic_action') { $localPages = $page->getPages(); $firstPage = reset($localPages); if ($firstPage) { $firstPageAction = $firstPage->get('action'); $page->set('action', $firstPageAction); } } } }
public function listAction() { $request = $this->getRequest(); $page = $this->_getParam('page', 1); $pageSize = $this->_getParam('pageSize', 10); // reset form url $action = $this->view->url(array('controller' => $request->getParam('controller'), 'action' => $request->getParam('action')), null, true); $client = Infra_ClientHelper::getClient(); $form = new Form_PartnerFilter(); $form->setAction($action); $systemPartnerPlugin = Kaltura_Client_SystemPartner_Plugin::get($client); $partnerPackages = $systemPartnerPlugin->systemPartner->getPackages(); Form_PackageHelper::addPackagesToForm($form, $partnerPackages, 'partner_package', true, 'All Service Editions'); if ($request->isPost() && $request->getParam('filter_type')) { $form->isValid($request->getPost()); } $this->view->partnerPackages = array(); foreach ($partnerPackages as $package) { $this->view->partnerPackages[$package->id] = $package->name; } // init filter $partnerFilter = $this->getPartnerFilterFromRequest($request); // if non-commercial partners are not allowed, add to filter if (Infra_AclHelper::isAllowed('partner', 'commercial')) { $this->view->commercialFiltered = false; } else { $this->view->commercialFiltered = true; $partnerFilter->partnerPackageLessThanOrEqual = self::PARTNER_PACKAGE_FREE; } // get results and paginate $systemPartnerPlugin = Kaltura_Client_SystemPartner_Plugin::get($client); $paginatorAdapter = new Infra_FilterPaginator($systemPartnerPlugin->systemPartner, "listAction", null, $partnerFilter); $paginator = new Infra_Paginator($paginatorAdapter, $request); $paginator->setCurrentPageNumber($page); $paginator->setItemCountPerPage($pageSize); // popule the form $form->populate($request->getParams()); // set view $this->view->form = $form; $this->view->paginator = $paginator; $plugins = array(); $pluginInstances = KalturaPluginManager::getPluginInstances('IKalturaAdminConsolePages'); $partnerActionPluginPages = array(); foreach ($pluginInstances as $pluginInstance) { $pluginPages = $pluginInstance->getApplicationPages(Infra_AclHelper::getCurrentPermissions()); foreach ($pluginPages as $pluginPage) { if ($pluginPage instanceof IKalturaAdminConsolePublisherAction && $pluginPage->accessCheck(Infra_AclHelper::getCurrentPermissions())) { $partnerActionPluginPages[] = $pluginPage; } } } $this->view->partnerActionPluginPages = $partnerActionPluginPages; }
public function indexAction() { if (Infra_AclHelper::isAllowed('partner', 'list')) { $this->_helper->redirector('list', 'partner'); } }
/** * @param Kaltura_Client_SystemPartner_Type_SystemPartnerConfiguration $object * @param bool $add_underscore */ public function populateFromObject($object, $add_underscore = true) { /* @var $object Kaltura_Client_SystemPartner_Type_SystemPartnerConfiguration */ parent::populateFromObject($object, $add_underscore); if (is_array($object->limits)) { foreach ($object->limits as $limit) { if (isset($this->limitSubForms[$limit->type])) { $subFormObject = $this->limitSubForms[$limit->type]; $subFormObject->populateFromObject($this, $limit, false); } } } if (!$object->permissions || !count($object->permissions)) { return; } foreach ($object->permissions as $permission) { KalturaLog::debug("Set Permission: " . $permission->name . " status: " . $permission->status); $this->setDefault($permission->name, $permission->status == Kaltura_Client_Enum_PermissionStatus::ACTIVE); } // partner is set to free trail package if (intval($object->partnerPackage) == PartnerController::PARTNER_PACKAGE_FREE) { if (!Infra_AclHelper::isAllowed('partner', 'configure-account-packages-service-paid')) { $this->setPermissionGroupElementsToDisabled(array('accountPackagesService')); } } }