예제 #1
0
파일: User.php 프로젝트: frenchfrogs/acl
 /**
  * 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);
 }
예제 #2
0
 /**
  * @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);
 }