/**
  * Override setDefaults to dynamically generate elements
  * @param array $defaults
  */
 public function setDefaults($defaults)
 {
     $subform = $this->getSubForm('current');
     foreach ($defaults['current'] as $id => $values) {
         $subform->addElement($this->createTaskElement($id, $values));
     }
     // set defaults, which will propagate to newly created subforms & elements
     parent::setDefaults($defaults);
 }
Ejemplo n.º 2
0
 /**
  */
 public function initForm(Zend_Form $form, ListView $list, MemberView $member = null)
 {
     $newsletter = new Zend_Form_SubForm();
     $newsletter->addElement('checkbox', 'subscriber', array('label' => 'I want to receive newsletter'));
     foreach ($list->groups as $group) {
         $type = $group['form_field'] == 'radio' ? 'radio' : 'multiCheckbox';
         $newsletter->addElement($type, $group['name'], array('label' => $group['name'], 'multioptions' => $group['groups']));
     }
     if ($member !== null) {
         $newsletter->setDefaults(array_merge((array) $member, $member->groups));
     }
     $form->addSubForm($newsletter, 'newsletter');
 }
Ejemplo n.º 3
0
 /**
  * Przeciążenie setDefaults, żeby uwzględniało prefixy w filtrach
  *
  * @return Zend_Form
  */
 public function setDefaults(array $defaults)
 {
     if ($this->filteredData && isset($defaults[$this->filteredData])) {
         $defaults = $defaults[$this->filteredData];
     }
     return parent::setDefaults($defaults);
 }
Ejemplo n.º 4
0
 /**
  * Add user attributes subform to form
  *
  * @param  Zend_Form            $form
  * @param  Newscoop\Entity\User $user
  * @return void
  */
 private function addUserAttributesSubForm(Zend_Form $form, User $user)
 {
     $translator = \Zend_Registry::get('container')->getService('translator');
     $subForm = new Zend_Form_SubForm();
     $subForm->setLegend($translator->trans('User attributes', array(), 'users'));
     foreach ($user->getRawAttributes() as $key => $val) {
         $subForm->addElement('text', $key, array('label' => $key));
     }
     $subForm->setDefaults($user->getAttributes());
     $form->addSubForm($subForm, 'attributes');
 }