/** * 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); }
/** * Remove a permission from the database * * @param $index */ static function removeDatabasePermission($index) { Db\User\Permission::find($index)->delete(); }