Example #1
0
 public function boot()
 {
     User::extend(function ($model) {
         $model->belongsToMany['groups'] = ['ShahiemSeymor\\Roles\\Models\\UserGroup', 'table' => 'shahiemseymor_assigned_roles', 'foreignKey' => 'role_id'];
         $model->belongsToMany['permissions'] = ['ShahiemSeymor\\Roles\\Models\\UserGroup', 'table' => 'shahiemseymor_assigned_roles', 'foreignKey' => 'role_id'];
     });
     $userGroup = new UserGroup();
     $userGroup->newUserAddToDefaultGroup();
     Event::listen('backend.menu.extendItems', function ($manager) {
         $manager->addSideMenuItems('RainLab.User', 'user', ['roles' => ['label' => 'Roles', 'icon' => 'icon-users', 'code' => 'roles', 'owner' => 'RainLab.User', 'url' => Backend::url('shahiemseymor/roles/groups')], 'perms' => ['label' => 'Permissions', 'icon' => 'icon-key', 'code' => 'perms', 'owner' => 'RainLab.User', 'url' => Backend::url('shahiemseymor/roles/permissions')]]);
     });
     Event::listen('backend.form.extendFields', function ($widget) {
         if (!$widget->getController() instanceof \RainLab\User\Controllers\Users) {
             return;
         }
         if (!$widget->model instanceof \RainLab\User\Models\User) {
             return;
         }
         $widget->addFields(['groups' => ['label' => 'Roles', 'tab' => 'Groups', 'type' => 'relation']], 'primary');
     });
 }