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.º 2
0
 public function testUrl()
 {
     $m1 = new Kwf_Model_FnF();
     $form = new Kwf_Form();
     $form->setModel($m1);
     $field1 = $form->add(new Kwf_Form_Field_UrlField('test'));
     $post = array($field1->getFieldName() => 'http://www.örf.at');
     $post = $form->processInput($form->getRow(), $post);
     $form->validate($form->getRow(), $post);
     $form->prepareSave(null, $post);
     $form->save(null, $post);
     $row = $m1->getRow($m1->select());
     $this->assertEquals('http://www.xn--rf-eka.at', $row->test);
     $loadData = $field1->load($row);
     $this->assertEquals('http://www.örf.at', $loadData['test']);
 }
Exemplo n.º 3
0
 public function testEMail()
 {
     $m1 = new Kwf_Model_FnF();
     $form = new Kwf_Form();
     $form->setModel($m1);
     $field1 = $form->add(new Kwf_Form_Field_EMailField('test'));
     $post = array($field1->getFieldName() => 'ufx@vüvüd-planet.com');
     $post = $form->processInput($form->getRow(), $post);
     $form->validate($form->getRow(), $post);
     $form->prepareSave(null, $post);
     $form->save(null, $post);
     $row = $m1->getRow($m1->select());
     $this->assertEquals('*****@*****.**', $row->test);
     $loadData = $field1->load($row);
     $this->assertEquals('ufx@vüvüd-planet.com', $loadData['test']);
 }
Exemplo n.º 4
0
 public function getRow($parentRow = null)
 {
     $id = $this->_getIdByParentRow($parentRow);
     if (($id === 0 || $id === '0' || is_null($id)) && $this->_newUserRow) {
         return $this->_newUserRow;
     } else {
         return parent::getRow($parentRow);
     }
 }
Exemplo n.º 5
0
 public function getRow($parentRow = null)
 {
     if (!$this->_rowType) {
         throw new Kwf_Exception('_rowType must be set when using ' . get_class($this));
     }
     $row = parent::getRow($parentRow);
     $row->type = $this->_rowType;
     return $row;
 }
Exemplo n.º 6
0
 public function testWithRelModel()
 {
     $m1 = new Kwf_Form_MultiCheckbox_DataModelNoRel();
     $m2 = new Kwf_Form_MultiCheckbox_RelationModelNoRel();
     $form = new Kwf_Form();
     $form->setModel($m1);
     $mcb = $form->add(new Kwf_Form_Field_MultiCheckbox($m2, 'Value', 'MultiCheck2'));
     $post = array($mcb->getFieldName() . '_1' => 1, $mcb->getFieldName() . '_2' => 0, $mcb->getFieldName() . '_3' => 0);
     $post = $form->processInput($form->getRow(), $post);
     $form->validate($form->getRow(), $post);
     $form->prepareSave(null, $post);
     $form->save(null, $post);
     $form->afterSave(null, $post);
     $rows = $m2->getRows($m2->select()->whereEquals('data_id', 1))->toArray();
     $expected = array('id' => 1, 'data_id' => 1, 'values_id' => 1);
     $this->assertEquals(1, count($rows));
     $this->assertEquals($expected, $rows[0]);
 }
Exemplo n.º 7
0
 public function testDateTime()
 {
     $m1 = new Kwf_Model_FnF();
     $form = new Kwf_Form();
     $form->setModel($m1);
     $field1 = $form->add(new Kwf_Form_Field_DateTimeField('dtftest1', 'dtf label'))->setAllowBlank(false);
     $field2 = $form->add(new Kwf_Form_Field_DateTimeField('dtftest2', 'dtf label2'))->setAllowBlank(false);
     $field3 = $form->add(new Kwf_Form_Field_DateTimeField('dtftest3', 'dtf label2'))->setAllowBlank(false);
     $post = array($field1->getFieldName() => '2009-12-15T13:43:00', $field2->getFieldName() => '"2009-12-01T13:43:59"', $field3->getFieldName() => '"209-12-1');
     $post = $form->processInput($form->getRow(), $post);
     $form->validate($form->getRow(), $post);
     $form->prepareSave(null, $post);
     $form->save(null, $post);
     $form->afterSave(null, $post);
     $row = $m1->getRow($m1->select());
     $this->assertEquals('2009-12-15 13:43:00', $row->{$field1->getFieldName()});
     $this->assertEquals('2009-12-01 13:43:59', $row->{$field2->getFieldName()});
     $this->assertNull($row->{$field3->getFieldName()});
 }
 public function testBam()
 {
     $m1 = new Kwf_Model_FnF();
     $m2 = new Kwf_Model_FnF();
     $m3 = new Kwf_Model_FnF();
     $form = new Kwf_Form();
     $form->setModel($m1);
     $form->add(new Kwf_Form_Field_TextField('test1'));
     $form->add(new Kwf_Form_Field_MultiFields($m2))->setReferences(array('columns' => array('test1_id'), 'refColumns' => array('id')))->fields->add(new Kwf_Form('child'))->setCreateMissingRow(true)->setIdTemplate('{id}')->setModel($m3)->add(new Kwf_Form_Field_TextField('test2'));
     $post = array('test1' => 'blub', 'Kwf_Model_FnF' => array(array('child_test2' => 'bab')));
     $post = $form->processInput($form->getRow(), $post);
     $form->validate($form->getRow(), $post);
     $form->prepareSave(null, $post);
     $form->save(null, $post);
     $form->afterSave(null, $post);
     $r = $m1->getRow(1);
     $this->assertEquals('blub', $r->test1);
     $r = $m3->getRow(1);
     $this->assertEquals('bab', $r->test2);
 }
Exemplo n.º 9
0
 public function testDate()
 {
     $m1 = new Kwf_Model_FnF();
     $form = new Kwf_Form();
     $form->setModel($m1);
     $field1 = $form->add(new Kwf_Form_Field_DateField('test1'));
     $field2 = $form->add(new Kwf_Form_Field_DateField('test2'));
     $field3 = $form->add(new Kwf_Form_Field_DateField('test3'));
     $form->trlStaticExecute();
     $field1->trlStaticExecute();
     $field2->trlStaticExecute();
     $field3->trlStaticExecute();
     $post = array($field1->getFieldName() => '"2009-12-01T00:00:00"', $field2->getFieldName() => trlKwf('yyyy-mm-dd'), $field3->getFieldName() => date(trlKwf('Y-m-d'), strtotime('2010-01-10')));
     $post = $form->processInput($form->getRow(), $post);
     $form->validate($form->getRow(), $post);
     $form->prepareSave(null, $post);
     $form->save(null, $post);
     $form->afterSave(null, $post);
     $row = $m1->getRow($m1->select());
     $this->assertEquals('2009-12-01', $row->{$field1->getFieldName()});
     $this->assertEquals(null, $row->{$field2->getFieldName()});
     $this->assertEquals('2010-01-10', $row->{$field3->getFieldName()});
 }
Exemplo n.º 10
0
 public function jsonDeleteAction()
 {
     if (!isset($this->_permissions['delete']) || !$this->_permissions['delete']) {
         throw new Kwf_Exception('Delete is not allowed.');
     }
     $row = $this->_form->getRow();
     if (!$this->_hasPermissions($row, 'delete')) {
         throw new Kwf_Exception("Delete is not allowed for this row.");
     }
     $db = Zend_Registry::get('db');
     if ($db) {
         $db->beginTransaction();
     }
     $this->_form->delete(null);
     if ($db) {
         $db->commit();
     }
 }