/** * Add columns */ public function addcolumnsAction() { $columns = Request::post('col', 'raw', false); if (empty($columns)) { Response::jsonError($this->_lang->INVALID_VALUE); } $columns = json_decode($columns, true); foreach ($columns as $v) { if ($this->_object->columnExists($v['name'])) { Response::jsonError($this->_lang->SB_UNIQUE); } switch ($v['type']) { case 'boolean': $column = Ext_Factory::object('Grid_Column_Boolean'); break; case 'integer': $column = Ext_Factory::object('Grid_Column_Number'); case 'float': $column = Ext_Factory::object('Grid_Column_Number'); break; case 'date': $column = Ext_Factory::object('Grid_Column_Date'); break; default: $column = Ext_Factory::object('Grid_Column'); } $column->text = $v['name']; $column->dataIndex = $v['name']; $column->setName($v['name']); if (!$this->_object->addColumn($v['name'], $column, 0)) { Response::jsonError($this->_lang->INVALID_VALUE); } } $this->_storeProject(); Response::jsonSuccess(); }