예제 #1
0
 public function actionCartFormSubmit()
 {
     if (Yii::$app->request->isPost) {
         $model_form = new Order();
         $model_form->load(Yii::$app->request->post());
         $model_form->scenario = 'submit';
         $model_form->payment_type = Yii::$app->request->post('payment') ? Yii::$app->request->post('payment') : 0;
         //$model_form->validate();
         //vd( $model_form->getErrors());
         $model_form->status = 1;
     }
     if ($model_form->load(Yii::$app->request->post()) && $model_form->validate()) {
         $model_form->save();
         Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
         Yii::$app->session->setFlash('success', 'Благодарим за покупку');
         //Todo сохранить заказы !!!
         $iP = Yii::$app->session->id;
         $model = Cart::getAllByIp($iP);
         if ($model) {
             //vd($model_form->created_at);
             $listItemsInOrder = OrderItems::Add($model, $model_form->id, $model_form->created_at);
             //vd($listItemsInOrder);
         }
         //Todo отправка email !!!
         // Todo отправка ел почты
         //$model_Email = Email::find()->where(['id' => 1])->one();
         // $currEmail = $model_Email->email;
         //vd($model->email);
         Yii::$app->mailer->compose(['html' => '@common/mail/order'], ['order_id' => $model_form->id, 'listItemsInOrder' => $listItemsInOrder])->setFrom('*****@*****.**')->setTo('*****@*****.**')->setSubject('нОвый заказ')->send();
         //Todo Очистить корзину
         Cart::DeleteAllByIp($iP);
         $this->redirect('/site/index');
     } else {
         // либо страница отображается первый раз, либо есть ошибка в данных
         $data = $this->getCommonDate();
         $model_form = new Order();
         $iP = Yii::$app->session->id;
         $model = Cart::getAllByIp($iP);
     }
     return $this->render('cart', ['data' => $data, 'model' => $model, 'model_form' => $model_form]);
 }