protected function _initFields()
 {
     $this->_form->setModel(new Kwf_Model_FnF(array('data' => array(array('id' => 1, 'foo' => 2)))));
     $foo = new Kwf_Form_Field_Select('foo', 'Foo');
     $foo->setFilterField('filter_id');
     $foo->setValues('/kwf/test/kwf_form_combo-box-filter_remote/json-data')->setAllowBlank(false);
     $this->_form->add(new Kwf_Form_Field_ComboBoxFilter('filter', 'Filter'))->setValues(array(1 => 'filter1', 2 => 'filter2'))->setFilteredCombo($foo);
 }
 protected function _initFields()
 {
     $this->_form->setModel(new Kwf_Model_FnF(array('data' => array(array('id' => 1, 'foo' => 2)))));
     $foo = new Kwf_Form_Field_Select('foo', 'Foo');
     $foo->setValues('/kwf/test/kwf_form_filter-field_remote/json-data');
     $foo->setAllowBlank(false);
     $foo2 = new Kwf_Form_Field_Select('foo2', 'Foo2');
     $foo2->setValues(array(1 => 'filter1', 2 => 'filter2'))->setSave(false)->setAllowBlank(false);
     $this->_form->add(new Kwf_Form_Field_FilterField())->setFilterColumn('filter_id')->setFilteredField($foo)->setFilterField($foo2);
 }
 protected function _initFields()
 {
     $this->_form->setModel(new Kwf_Model_FnF(array('data' => array(array('id' => 1, 'foo' => 2)))));
     //         $this->_form->add(new Kwf_Form_Field_TextField('foo', 'Foo'));
     $foo = new Kwf_Form_Field_Select('foo', 'Foo');
     $foo->setFields(array('id', 'name', 'filter_id'));
     $foo->setFilterField('filter_id');
     $foo->setValues(array(array(1, 'test1.1', 1), array(2, 'test1.2', 1), array(3, 'test1.3', 1), array(4, 'test2.4', 2), array(5, 'test2.5', 2)))->setAllowBlank(false);
     //$this->_form->add($foo);
     $this->_form->add(new Kwf_Form_Field_ComboBoxFilter('filter', 'Filter'))->setValues(array(1 => 'filter1', 2 => 'filter2'))->setFilteredCombo($foo);
 }
Example #4
0
 public function testFieldNamesWithFormName()
 {
     $form = new Kwf_Form();
     $form->setName('bar');
     $form->setModel(new Kwf_Model_FnF(array('data' => array(array('id' => 1, 'foo' => 2)))));
     $foo = new Kwf_Form_Field_Select('foo', 'Foo');
     $foo->setValues('/kwf/test/kwf_form_filter-field_remote/json-data');
     $foo->setAllowBlank(false);
     $foo2 = new Kwf_Form_Field_Select('foo2', 'Foo2');
     $foo2->setValues(array(1 => 'filter1', 2 => 'filter2'))->setSave(false)->setAllowBlank(false);
     $form->add(new Kwf_Form_Field_FilterField())->setFilterColumn('filter_id')->setFilteredField($foo)->setFilterField($foo2);
     $this->assertEquals('bar_foo', $foo->getFieldName());
     $this->assertEquals('bar_foo2', $foo2->getFieldName());
 }
Example #5
0
 protected function _initFields()
 {
     $typeModel = Kwf_Model_Abstract::getInstance('Linkdata');
     $typeSelect = $typeModel->select()->whereEquals('name', 'Дополнительные позиции')->order('value');
     $positions = new Kwf_Form_Field_Select('positionId', trlKwf('Position'));
     $positions->setValues($typeModel->getRows($typeSelect));
     $positions->setAllowBlank(false);
     $positions->setWidth(400);
     $employees = new Kwf_Form_Field_Select('employeeId', trlKwf('Employee'));
     $employees->setValues('/staffgroupsfilter/json-data');
     $employees->setAllowBlank(false);
     $employees->setWidth(400);
     $this->_form->add(new Kwf_Form_Field_FilterField())->setFilterColumn('positionId')->setFilteredField($employees)->setFilterField($positions)->setWidth(400);
     $this->_form->add(new Kwf_Form_Field_TextArea('comment', trlKwf('Comment')))->setHeight(70)->setWidth(400);
 }
 protected function _initColumns()
 {
     $c = Kwf_Component_Data_Root::getInstance()->getComponentByDbId($this->_getParam('componentId'), array('limit' => 1, 'ignoreVisible' => true));
     $nl = Kwf_Component_Data_Root::getInstance()->getComponentByClass('Kwc_Newsletter_Component', array('subroot' => $c));
     $values = array();
     $model = Kwf_Model_Abstract::getInstance('Kwc_NewsletterCategory_CategoriesModel');
     $s = $model->select()->whereEquals('newsletter_component_id', $nl->dbId)->order('pos');
     foreach ($model->getRows($s) as $row) {
         $values[$row->id] = $row->category;
     }
     $select = new Kwf_Form_Field_Select();
     $select->setValues($values)->setAllowBlank(false);
     $this->_columns->add(new Kwf_Grid_Column('name', trlKwf('Label'), 200))->setEditor(new Kwf_Form_Field_TextField());
     $this->_columns->add(new Kwf_Grid_Column('category'))->setData(new Kwf_Data_Table_Parent('Category'));
     $this->_columns->add(new Kwf_Grid_Column('category_id', trlKwf('Category'), 200))->setEditor($select)->setType('string')->setShowDataIndex('category');
 }
 protected function _getRoleField()
 {
     $acl = Kwf_Registry::get('acl');
     $userRole = Kwf_Registry::get('userModel')->getAuthedUserRole();
     $authedUser = Kwf_Registry::get('userModel')->getAuthedUser();
     // alle erlaubten haupt-rollen in variable
     $roles = array();
     foreach ($acl->getAllowedEditRolesByRole($userRole) as $role) {
         $roles[$role->getRoleId()] = Kwf_Trl::getInstance()->trlStaticExecute($role->getRoleName());
     }
     if (!$roles) {
         return null;
     }
     // ALLE additional roles in variable
     $addRoles = array();
     foreach ($acl->getAdditionalRoles() as $role) {
         $addRoles[$role->getParentRoleId()][$role->getRoleId()] = Kwf_Trl::getInstance()->trlStaticExecute($role->getRoleName());
     }
     // Wenns keine additionalRoles gibt, normales select verwenden
     if (!$addRoles) {
         $ret = new Kwf_Form_Field_Select('role', trlKwf('Rights'));
         $ret->setValues($roles)->setAllowBlank(false);
     } else {
         // eigene additionalRoles holen, nur die dürfen zugewiesen werden
         $allowedRoles = array_merge($authedUser->getAdditionalRoles(), $acl->getAllowedEditResourceRoleIdsByRole($userRole));
         // cards container erstellen und zu form hinzufügen
         $ret = new Kwf_Form_Container_Cards('role', trlKwf('Rights'));
         $ret->getCombobox()->setAllowBlank(false);
         foreach ($roles as $roleId => $roleName) {
             $card = $ret->add();
             $card->setTitle($roleName);
             $card->setName($roleId);
             if (isset($addRoles[$roleId])) {
                 foreach ($addRoles[$roleId] as $addRoleId => $addRoleName) {
                     if (!in_array($addRoleId, $allowedRoles)) {
                         unset($addRoles[$roleId][$addRoleId]);
                     }
                 }
                 $editor = new Kwf_Form_Field_MultiCheckboxLegacy('Kwf_User_AdditionalRoles', trlKwf('Additional rights'));
                 $editor->setColumnName('additional_role')->setValues($addRoles[$roleId])->setReferences(array('columns' => array('user_id'), 'refColumns' => array('id')));
                 $card->add($editor);
             }
         }
     }
     return $ret;
 }
 protected function _initColumns()
 {
     $this->_columns->add(new Kwf_Grid_Column_Visible());
     $this->_columns->add(new Kwf_Grid_Column('component_class'))->setData(new Kwf_Data_Kwc_ComponentClass($this->_getParam('class')));
     $this->_columns->add(new Kwf_Grid_Column('component_name'))->setData(new Kwf_Data_Kwc_ComponentName($this->_getParam('class')));
     $this->_columns->add(new Kwf_Grid_Column('component_icon'))->setData(new Kwf_Data_Kwc_ComponentIcon($this->_getParam('class')));
     $this->_columns->add(new Kwf_Grid_Column('preview'))->setData(new Kwf_Data_Kwc_Frontend($this->_getParam('class')))->setRenderer('component');
     $this->_columns->add(new Kwf_Grid_Column('device_visible'))->setEditor(new Kwf_Form_Field_TextField());
     foreach (Kwf_Component_Data_Root::getInstance()->getPlugins('Kwf_Component_PluginRoot_Interface_GeneratorProperty') as $plugin) {
         $params = $plugin->getGeneratorProperty(Kwf_Component_Generator_Abstract::getInstance($this->_getParam('class'), 'paragraphs'));
         if ($params) {
             $editor = new Kwf_Form_Field_Select();
             $editor->setValues($params['values'])->setListWidth(200);
             $this->_columns->add(new Kwf_Grid_Column($params['name']))->setEditor($editor)->setData(new Kwf_Component_PluginRoot_GeneratorProperty_Data($plugin));
         }
     }
     $this->_columns->add(new Kwf_Grid_Column('edit_components'))->setData(new Kwf_Data_Kwc_EditComponents($this->_getParam('class')));
 }
 protected function _initColumns()
 {
     $component = Kwf_Component_Data_Root::getInstance()->getComponentByDbId($this->_getParam('componentId'), array('ignoreVisible' => true, 'limit' => 1));
     $maxColumns = Kwc_Abstract::getSetting($component->componentClass, 'maxColumns');
     $sel = new Kwf_Form_Field_Select();
     $rowStyles = Kwc_Abstract::getSetting($this->_getParam('class'), 'rowStyles');
     $rowStylesSelect = array();
     foreach ($rowStyles as $k => $rowStyle) {
         $rowStylesSelect[$k] = $rowStyle['name'];
     }
     $sel->setValues($rowStylesSelect);
     $sel->setShowNoSelection(true);
     $this->_columns->add(new Kwf_Grid_Column_Visible());
     $this->_columns->add(new Kwf_Grid_Column('css_style', trlKwf('Style'), 100))->setEditor($sel);
     for ($i = 1; $i <= $maxColumns; $i++) {
         $ed = new Kwf_Form_Field_TextField();
         $ed->setAllowTags(true);
         $this->_columns->add(new Kwf_Grid_Column("column{$i}", $this->_getColumnLetterByIndex($i - 1), 150))->setEditor($ed);
     }
 }
 protected function _initColumns()
 {
     parent::_initColumns();
     $this->_columns->add(new Kwf_Grid_Column_Visible());
     if ($this->_showChildComponentGridColumns) {
         $c = Kwc_Abstract::getChildComponentClass($this->_getParam('class'), 'child');
         foreach (Kwc_Admin::getInstance($c)->gridColumns() as $i) {
             $this->_columns->add($i);
         }
     }
     foreach (Kwf_Component_Data_Root::getInstance()->getPlugins('Kwf_Component_PluginRoot_Interface_GeneratorProperty') as $plugin) {
         $params = $plugin->getGeneratorProperty(Kwf_Component_Generator_Abstract::getInstance($this->_getParam('class'), 'child'));
         if ($params) {
             $editor = new Kwf_Form_Field_Select();
             $editor->setValues($params['values'])->setListWidth(200);
             $this->_columns->add(new Kwf_Grid_Column($params['name'], $params['label']))->setEditor($editor)->setShowDataIndex($params['name'] . '_text')->setData(new Kwf_Component_PluginRoot_GeneratorProperty_Data($plugin));
             $this->_columns->add(new Kwf_Grid_Column($params['name'] . '_text'))->setData(new Kwf_Component_PluginRoot_GeneratorProperty_DataText($plugin));
         }
     }
 }
 protected function _initFields()
 {
     $tabs = $this->_form->add(new Kwf_Form_Container_Tabs());
     $tabs->setActiveTab(0);
     // **** General Info
     $tab = $tabs->add();
     $tab->setTitle(trlKwf('General Info'));
     $companyModel = Kwf_Model_Abstract::getInstance('Companies');
     $companySelect = $companyModel->select();
     $docTypeModel = Kwf_Model_Abstract::getInstance('Linkdata');
     $docTypeSelect = $docTypeModel->select()->whereEquals('name', 'Типы документов');
     $docGradeModel = Kwf_Model_Abstract::getInstance('Linkdata');
     $docGradeSelect = $docGradeModel->select()->whereEquals('name', 'Оценки');
     $tab->fields->add(new Kwf_Form_Field_Select('typeId', trlKwf('Type')))->setValues($docTypeModel)->setSelect($docTypeSelect)->setWidth(400)->setAllowBlank(false);
     $tab->fields->add(new Kwf_Form_Field_TextField('number', trlKwf('Number')))->setWidth(400)->setAllowBlank(false);
     $tab->fields->add(new Kwf_Form_Field_DateField('startDate', trlKwf('Doc Start Date')))->setAllowBlank(false);
     $tab->fields->add(new Kwf_Form_Field_DateField('endDate', trlKwf('Doc End Date')))->setAllowBlank(true);
     $tab->fields->add(new Kwf_Form_Field_Select('companyId', trlKwf('Spec Doc company')))->setValues($companyModel)->setSelect($companySelect)->setWidth(400)->setAllowBlank(false);
     $fs = new Kwf_Form_Container_FieldSet(trlKwf('Grade'));
     $fs->setCheckboxToggle(true);
     $fs->setCheckboxName('gradeVisible');
     $gradeSelect = new Kwf_Form_Field_Select('gradeId', trlKwf('Grade'));
     $gradeSelect->setValues($docGradeModel);
     $gradeSelect->setSelect($docGradeSelect);
     $gradeSelect->setWidth(360);
     $gradeSelect->setAllowBlank(true);
     $fs->fields->add($gradeSelect);
     $tab->fields->add($fs);
     $tab->fields->add(new Kwf_Form_Field_TextArea('comment', trlKwf('Comment')))->setHeight(70)->setWidth(400);
     $tab = $tabs->add();
     $tab->setTitle(trlKwf('File'));
     $tab->fields->add(new Kwf_Form_Field_File('Picture', trlKwf('File')))->setShowPreview(false)->setAllowOnlyImages(true);
     $tab->fields->add(new Kwf_Form_Field_ImageViewer('picture_id', trlKwf('Image'), 'Picture'));
 }
 public function trlStaticExecute($language = null)
 {
     parent::trlStaticExecute($language);
     $values = array();
     if (!$language) {
         $language = Kwf_Trl::getInstance()->getTargetLanguage();
     }
     $nameColumn = 'name_' . $language;
     foreach (Kwf_Model_Abstract::getInstance('Kwf_Util_Model_Countries')->getRows() as $row) {
         $values[$row->id] = $row->{$nameColumn};
     }
     asort($values, SORT_LOCALE_STRING);
     $this->setValues($values);
 }
 protected function _getFormField()
 {
     $ret = new Kwf_Form_Field_Select($this->getData()->componentId);
     $ret->setFieldLabel($this->getRow()->field_label);
     if ($this->getRow()->label_width) {
         $ret->setLabelWidth($this->getRow()->label_width);
     }
     $ret->setWidth($this->getRow()->width);
     $ret->setAllowBlank(!$this->getRow()->required);
     $ret->setHideLabel($this->getRow()->hide_label);
     $values = array();
     $s = new Kwf_Model_Select();
     $s->order('pos');
     foreach ($this->getRow()->getChildRows('Values', $s) as $i) {
         $values[$i->value] = $i->value;
     }
     $ret->setValues($values);
     if ($this->getRow()->label_position_above) {
         $ret->setLabelPosition('above');
     }
     return $ret;
 }
Example #14
0
 public function getTemplateVars($values, $fieldNamePostfix = '', $idPrefix = '')
 {
     $ret = parent::getTemplateVars($values, $fieldNamePostfix, $idPrefix);
     $name = $this->getFieldName();
     $value = isset($values[$name]) ? $values[$name] : $this->getDefaultValue();
     $ret['id'] = $idPrefix . str_replace(array('[', ']'), array('_', '_'), $name . $fieldNamePostfix);
     $store = $this->_getStoreData();
     if ($this->getShowNoSelection()) {
         array_unshift($store['data'], array('', '(' . trlKwf('no selection') . ')'));
     }
     $ret['html'] = '<div class="kwfFormFieldRadio kwfFormFieldRadio' . ucfirst($this->getOutputType()) . '">';
     $k = 0;
     foreach ($store['data'] as $i) {
         $ret['html'] .= '<span class="value' . htmlspecialchars(ucfirst($i[0])) . '">';
         $ret['html'] .= '<input type="radio" class="radio" id="' . $ret['id'] . ++$k . '" ' . 'name="' . $name . $fieldNamePostfix . '" value="' . htmlspecialchars($i[0]) . '"';
         if ($value === $i[0] || !is_null($value) && $i[0] == $value) {
             $ret['html'] .= ' checked="checked"';
         }
         $ret['html'] .= ' /> <label for="' . $ret['id'] . $k . '">' . htmlspecialchars($i[1]) . '</label>';
         $ret['html'] .= '</span>';
     }
     $ret['html'] .= '</div>';
     return $ret;
 }
 public function getTemplateVars($values, $fieldNamePostfix = '', $idPrefix = '')
 {
     $this->setSubmitOnChange(true);
     return parent::getTemplateVars($values, $fieldNamePostfix, $idPrefix);
 }