Symfony2 несколько ролей для структуры рынка (FOSUser / PUGXMultiUser)

Я работаю над приложением на торговой площадке с Symfony2.
У меня есть две роли пользователя: buyer а также seller,

Роль по умолчанию — это buyer поскольку все зарегистрированные пользователи смогут использовать торговую площадку в качестве покупателя.
Я сейчас пользуюсь FOSUserBundle для управления пользователями, но я недавно застрял, когда я хотел реализовать seller часть приложения.

Мне нужно иметь три службы «регистрации», либо:

  • Пользователь решает зарегистрироваться как buyerэто основная регистрационная форма, которую я создал с помощью FOSUserBundle
  • Пользователь решает зарегистрироваться как seller, тогда мне нужна другая форма регистрации с более обязательными полями, но в любом случае пользователь с ролью seller также будет иметь роль buyer которая является основной ролью для всех пользователей.
  • Пользователь в настоящее время зарегистрирован как buyer решает обновить свой аккаунт до seller один, будут запрошены только дополнительные поля

Поскольку каждый зарегистрированный пользователь имеет buyer Роль моих занятий:

class User extends BaseUser implements UserInterface, \Serializable // Buyer
{
// ...

/**
* @ORM\OneToOne(targetEntity="Seller",inversedBy="user")
* @ORR\JoinColumn(name="seller_id",referencedColumn="id")
**/
private $seller;
}

class Seller
{
// ...

}

Для того, чтобы иметь возможность обрабатывать несколько регистрационных форм, я недавно попытался использовать PUGXMultiUserBundle, но я не знаю, как заставить это работать с моим кодом.

Я использую отношение OneToOne, чтобы связать buyer а также seller но PUGXMultiUserBundle требует использования наследования с дискриминатором.
Это не проблема, я могу изменить свой код и уже пытался это сделать, но меня поразило то, что User класс должен быть абстрактным.

Из того, что я понял, мои занятия должны быть такими:

User extends BaseUser (abstract)
Buyer extends User
Seller extends User

Но у меня есть :

User extends BaseUser (semantically my Buyer class)
Seller extends User

Что я должен делать ? Как я могу реорганизовать свою иерархию классов? Является ли PUGXMultiUserBundle подходящим решением для того, что я хочу?

Спасибо

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]