Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Форма регистрации юзеров с указанием группы.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Symfony2
digi
Отправлено: 04 Сентября, 2012 - 14:07:48
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




Стоит задача предоставить возможность юзерам при регистрации выбрать свою группу. Работа с юзерами на базе FOSUserBundle, расширил форму:

CODE (php):
скопировать код в буфер обмена
  1. // Acme\UserBundle\Form\Type\RegistrationFormType.php
  2.  
  3. $builder->add('my_group', 'choice', array(
  4.     'choices' => array(
  5.         'group_a' => 'А',
  6.         'group_b' => 'Б',
  7.     ),            
  8.     'data' => 'group_b',
  9.     'expanded'  => true,
  10. ));


Теперь надо сделать валидацию, чтобы через my_group могло проходить либо group_a, либо group_b.

И вторая задача, после успешной валидации, надо создать юзера, а на базе поля my_group добавить его в группу, например таким образом:

CODE (php):
скопировать код в буфер обмена
  1. $user->addGroup($this->get('fos_user.group_manager')->findGroupByName('group_a'));
  2.  
  3. $this->get('fos_user.user_manager')->updateUser($this->getUser());


Подскажите плиз, как это сделать, куда копать?
 
 Top
caballero
Отправлено: 04 Сентября, 2012 - 14:45:42
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




и зачем брать Симфони, которая явно не для начинающих, а теперь не знать куда там копать.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
digi
Отправлено: 04 Сентября, 2012 - 14:47:14
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




каждый симфонист когда то был начинающий ;) а решать задачи - это здорово! Улыбка
 
 Top
digi
Отправлено: 05 Сентября, 2012 - 10:41:42
Post Id


Посетитель


Покинул форум
Сообщений всего: 406
Дата рег-ции: Янв. 2012  


Помог: 4 раз(а)




теперь поле в форму добавляю так:

CODE (php):
скопировать код в буфер обмена
  1. $builder->add('groups', 'entity', array(
  2.     'class' => 'Acme\UserBundle\Entity\Group',
  3.     'property' => 'title',
  4.     'required' => true,
  5.     'expanded' => true,
  6. ));


сохранение происходит корректно, но неполучается настроить валидацию Недовольство, огорчение( описываю валидацию так:
CODE (text):
скопировать код в буфер обмена
  1. Acme\UserBundle\Entity\User:
  2.     properties:
  3.         groups:
  4.             - Choice: { choices: [group_a, group_b], message: Choose a valid group.}


пробовал также и
CODE (text):
скопировать код в буфер обмена
  1.             - Choice: { choices: ["1", "2"], message: Choose a valid group.}


но всегда получаю сообщение: Choose a valid group.

есть мысли как можно заставить пропускать только заданный список групп?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB