/** * Creates a user with Sentry by the supplied corp user object. * * @param User $user * * @return bool|User */ private function createUser(User $user) { if ($user->username && $user->email) { $first_name = ''; $last_name = ''; /* * An LDAP user may not have a name, so we'll explode it * by a comma to see if they have a fully separated name */ if ($user->name) { $name = explode(',', $user->name); if (array_key_exists(0, $name)) { $last_name = $name[0]; } if (array_key_exists(1, $name)) { $first_name = $name[1]; } } $data = ['email' => $user->email, 'password' => str_random(20), 'username' => $user->username, 'last_name' => $last_name, 'first_name' => $first_name]; $roles = []; if ($user->group) { $roles[] = $this->sentry->createOrUpdateRole($user->group); } if ($user->type) { $roles[] = $this->sentry->createOrUpdateRole($user->type); } $user = $this->sentry->createUser($data, $roles); return $user; } return false; }
/** * Performs the seeder actions. */ public function run() { $roles = $this->getSeedData(); foreach ($roles as $roleName => $permissions) { $this->sentry->createOrUpdateRole($roleName, $permissions); } }