Ejemplo n.º 1
0
 /**
  * CReation d'un utilisatreur depuis les valeur de base
  *
  * @param $email
  * @param $password
  * @param $name
  * @param null $interface
  * @return $this
  * @throws \Exception
  */
 public static function init($email, $password, $interface, $name, $is_admin = false)
 {
     // recuperation de la classe de model principale
     $class = static::$modelClass;
     // on valide que l'utilisateur n'existe pas déjà
     $user = $class::firstOrNew(['email' => $email, 'user_interface_id' => $interface]);
     // si l'utilisateur existe déjà on coupe le script
     if ($user->exists) {
         throw new \Exception('L\'utilisateur "' . $email . '"" pour l\'interface "' . $interface . '"" existe déjà');
     }
     // création de l'utilisateur
     $user->password = bcrypt($password);
     $user->name = $name;
     $user->save();
     // si admin on donne accès a tout
     if ($is_admin) {
         $permission = Db\User\Permission::where('user_interface_id', $interface)->pluck('user_permission_id');
         User::get($user->getKey())->setPermissions($permission->toArray());
     }
     return static::get($user->user_id);
 }