/**
  * @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);
             }
         }
     }
 }
Beispiel #3
0
 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;
 }
Beispiel #4
0
 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'));
         }
     }
 }