/** * @param int $userId */ public function actionEdit($userId) { //neni-li admin, nemuze editovat ostatni if ($this->user->id != $userId && !$this->user->isInRole('admin')) { $this->flashMessage($this->translator->translate('system.requestNA'), self::MESSAGE_DANGER); $this->redirect('default'); } $this->myUser = $this->userRepository->getUserById($userId); if (!$this->myUser) { $this->flashMessage($this->translator->translate('system.invalidId'), self::MESSAGE_DANGER); $this->redirect('default'); } $this->template->title = $this->translator->translate('system.userProfile'); }
/** * @param Nette\Utils\ArrayHash $values Hodnoty z formulare * @return boolean Editace uzivatele provedena uspesne? */ protected function editUser($values) { $result = TRUE; $userValues = $values->user; $personValues = $values->person; try { /** @var User $editUser */ $editUser = $this->repository->getUserById($values->id); if (!$editUser) { return FALSE; } // nastaveni atributu $editUser->setLogin($userValues->login); $editUser->setRole($userValues->role); if (!empty($userValues->password)) { $editUser->setPassword($userValues->password); } // osoba if ($editUser->person !== NULL) { $person = $editUser->person; $person->name = $personValues->name; $person->surname = $personValues->surname; } else { $person = new \App\Model\Entities\Person($personValues->name, $personValues->surname); $editUser->setPerson($person); } if ($personValues->avatar->isImage()) { $this->imageStorage->setPersonAvatar($person, $personValues->avatar->toImage()); } // ulozeni zmeny $this->em->flush(); } catch (\Exception $e) { \Tracy\Debugger::log($e, \Tracy\Debugger::INFO); $result = FALSE; } return $result; }