/** * 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); }
/** * @param $id * @throws \Exception */ public function postParameter($id) { \ruler()->check($this->permission, ['id' => 'exists:user,user_id'], ['id' => $uuid = f($id, 'uuid')]); // Recuperation du model $user = \FrenchFrogs\Models\Business\User::get($uuid); $form = \form()->enableRemote(); $form->setLegend('Paramètres : ' . $user->getModel()->name); $form->addContent('??', 'Nothing here!'); //@todo Make your form!!!!! // $form->addSubmit('Enregistrer'); // enregistrement if (\request()->has('Enregistrer')) { $form->valid(\request()->all()); if ($form->isValid()) { $data = $form->getFilteredAliasValues(); try { $user->setParameters($data); \js()->success()->closeRemoteModal()->reloadDataTable(); } catch (\Exception $e) { \js()->error($e->getMessage()); } } } else { $form->populate($user->getParameters()); } return response()->modal($form); }