Ejemplo n.º 1
0
 protected function _checkAction()
 {
     $name = Request::post('id', 'string', '');
     if (!$this->_column->actionExists($name)) {
         Response::jsonError($this->_lang->WRONG_REQUEST . ' invalid action');
     }
     $this->_action = $this->_column->getAction($name);
 }
Ejemplo n.º 2
0
 /**
  * Set object property
  */
 public function setpropertyAction()
 {
     $this->_checkColumn();
     $action = Request::post('id', 'string', false);
     if ($action === false || !$this->_column->actionExists($action)) {
         Response::jsonError($this->_lang->WRONG_REQUEST . ' invalid action');
     }
     $action = $this->_column->getAction($action);
     $property = Request::post('name', 'string', false);
     $value = Request::post('value', 'raw', false);
     if (!$action->isValidProperty($property)) {
         Response::jsonError();
     }
     $action->{$property} = $value;
     $this->_storeProject();
     Response::jsonSuccess();
 }
Ejemplo n.º 3
0
 /**
  * Convert listeners for actioncolumn
  * @param Ext_Grid_Column_Action $column
  */
 protected function _convertColumnActions(Ext_Grid_Column_Action $column)
 {
     $actions = $column->getActions();
     if (empty($actions)) {
         return;
     }
     $eventManager = $this->_project->getEventManager();
     foreach ($actions as $object) {
         $eventsConfig = $object->getConfig()->getEvents()->__toArray();
         $colEvents = $eventManager->getObjectEvents($object->getName());
         if (empty($colEvents)) {
             continue;
         }
         foreach ($colEvents as $event => $config) {
             if (!strlen($config['code'])) {
                 continue;
             }
             $params = '';
             if (isset($eventsConfig[$event])) {
                 $params = implode(',', array_keys($eventsConfig[$event]));
             }
             $object->addListener($event, "function(" . $params . "){\n" . Utils_String::addIndent($config['code'], 2) . "\n}");
             $object->scope = 'this';
         }
     }
 }