public function boot() { UserGroup::extend(function ($model) { $model->belongsToMany['passage_keys'] = ['KurtJensen\\Passage\\Models\\Key', 'table' => 'kurtjensen_passage_groups_keys', 'key' => 'user_group_id', 'otherKey' => 'key_id']; }); Event::listen('backend.menu.extendItems', function ($manager) { $manager->addSideMenuItems('RainLab.User', 'user', ['u_groups' => ['label' => 'rainlab.user::lang.groups.all_groups', 'icon' => 'icon-group', 'code' => 'u_groups', 'owner' => 'RainLab.User', 'url' => Backend::url('rainlab/user/usergroups')], 'passage_keys' => ['label' => 'kurtjensen.passage::lang.plugin.backend_menu', 'icon' => 'icon-key', 'code' => 'passage', 'owner' => 'RainLab.User', 'permissions' => ['kurtjensen.passage.*'], 'url' => Backend::url('kurtjensen/passage/keys')]]); }); Event::listen('backend.form.extendFields', function ($widget) { if (!$widget->getController() instanceof \RainLab\User\Controllers\UserGroups) { return; } if (!$widget->model instanceof \RainLab\User\Models\UserGroup) { return; } //die(BackendAuth::getUser()->first_name); if (!BackendAuth::getUser()->hasAccess('kurtjensen.passage.usergroups')) { return; } $widget->addFields(['passage_keys' => ['tab' => 'kurtjensen.passage::lang.plugin.field_tab', 'label' => 'kurtjensen.passage::lang.plugin.field_label', 'commentAbove' => 'kurtjensen.passage::lang.plugin.field_commentAbove', 'span' => 'left', 'type' => 'relation', 'emptyOption' => 'kurtjensen.passage::lang.plugin.field_emptyOption']], 'primary'); }); }
public function run() { UserGroup::create(['name' => 'Sample group', 'code' => 'sample', 'description' => 'Sample group for website users.']); }
/** * Manually convert a guest user to a registered one */ public function preview_onConvertGuest($recordId) { $model = $this->formFindModelObject($recordId); // Convert user and send notification $model->convertToRegistered(post('send_registration_notification', false)); // Remove user from guest group if ($group = UserGroup::getGuestGroup()) { $model->groups()->remove($group); } // Add user to new group if (($groupId = post('new_group')) && ($group = UserGroup::find($groupId))) { $model->groups()->add($group); } Flash::success(Lang::get('rainlab.user::lang.users.convert_guest_success')); if ($redirect = $this->makeRedirect('update-close', $model)) { return $redirect; } }
/** * Converts a guest user to a registered user. * * @param Models\User $user * @param array $credentials * @param bool $activate * @return Models\User */ public function convertGuestToUser($user, $credentials, $activate = false) { $user->fill($credentials); $user->convertToRegistered(false); // Remove user from guest group if ($group = UserGroupModel::getGuestGroup()) { $user->groups()->remove($group); } if ($activate) { $user->attemptActivation($user->getActivationCode()); } // Prevents revalidation of the password field // on subsequent saves to this model object $user->password = null; return $this->user = $user; }
public function run() { UserGroup::create(['name' => 'Guest', 'code' => 'guest', 'description' => 'Default group for guest users.']); UserGroup::create(['name' => 'Registered', 'code' => 'registered', 'description' => 'Default group for registered users.']); }
public function onConvertFromRoles() { $manager = PluginManager::instance(); if ($manager->exists('shahiemseymor.roles')) { $roles = DB::table('shahiemseymor_roles')->get(); foreach ($roles as $role) { $newRows[] = ['id' => $role->id, 'name' => $role->name, 'code' => str_replace(' ', '_', strtolower($role->name)), 'description' => $role->name]; } \RainLab\User\Models\UserGroup::insert($newRows); } }