public function actionOrder()
 {
     if (Yii::$app->session->get('ids')) {
         $model = new OrderForm();
         if ($model->load(Yii::$app->request->post()) && $model->validate()) {
             $order = new Orders();
             $order->delivery = $model->delivery;
             $ids = Yii::$app->session->get('ids');
             $id_count = Yii::$app->session->get('id_count');
             $s = "";
             for ($i = 0; $i < count($ids); $i++) {
                 $s .= "({$ids[$i]} [{$id_count[$i]}]), ";
             }
             $order->product_ids = $s;
             $order->price = Yii::$app->session->get('price');
             $order->email = Html::encode($model->email);
             $order->adress = Html::encode($model->adress);
             $order->notice = Html::encode($model->notice);
             $order->name = Html::encode($model->name);
             $order->phone = Html::encode($model->phone);
             $order->date_order = date("Y-m-d H:i:s");
             Yii::$app->mailer->compose()->setFrom('*****@*****.**')->setTo($model->email)->setSubject('Заказ товаров на mobzp.ua')->setTextBody('<article id="articles">
                             	<h2>Вы успешно заказали наушники</h2>
                             	<p>С вами свяжется наш оператор в течении полу часа и уточнит данные для отправки или место передачи товара.</p>
                             	<p>После отправки по новой почте, вам придет смс, что товар отправлен и вы сможете его получить в вашем отделении через несколько дней.</p>
                             	<p>Спасибо, что воспользовались услугами нашего магазина! Мы всегда рады положительным отзывам на страничке товара.</p>
                             </article>')->send();
             $order->save();
             return $this->render('ordersuccess');
         }
         return $this->render('order', ['model' => $model]);
     } else {
         return $this->redirect(Yii::$app->request->referrer);
     }
 }
Beispiel #2
0
 public function run()
 {
     $this->view->registerJs('
     $("#order-form-form").submit(function(){
          var $form = $(this);
          $.ajax({
                url: "/site/order",
                type: "POST",
                data: $form.serialize(),
                success: function(data){
                    if(data=="success"){
                         $(".form-control").removeClass("has-error");
                         alert("Ваш заказ отправлен. Наш менеджер свяжется с Вами в ближайшее время");
                    }else{
                         $.each(data, function(index,item){
                             $("#"+index).addClass("has-error");
                         });
                    }
                }
          });
          return false;
     });
     ');
     $model = new Form();
     if ($model->load(Yii::$app->request->post())) {
         $model->validate();
     }
     return $this->render('order-form', ['model' => $model]);
 }
 public function actionOrder()
 {
     $model = new OrderForm();
     if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
         $result = ActiveForm::validate($model);
         Yii::$app->response->format = Response::FORMAT_JSON;
         if (!empty($result)) {
             return $result;
         }
         if ($model->load(Yii::$app->request->post()) && $model->validate()) {
             if ($model->sendEmail(Setting::get('admin_email'))) {
                 return 'success';
             } else {
                 return 'error';
             }
         }
     }
 }
Beispiel #4
0
 public function actionIndex($id)
 {
     assert($id > 0);
     $product = Products::findOne($id);
     assert(isset($product));
     $model = new OrderForm();
     if (Yii::$app->request->isPost) {
         //POST
         $model->load(Yii::$app->request->post());
         if ($model->validate()) {
             //TODO: store order in DB
             $order = new Order();
             //etc.............
             return $this->render('success');
         } else {
             $errors = $model->errors;
         }
     } else {
         //GET
     }
     $model->Product = $product;
     return $this->render('index', ['model' => $model]);
 }
Beispiel #5
0
 public function actionOrder($id)
 {
     $model = new OrderForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         $order = $model->add($id);
         if (!$order) {
             Yii::$app->session->setFlash('error', 'Ошибка при валидации');
             Yii::error('Ошибка при валидации');
             return $this->goHome();
         }
         return $this->goHome();
     }
     return $this->render('order', ['model' => $model]);
 }