PuGXMultiUserBundle, несколько регистрационных форм для пользователей одного класса

Я хочу предоставить разные страницы входа / регистрации для моих пользователей, но пользователи одного и того же класса. Я не хочу заполнять базу данных дополнительными таблицами.

pugx_multi_user:
  users:
    medics:
        entity:
          class: MedAppBundle\Entity\User
        registration:
          form:
            type: MedAppBundle\Form\MedicRegistrationType
            name: app_medics_registration
            validation_groups:  [Registration, Default]
          template: MedAppBundle:Registration:registerMedic.html.twig
        profile:
          form:
            type: MedAppBundle\Form\ProfileType
            validation_groups:  [Profile, Default]
    patients:
        entity:
          class: MedAppBundle\Entity\User
        registration:
          form:
            type: MedAppBundle\Form\PatientsRegistrationType
          template: MedAppBundle:Registration:registerPacient.html.twig
        profile:
          form:
            type: MedAppBundle\Form\ProfileType
            validation_groups:  [Profile, Default]

А вот и класс регистрации:

class RegController extends Controller
{


    public function registerPatientAction()
    {
        return $this->container
            ->get('pugx_multi_user.registration_manager')
            ->register('MedAppBundle\Entity\User');
    }


    public function registerMedicAction()
    {
        return $this->container
            ->get('pugx_multi_user.registration_manager')
            ->register('MedAppBundle\Entity\User');
    }

К сожалению, все формы оказываются последним типом пользователя, а именно pacients. Эта конфигурация не работает в основном потому, что UserDiscriminator принимает значения по классам вместо имен пользовательских типов.

Есть ли какая-либо конфигурация, которая помогает или у кого-нибудь есть идеи, как мне этого добиться?

1 ответ

Решение

Не использовать PuGXMultiUserBundle для ваших нужд это не имеет смысла.

Просто используйте FOSUserBundle и создайте дополнительные маршруты для ваших шаблонов регистрации / входа в систему и установите их все в соответствующем FOSUser-Controller-Action.

Таким образом, все формы регистра для действия FOS register-и все формы входа для действия fos-register (вы можете посмотреть, какие действия FOS использует для входа / регистрации в файлах FOS-маршрутизации)

Другие вопросы по тегам