protected function earlyExecute() { $this->form->getValidatorSchema()->setOption('allow_extra_fields', true); $this->resource = new QubitActor(); // Make root actor the parent of new actors $this->resource->parentId = QubitActor::ROOT_ID; if (isset($this->getRoute()->resource)) { $this->resource = $this->getRoute()->resource; // Check that this isn't the root if (!isset($this->resource->parent)) { $this->forward404(); } // Check user authorization if (!QubitAcl::check($this->resource, 'update')) { QubitAcl::forwardUnauthorized(); } // Add optimistic lock $this->form->setDefault('serialNumber', $this->resource->serialNumber); $this->form->setValidator('serialNumber', new sfValidatorInteger()); $this->form->setWidget('serialNumber', new sfWidgetFormInputHidden()); } else { // Check user authorization against Actor ROOT if (!QubitAcl::check(QubitActor::getById(QubitActor::ROOT_ID), 'create')) { QubitAcl::forwardUnauthorized(); } } $this->form->setDefault('next', $this->request->getReferer()); $this->form->setValidator('next', new sfValidatorString()); $this->form->setWidget('next', new sfWidgetFormInputHidden()); }
public function execute($request) { if (!isset($request->limit)) { $request->limit = sfConfig::get('app_hits_per_page'); } if (isset($request->subquery)) { try { // Parse query string $query = QubitSearch::getInstance()->parse($request->subquery); } catch (Exception $e) { $this->error = $e->getMessage(); return; } } else { $this->redirect(array('module' => 'actor', 'action' => 'browse')); } $query->addSubquery(QubitSearch::getInstance()->addTerm('QubitActor', 'className'), true); $query = QubitAcl::searchFilterByResource($query, QubitActor::getById(QubitActor::ROOT_ID)); $this->pager = new QubitArrayPager(); try { $this->pager->hits = QubitSearch::getInstance()->getEngine()->getIndex()->find($query); } catch (Exception $e) { $this->error = $e->getMessage(); return; } $this->pager->setMaxPerPage($request->limit); $this->pager->setPage($request->page); $ids = array(); foreach ($this->pager->getResults() as $hit) { $ids[] = $hit->getDocument()->id; } $criteria = new Criteria(); $criteria->add(QubitActor::ID, $ids, Criteria::IN); $this->actors = QubitActor::get($criteria); }
<?php echo get_partial('addActorDialog', array('basicActions' => $basicActions)); ?> <form method="post" action="<?php echo url_for(array($resource, 'module' => 'aclGroup', 'action' => 'editActorAcl')); ?> " id="editForm"> <?php foreach ($actors as $objectId => $permissions) { ?> <div class="form-item"> <?php echo get_component('aclGroup', 'aclTable', array('object' => QubitActor::getById($objectId), 'permissions' => $permissions, 'actions' => $basicActions)); ?> </div> <?php } ?> <div class="form-item"> <label for="addActorLink"><?php echo __('Add permissions by %1%', array('%1%' => sfConfig::get('app_ui_label_actor'))); ?> </label> <a id="addActorLink" href="javascript:myDialog.show()"><?php echo __('Add %1%', array('%1%' => sfConfig::get('app_ui_label_actor'))); ?> </a>
?> </tr> </thead><tbody> <?php foreach ($acl as $objectId => $actions) { ?> <tr> <td colspan="<?php echo $tableCols; ?> "><strong> <?php if (1 < $objectId) { ?> <?php echo render_title(QubitActor::getById($objectId)); ?> <?php } else { ?> <em><?php echo __('All %1%', array('%1%' => sfConfig::get('app_ui_label_actor'))); ?> </em> <?php } ?> </strong></td> </tr> <?php $row = 0;