]> git.andy128k.dev Git - ipf.git/commitdiff
initial data in forms
authorAndrey Kutejko <andy128k@gmail.com>
Sun, 24 Aug 2014 11:26:53 +0000 (14:26 +0300)
committerAndrey Kutejko <andy128k@gmail.com>
Sun, 24 Aug 2014 11:26:53 +0000 (14:26 +0300)
ipf/form.php
ipf/form/field.php

index f7d9d73b95a3d6f90e71752b4ff50397140a1a40..fed4367f2b51e43ad48a67439dd105b5a16d2c39 100644 (file)
@@ -9,6 +9,7 @@ abstract class IPF_Form implements Iterator
 
     public $prefix = '';
     public $id_fields = 'id_%s';
+    public $initial = null;
     public $data = array();
     public $cleaned_data = array();
     public $errors = array();
@@ -28,6 +29,7 @@ abstract class IPF_Form implements Iterator
         }
         if ($label_suffix !== null) $this->label_suffix = $label_suffix;
 
+        $this->initial = \PFF\Arr::get($extra, 'initial', array());
         $this->initFields($extra);
         $this->f = new IPF_Form_FieldProxy($this);
     }
@@ -102,10 +104,7 @@ abstract class IPF_Form implements Iterator
 
     public function initial($name)
     {
-        if (isset($this->fields[$name])) {
-            return $this->fields[$name]->initial;
-        }
-        return '';
+        return \PFF\Arr::get($this->initial, $name, null);
     }
 
     public function hiddenFields()
index 422feb4938961699f87b9f91200853f14258e682..7ce32c9752a6fbaef5efaecaefda6ea90b1f9888 100644 (file)
@@ -8,7 +8,6 @@ class IPF_Form_Field
     public $label = '';
     public $required = false;
     public $help_text = '';
-    public $initial = '';
     public $choices = null;
 
     public $hidden_widget = 'IPF_Form_Widget_HiddenInput';