Exemplo n.º 1
0
 protected function buildIdentity($userID)
 {
     $userData = $this->usersModel->get($userID);
     if (!$userData) {
         throw new \Nette\Security\AuthenticationException('Neexistují odpovídající data o uživateli.', self::FAILURE);
     }
     unset($userData->id);
     $membershipData = $this->membershipModel->query("SELECT `group`.* FROM membership JOIN `group` ON `group`.id = membership.group_id WHERE membership.user_id = " . $userID)->fetchAll();
     $roles = array();
     foreach ($membershipData as $record) {
         $roles[] = $record->role_name;
     }
     return new \Nette\Security\Identity($userID, $roles, $userData);
 }
Exemplo n.º 2
0
 protected function buildIdentity($userID)
 {
     $userData = $this->usersModel->get($userID);
     if (!$userData) {
         throw new \Nette\Security\AuthenticationException('Neexistují odpovídající data o uživateli.', self::FAILURE);
     }
     unset($userData->id);
     $membershipData = $this->membershipModel->query("SELECT `group`.* FROM membership JOIN `group` ON `group`.id = membership.group_id WHERE membership.user_id = " . $userID)->fetchAll();
     $roles = array();
     foreach ($membershipData as $record) {
         $roles[] = $record->role_name;
     }
     $settings = $this->usersModel->query("SELECT * FROM `user_setting` WHERE user_id = {$userID}")->fetch();
     if (!$settings) {
         $this->usersModel->query("INSERT INTO `user_setting` (`user_id`) VALUES ({$userID})");
         $settings = $this->usersModel->query("SELECT * FROM `user_setting` WHERE user_id = {$userID}")->fetch();
     }
     $settings = $settings->toArray();
     unset($settings["user_id"]);
     $userData["settings"] = $settings;
     return new \Nette\Security\Identity($userID, $roles, $userData);
 }
Exemplo n.º 3
0
 public function actionId($id)
 {
     $record = $this->model->get($id);
     if ($record) {
         if ($record->status == 0 && ($this->user->isInRole("administrator") || $this->user->id == $record->created_by)) {
             $this->template->editable = true;
         } else {
             $this->template->editable = false;
         }
         $this->template->work = $record;
         $this->template->statuses = $this->statuses;
         $this->template->maker = $this->userModel->get($record->created_by);
     } else {
         $this->flashMessage("Takové zadání práce neexistuje.", "danger");
         $this->redirect("default");
     }
 }
Exemplo n.º 4
0
 public function passwordFormSucceeded($form, $values)
 {
     $id = $this->user->id;
     unset($values->id);
     $data = $this->model->get($id);
     if ($data) {
         if ($data->email) {
             try {
                 $this->localUserModel->add($id, $values->password);
                 $this->flashMessage("Heslo bylo nastaveno.", "success");
                 $this->redirect("default");
             } catch (Exception $e) {
                 $this->flashMessage("Nastavení hesla se nepodařilo.", "danger");
             }
         } else {
             $this->flashMessage("Nemáte nastavenou emailovou adresu. Není ji tak možné ho použít jako přihlašovací jméno.", "danger");
         }
     } else {
         $this->flashMessage("Takový účet neexistuje.", "warning");
     }
     $this->redirect("default");
 }
Exemplo n.º 5
0
 public function addMembershipFormSucceeded($form, $values)
 {
     $data = $this->model->get($values->id);
     if ($data && $this->user->isInRole("administrator")) {
         try {
             $this->membershipModel->in($values->id, $values->selection);
         } catch (Exception $e) {
             $this->flashMessage("Přidání do skupiny se nepodařilo.", "danger");
         }
     } else {
         $this->flashMessage("Nemáte oprávnění tímto způsobem přidávat někoho do skupiny.", "danger");
     }
     if (!$this->isAjax()) {
         $this->redirect('this');
     } else {
         $this->template->membership = $this->membershipModel->userIsMember($values->id);
         $this->invalidateControl('membershipList');
         $this->invalidateControl('flashMessages');
         $form["selection"]->setItems($this->membershipModel->userIsNotMemberOfGroupsAsArray($values->id));
         $form["selection"]->setValue(null);
         $this->invalidateControl('addMembershipForm');
     }
 }