Как распределить пользователей по группам при регистрации в октябре? - PullRequest
0 голосов
/ 20 апреля 2019

В моем проекте уже настроены две группы: «продавец-счет» и «покупатель-счет» в моем плагине пользователя.Я немного покопался и обнаружил, что для добавления пользователей в уже настроенные группы при регистрации мне нужно создать простой плагин, который расширяет пользовательскую модель в ее методе загрузки, а затем прослушивать событие rainlab.user.activate и просто добавлять нового активированного пользователя.в группу, которую я хочу.Ниже показано, как мой код выглядит в моем новом плагине.

use Rainlab\User\Models\User as UserModel

    public function boot()
{
    // extend user model with addUserGroup method
    UserModel::extend(function($model) {
        $model->addDynamicMethod('addUserGroup', function($group) use ($model) {
            if ($group instanceof Collection) {
                return $model->groups()->saveMany($group);
            }

            if (is_string($group)) {
                $group = UserGroup::whereCode($group)->first();

                return $model->groups()->save($group);
            }

            if ($group instanceof UserGroup) {
                return $model->groups()->save($group);
            }
        });
    });

    // assign desired group to newly activated user
    Event::listen('rainlab.user.activate', function($user) {
        $user->addUserGroup(UserGroup::whereCode('seller-account')->first());
    });

     Event::listen('rainlab.user.activate', function($user) {
        $user->addUserGroup(UserGroup::whereCode('buyer-account')->first());
    });
}

У меня есть две регистрационные формы для обеих групп, одна из которых имеет дополнительное поле.Как мне указать в этих формах, чтобы она знала группу для отправки своего контента?Или есть другой способ сделать это?

...