Beispiel #1
0
 function UserFormSubmitted(Form $form)
 {
     $data = $form->getValues();
     // vezmeme data z formuláře
     $action = $form['action']->getValue();
     if ($action == 0) {
         //vkládáme nového uživatele
         try {
             //jestliže neexistuje uživatel s požadovaným uživatelským jménem
             if (!UsersModel::getUserByUserName($data['userName'])) {
                 UsersModel::createUser($data);
                 dibi::query('COMMIT');
                 $this->flashMessage("Uživatel byl úspěšně vytvořen.");
                 $redirect = true;
             } else {
                 $this->flashMessage("Uživatel se zadaným uživatelským jménem již existuje. Vyberte prosím jiné uživatelské jméno.");
                 $redirect = false;
             }
         } catch (Exception $e) {
             dibi::query('ROLLBACK');
             Debug::processException($e);
             $this->flashMessage(ERROR_MESSAGE . " Error description: " . $e->getMessage(), 'error');
         }
         if ($redirect) {
             $this->redirect('User:default');
         }
     } elseif ($action == 1) {
         //editujeme uživatele
         try {
             UsersModel::editUser($data);
             $this->flashMessage("Užovatel byl úspěšně aktualizován.");
             dibi::query('COMMIT');
         } catch (Exception $e) {
             dibi::query('ROLLBACK');
             Debug::processException($e);
             $this->flashMessage(ERROR_MESSAGE . " Error description: " . $e->getMessage(), 'error');
         }
         if ($this->user->isInRole('Administrator')) {
             $this->redirect('User:default');
         } else {
             $this->redirect('User:default');
         }
     } elseif ($action == 2) {
         //měníme pouze heslo
         try {
             UsersModel::editPassword($data);
             $this->flashMessage("Heslo bylo úspěšně změněno.");
             dibi::query('COMMIT');
         } catch (Exception $e) {
             dibi::query('ROLLBACK');
             Debug::processException($e);
             $this->flashMessage(ERROR_MESSAGE . " Error description: " . $e->getMessage(), 'error');
         }
         if ($this->user->isInRole('Administrator')) {
             $this->redirect('User:default');
         } else {
             $this->redirect('Default:');
         }
     }
 }