public function run() { $person = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand()); $person->setStudioId(IsSetStudioSpecification::EMPTY_STUDIO_ID); $this->getPersonCommandBus()->handle(new UpdatePersonCommand($person)); \Yii::$app->response->redirect(URL::toRoute('/cabinet/' . $person->user()->slug())); }
public function run() { /** * @var Person $person */ $person = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand()); if (IsSetStudioSpecification::withoutStudio($person)) { \Yii::$app->response->redirect(URL::toRoute('/cabinet/' . $person->user()->slug())); \Yii::$app->end(); } $studioForm = new StudioForm(); if ($studioForm->load(\Yii::$app->request->post()) && $studioForm->validate()) { $transaction = \Yii::$app->getDb()->beginTransaction(); try { /** * @var Studio $studio */ $studio = $this->getStudioCommandBus()->handle(new CreateStudioCommand($studioForm->name, $studioForm->phone, $studioForm->address)); $person->setStudioId($studio->id()); $this->getPersonCommandBus()->handle(new UpdatePersonCommand($person)); $transaction->commit(); \Yii::$app->response->redirect(URL::toRoute('/cabinet')); } catch (Exception $e) { $studioForm->addError('name', $e->getMessage()); } $transaction->rollBack(); } return $this->controller->render('studio', ['studioForm' => $studioForm]); }
public function run($slug) { /** * @var Person $person */ $person = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand()); $studio = StudioRepository::getByPerson($person); $personBySlug = PersonRepository::getBySlug($slug); $isOwner = $person->equalsTo($personBySlug); return $this->controller->render($personBySlug->user()->type()->prefix() . '/index', ['controller' => $this->controller, 'person' => $personBySlug, 'studio' => $studio, 'isOwner' => $isOwner]); }
public function run() { /** * @var Person $person */ $person = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand()); $serviceList = CommandBusList::getServiceCommanBus()->handle(new GetServicesByUserTypeCommand($person->user()->type())); $isSaved = $this->saveIfIsRequest($person); $personServiceList = $this->prepareSeviceList($person, $serviceList); $hoursArray = $this->prepareDropDownBox(); return $this->controller->renderPartial((new UserType(UserType::USER_PHOTOGRAPGER))->prefix() . '/_services', ['serviceList' => $serviceList, 'personServiceList' => $personServiceList, 'hoursArray' => $hoursArray, 'isSaved' => $isSaved]); }
public function run($slug) { /** * @var Person $bride * @var Wedding $wedding */ $personBySlug = PersonRepository::getBySlug($slug); $bride = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand()); $wedding = WeddingRepository::getByBride($personBySlug); $groom = PersonRepository::getById($wedding->groomId()); $isOwner = $bride->equalsTo($personBySlug); return $this->controller->render($bride->user()->type()->prefix() . '/index', ['bride' => $personBySlug, 'wedding' => $wedding, 'groom' => $groom, 'isOwner' => $isOwner]); }
/** * @param $slug * * @return array * @throws NotFoundHttpException */ private function getPersonAndSlug($slug) { if (!$slug) { /** * @var Person $person */ $person = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand()); $slug = $person->user()->slug(); return array($person, $slug); } else { $person = PersonRepository::getBySlug($slug); if (!$person) { throw new NotFoundHttpException('Пользователь не найден'); } return array($person, $slug); } }
public function run() { /** * @var Person $person */ $person = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand()); /** * @var Person $person */ $model = new PersonForm(); $model->setAttributes($person->asArray()); if ($model->load(\Yii::$app->request->post()) && $model->validate()) { CommandBusList::getPersonCommanBus()->handle(new UpdatePersonRawCommand($person, $model->firstName, $model->lastName, $model->mobPhone, $model->phone, $model->dateBirth, $model->email, $model->address, $model->about)); \Yii::$app->response->redirect(URL::to($person->user()->slug())); \Yii::$app->end(); } return $this->controller->render('edit', ['model' => $model]); }