Exemple #1
0
 /**
  * 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();
 }
Exemple #2
0
 /**
  * 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();
 }