public function actionSignup() { $model = new ProfileForm(); $model->setScenario('signup'); if ($model->load(Yii::$app->request->post())) { if ($user = $model->signup()) { if (Yii::$app->getUser()->login($user)) { return $this->goHome(); } } } return $this->render('signup', ['model' => $model]); }
public function actionProfile() { // Устанавливаем сценарий валидации $form = new ProfileForm(); $form->setScenario('profile'); // Загружаем в форму данные пользователя $User = Yii::$app->user->getIdentity(); $form->setUser($User); if ($form->load(Yii::$app->request->post()) && $form->validate()) { // Сохраняем пользователя с данными из формы if ($form->save($User)) { Yii::$app->session->setFlash('success', 'Данные успешно сохранены.'); } else { Yii::$app->session->setFlash('error', 'Произошла ошибка при сохранении данных пользователя.'); } return $this->refresh(); } $orders = Order::findAll(['user_id' => $User->id]); $template = Yii::$app->request->get('edit') ? 'profile_edit' : 'profile'; $form->birthday_date = date('d.m.Y', strtotime($form->birthday_date)); return $this->render($template, ['model' => $form, 'orders' => $orders]); }
/** * Страница продукта */ public function actionProductBuy($id) { $item = Product::find()->with('organization', 'type')->with('agreement')->where(['id' => $id])->asArray()->one(); $item['price_format'] = Product::priceFormat($item['price']); $item['price_discount_format'] = Product::priceFormat($item['price_discount']); if (!count($item['agreement'])) { $agreement = Agreement::find()->where(["default_flag" => 1])->asArray()->one(); $item['agreement'] = $agreement; } // Загружаем в форму данные пользователя $user = Yii::$app->user->getIdentity(); $model_signup = array(); $page = $user ? 'product_buy' : 'buy_forbidden'; if ($page == 'buy_forbidden') { $model_signup = new ProfileForm(); $model_signup->setScenario('signup'); if ($model_signup->load(Yii::$app->request->post())) { if ($user = $model_signup->signup()) { if (Yii::$app->getUser()->login($user)) { return $this->redirect(Yii::$app->request->referrer); //return $this->goHome(); } } } } else { if (Yii::$app->request->post() && $user) { // Устанавливаем сценарий валидации $form = new OrderForm(); if ($form->saveOrder($user, $item, Yii::$app->request->post())) { die('true'); } else { die('false'); } } } return $this->render($page, ['item' => $item, 'user' => $user, 'model_signup' => $model_signup]); }