/** * Set object property */ public function setpropertyAction() { $id = Request::post('id', 'string', false); $property = Request::post('name', 'string', false); $value = Request::post('value', 'raw', false); if (!$id || !$this->_object->getFiltersFeature()->filterExists($id)) { Response::jsonError($this->_lang->WRONG_REQUEST); } $object = $this->_object->getFiltersFeature()->getFilter($id); if (!$object->isValidProperty($property)) { Response::jsonError(); } $object->{$property} = $value; $this->_storeProject(); Response::jsonSuccess(); }
/** * Change grid filter type */ public function changefiltertypeAction() { $type = Request::post('type', 'string', ''); $filterId = Request::post('filterid', 'pagecode', false); if (!$filterId) { Response::jsonError($this->_lang->WRONG_REQUEST); } if (strlen($type)) { $name = 'Grid_Filter_' . ucfirst($type); } else { $name = 'Grid_Filter_String'; } $oldFilter = $this->_object->getFiltersFeature()->getFilter($filterId); $newFilter = Ext_Factory::object($name); Ext_Factory::copyProperties($oldFilter, $newFilter); $newFilter->setName($oldFilter->getName()); switch ($type) { case 'date': if (empty($newFilter->dateFormat)) { $newFilter->dateFormat = "Y-m-d"; } if (empty($newFilter->afterText)) { $newFilter->afterText = '[js:] appLang.FILTER_AFTER_TEXT'; } if (empty($newFilter->beforeText)) { $newFilter->beforeText = '[js:] appLang.FILTER_BEFORE_TEXT'; } if (empty($newFilter->onText)) { $newFilter->onText = '[js:] appLang.FILTER_ON_TEXT'; } break; case 'datetime': if (empty($newFilter->dateFormat)) { $newFilter->dateFormat = "Y-m-d"; } $newFilter->date = '{format: "Y-m-d"}'; $newFilter->time = '{format: "H:i:s",increment:1}'; if (empty($newFilter->afterText)) { $newFilter->afterText = '[js:] appLang.FILTER_AFTER_TEXT'; } if (empty($newFilter->beforeText)) { $newFilter->beforeText = '[js:] appLang.FILTER_BEFORE_TEXT'; } if (empty($newFilter->onText)) { $newFilter->onText = '[js:] appLang.FILTER_ON_TEXT'; } break; case 'list': $newFilter->phpMode = true; break; case 'boolean': $newFilter->noText = '[js:] appLang.NO'; $newFilter->yesText = '[js:] appLang.YES'; break; } if (!$this->_object->getFiltersFeature()->setFilter($filterId, $newFilter)) { Response::jsonError($this->_lang->WRONG_REQUEST); } $this->_storeProject(); Response::jsonSuccess(); }