Exemplo n.º 1
0
 private function _assertPostedValue($postValue, $savedValue, $language, $frontendValue, $allowDecimals = null)
 {
     $m1 = new Kwf_Form_NumberField_TestModel();
     $form = new Kwf_Form();
     $form->setModel($m1);
     $form->setId(1);
     $nrField = $form->add(new Kwf_Form_Field_NumberField('nr', 'Number'));
     $nrField->setAllowDecimals($allowDecimals);
     $form->trlStaticExecute($language);
     $post = array($nrField->getFieldName() => $postValue);
     if ($frontendValue !== false) {
         $post[$nrField->getFieldName() . '-format'] = 'fe';
     }
     $post = $form->processInput(null, $post);
     if (!$form->validate(null, $post)) {
         $form->prepareSave(null, $post);
         $form->save(null, $post);
     }
     $testRow = $m1->getRow(1);
     $this->assertEquals($savedValue, $testRow->nr);
     $values = $form->load(null, $post);
     $this->assertEquals($values['nr'], $postValue);
     if ($frontendValue !== false) {
         $html = $nrField->getTemplateVars($values);
         $this->assertTrue(!!preg_match('#name="nr" value="(.*?)"#', $html['html'], $m));
         $this->assertEquals($frontendValue, $m[1]);
     }
 }
 public function testCreateOnFind()
 {
     $form = new Kwf_Form('form1');
     $form->setModel(new Kwf_Model_FnF(array('data' => array(array('id' => 10, 'test1' => 'foo')))));
     $form->add(new Kwf_Form_Field_TextField('test1'));
     $form->add(new Kwf_Form('form2'))->setModel(new Kwf_Model_FnF())->setCreateMissingRow(true)->setIdTemplate('{0}')->add(new Kwf_Form_Field_TextField('test2'));
     $form->setId(10);
     $data = $form->load(null);
     $this->assertEquals($data, array('form1_test1' => 'foo', 'form1_form2_test2' => ''));
     $data = array('form1_test1' => 'foox', 'form1_form2_test2' => 'barx');
     $form->prepareSave(null, $data);
     $form->save(null, $data);
     $this->assertEquals($form->getRow(null)->test1, 'foox');
     $this->assertEquals($form->fields['form2']->getRow($form->getRow(null))->test2, 'barx');
 }
Exemplo n.º 3
0
 public function jsonLoadAction()
 {
     if ($this->_form->getId()) {
         //nur laden wennn einen id über get daherkommt
         $row = $this->_form->getRow();
         if (!$this->_hasPermissions($row, 'load')) {
             throw new Kwf_Exception('You don\'t have the permission for this entry.');
         }
         $this->_beforeLoad($row);
         $this->view->data = $this->_form->load(null);
     }
     if ($this->getRequest()->getParam('meta')) {
         $this->_appendMetaData();
     }
 }