Commit 8df8067a31e97d00c32814356b168ec0d1df9d21

Authored by Administrator
1 parent a8fc4348

basket

backend/assets/AppAsset.php
... ... @@ -22,6 +22,7 @@ class AppAsset extends AssetBundle
22 22 ];
23 23 public $js = [
24 24 'js/fieldWidget.js',
  25 + 'js/site.js',
25 26 ];
26 27 public $depends = [
27 28 'yii\web\YiiAsset',
... ...
backend/controllers/OrdersController.php 100755 → 100644
1   -<?php
2   -
3   -namespace backend\controllers;
4   -
5   -use Yii;
6   -use common\models\Orders;
7   -use common\models\OrdersSearch;
8   -use yii\web\Controller;
9   -use yii\web\NotFoundHttpException;
10   -use yii\filters\VerbFilter;
11   -use yii\filters\AccessControl;
12   -/**
13   - * OrdersController implements the CRUD actions for Orders model.
14   - */
15   -class OrdersController extends Controller
16   -{
17   - /**
18   - * @inheritdoc
19   - */
20   - public function behaviors()
21   - {
22   - return [
23   - 'access' => [
24   - 'class' => AccessControl::className(),
25   - 'rules' => [
26   - [
27   - 'actions' => ['login', 'error','update','delete','create','view'],
28   - 'allow' => true,
29   - ],
30   - [
31   - 'actions' => ['logout', 'index'],
32   - 'allow' => true,
33   - 'roles' => ['@'],
34   - ],
35   - ],
36   - ],
37   - 'verbs' => [
38   - 'class' => VerbFilter::className(),
39   - 'actions' => [
40   - 'logout' => ['post'],
41   - ],
42   - ],
43   - ];
44   - }
45   - /**
46   - * Lists all Orders models.
47   - * @return mixed
48   - */
49   - public function actionIndex()
50   - {
51   - $searchModel = new OrdersSearch();
52   - $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
53   -
54   - return $this->render('index', [
55   - 'searchModel' => $searchModel,
56   - 'dataProvider' => $dataProvider,
57   - ]);
58   - }
59   -
60   - /**
61   - * Displays a single Orders model.
62   - * @param integer $id
63   - * @return mixed
64   - */
65   - public function actionView($id)
66   - {
67   - return $this->render('view', [
68   - 'model' => $this->findModel($id),
69   - ]);
70   - }
71   -
72   - /**
73   - * Creates a new Orders model.
74   - * If creation is successful, the browser will be redirected to the 'view' page.
75   - * @return mixed
76   - */
77   - public function actionCreate()
78   - {
79   - $model = new Orders();
80   -
81   - if ($model->load(Yii::$app->request->post()) && $model->save()) {
82   - return $this->redirect(['view', 'id' => $model->order_id]);
83   - } else {
84   - return $this->render('create', [
85   - 'model' => $model,
86   - ]);
87   - }
88   - }
89   -
90   - /**
91   - * Updates an existing Orders model.
92   - * If update is successful, the browser will be redirected to the 'view' page.
93   - * @param integer $id
94   - * @return mixed
95   - */
96   - public function actionUpdate($id)
97   - {
98   - $model = $this->findModel($id);
99   -
100   - if ($model->load(Yii::$app->request->post()) && $model->save()) {
101   - return $this->redirect(['view', 'id' => $model->order_id]);
102   - } else {
103   - return $this->render('update', [
104   - 'model' => $model,
105   - ]);
106   - }
107   - }
108   -
109   - /**
110   - * Deletes an existing Orders model.
111   - * If deletion is successful, the browser will be redirected to the 'index' page.
112   - * @param integer $id
113   - * @return mixed
114   - */
115   - public function actionDelete($id)
116   - {
117   - $this->findModel($id)->delete();
118   -
119   - return $this->redirect(['index']);
120   - }
121   -
122   - /**
123   - * Finds the Orders model based on its primary key value.
124   - * If the model is not found, a 404 HTTP exception will be thrown.
125   - * @param integer $id
126   - * @return Orders the loaded model
127   - * @throws NotFoundHttpException if the model cannot be found
128   - */
129   - protected function findModel($id)
130   - {
131   - if (($model = Orders::findOne($id)) !== null) {
132   - return $model;
133   - } else {
134   - throw new NotFoundHttpException('The requested page does not exist.');
135   - }
136   - }
137   -}
  1 +<?php
  2 +
  3 +namespace backend\controllers;
  4 +
  5 +use Yii;
  6 +use yii\web\Controller;
  7 +use yii\filters\AccessControl;
  8 +use yii\filters\VerbFilter;
  9 +use yii\data\ActiveDataProvider;
  10 +use yii\web\HttpException;
  11 +use backend\models\Orders;
  12 +use backend\models\OrdersProducts;
  13 +use common\modules\product\models\ProductVariant;
  14 +
  15 +
  16 +
  17 +class OrdersController extends Controller
  18 +{
  19 +// public $layout = 'update';
  20 + /**
  21 + * @inheritdoc
  22 + */
  23 + public function behaviors()
  24 + {
  25 + return [
  26 + 'verbs' => [
  27 + 'class' => VerbFilter::className(),
  28 + 'actions' => [
  29 + 'delete' => ['POST'],
  30 + ],
  31 + ],
  32 + ];
  33 + }
  34 +
  35 + public function actionIndex()
  36 + {
  37 + $searchModel = new Orders;
  38 + $searchModel->load(Yii::$app->request->queryParams);
  39 + $query = Orders::find();
  40 + if(!empty($searchModel->labels))$query->andWhere(['label'=>$searchModel->labels]);
  41 + //if(!empty($searchModel->date_time))$query->andFilterWhere(['like', 'date_time', $searchModel->date_time]);
  42 + if(!empty($searchModel->username))$query->andFilterWhere(['like', 'username', $searchModel->username]);
  43 + if(!empty($searchModel->id))$query->andFilterWhere(['like', 'id', $searchModel->id]);
  44 + if(!empty($searchModel->phone))$query->andFilterWhere(['like', 'phone', $searchModel->phone]);
  45 + if(!empty($searchModel->name))$query->andFilterWhere(['like', 'name', $searchModel->name]);
  46 + if(!empty($searchModel->surname))$query->andFilterWhere(['like', 'surname', $searchModel->surname]);
  47 + if(!empty($searchModel->total))$query->andFilterWhere(['like', 'total', $searchModel->total]);
  48 + if(!empty($searchModel->reserve))$query->andFilterWhere(['like', 'reserve', $searchModel->reserve]);
  49 + if(!empty($searchModel->status))$query->andFilterWhere(['like', 'status', $searchModel->status]);
  50 +
  51 +// var_dump($searchModel->name);
  52 +// die;
  53 + $dataProvider = new ActiveDataProvider([
  54 + 'query' =>$query,
  55 + 'sort'=> ['defaultOrder' => ['id'=>SORT_DESC]],
  56 + 'pagination' => [
  57 + 'pageSize' => 20,
  58 + ],
  59 + ]);
  60 +
  61 + return $this->render('index', [
  62 + 'dataProvider'=>$dataProvider,
  63 + 'searchModel'=>$searchModel,
  64 + ]);
  65 + }
  66 +
  67 + public function actionShow($id)
  68 + {
  69 +
  70 + $model = $this->findModel((int)$id);
  71 + $dataProvider = new ActiveDataProvider([
  72 + 'query' => OrdersProducts::find()->where(['order_id'=>(int)$_GET['id']]),
  73 + 'pagination' => [
  74 + 'pageSize' => 20,
  75 + ],
  76 + ]);
  77 + if ($model->load(Yii::$app->request->post()) && $model->save()) {
  78 + return $this->redirect(['index']);
  79 + } else {
  80 + $model_orderproducts = new OrdersProducts;
  81 +
  82 +
  83 + return $this->renderPartial('show', [
  84 + 'model' => $model,
  85 + 'model_orderproducts'=>$model_orderproducts,
  86 + 'dataProvider' => $dataProvider,
  87 + ]);
  88 + }
  89 + }
  90 +
  91 + public function actionLabelupdate(){
  92 + $model = Orders::findOne($_POST['order_id']);
  93 + $model->label = $_POST['label_id'];
  94 + $model->save();
  95 + Yii::$app->and();
  96 + }
  97 +
  98 + public function actionPayupdate(){
  99 + $model = Orders::findOne($_POST['order_id']);
  100 + $model->pay = $_POST['pay_id'];
  101 + $model->save();
  102 + Yii::$app->and();
  103 + }
  104 +
  105 + public function actionDelete(){
  106 + $model = Orders::findOne($_GET['id']);
  107 + $model->delete();
  108 + return Yii::$app->response->redirect(['/admin/orders/index']);
  109 + }
  110 +
  111 +
  112 + public function actionAdd(){
  113 + $model = new OrdersProducts;
  114 + if ($model->load(Yii::$app->request->post())) {
  115 +
  116 + if(!$modelMod = ProductVariant::find()->with(['product'])->where(['sku'=>$model->sku])->one())
  117 + throw new HttpException(404, 'Данного артикля не существует!');
  118 + $model->product_name = $modelMod->product->name;
  119 + $model->name = $modelMod->name;
  120 + $model->sku = $modelMod->sku;
  121 + $model->price = $modelMod->price;
  122 + $model->sum_cost = $model->count*$modelMod->price;
  123 + $model->mod_id = $modelMod->id;
  124 + $model->save();
  125 + //return Yii::$app->response->redirect(['/admin/orders/show','id'=>$_GET['order_id']]);
  126 + }
  127 +
  128 + //return $this->render('add',['model'=>$model]);
  129 + }
  130 +
  131 + public function actionDelete_product(){
  132 + $model = OrdersProducts::findOne($_GET['id']);
  133 + $model->delete();
  134 + return Yii::$app->response->redirect(['/admin/orders/show','id'=>$_GET['order_id']]);
  135 + }
  136 +
  137 + protected function findModel($id)
  138 + {
  139 + if (($model = Orders::findOne($id)) !== null) {
  140 + return $model;
  141 + } else {
  142 + throw new NotFoundHttpException('The requested page does not exist.');
  143 + }
  144 + }
  145 +}
... ...
backend/models/Label.php 0 → 100644
  1 +<?php
  2 +
  3 +namespace backend\models;
  4 +use Yii;
  5 +
  6 +
  7 +class Label extends \yii\db\ActiveRecord
  8 +{
  9 +
  10 + public static function tableName()
  11 + {
  12 + return 'orders_label';
  13 + }
  14 +
  15 +
  16 + public function getNl(){
  17 + return $this->name;
  18 + }
  19 +
  20 +
  21 +
  22 +
  23 +
  24 +
  25 +}
... ...
backend/models/Orders.php 0 → 100644
  1 +<?php
  2 +
  3 +namespace backend\models;
  4 +use common\models\Customer;
  5 +use Yii;
  6 +
  7 +class Orders extends \yii\db\ActiveRecord
  8 +{
  9 + public $labels;
  10 + public static function tableName()
  11 + {
  12 + return 'orders';
  13 + }
  14 +
  15 + public function rules()
  16 + {
  17 + return [
  18 + [['name'], 'required'],
  19 + [['user_id','adress','body','total','status','email','patronymic','surname',
  20 + 'comment','labels','pay','date_dedline','phone','phone2','numbercard','delivery',
  21 + 'declaration','stock','consignment','payment', 'insurance',
  22 + 'amount_imposed','shipping_by','city','date_time', 'id' ], 'safe'],
  23 + //[['image'], 'file', 'extensions'=>'jpg, gif, png', 'skipOnEmpty'=>true],
  24 + ];
  25 + }
  26 +
  27 + public function attributeLabels()
  28 + {
  29 + return [
  30 + 'id'=>'№ заказа',
  31 + 'name'=>'Имя',
  32 + 'phone'=>'Телефон',
  33 + 'phone2'=>'Телефон 2',
  34 + 'adress'=>'Адрес',
  35 + 'body'=>'Сообщение',
  36 + 'reserve'=>'Резерв',
  37 + 'status'=>'Статус',
  38 + 'email'=>'E-mail',
  39 + 'patronymic'=>'Очество',
  40 + 'surname'=>'Фамилия',
  41 + 'total'=>'Сумма',
  42 + 'labels'=>'Метки',
  43 + 'label'=>'Метка',
  44 + 'comment'=>'Комментарий менеджера',
  45 + 'date_dedline'=>'Дедлайн',
  46 + 'numbercard'=>'№ карточки',
  47 + 'delivery'=>'Доставка',
  48 + 'declaration'=>'Декларация №',
  49 + 'stock'=>'№ склада',
  50 + 'consignment'=>'№ накладной',
  51 + 'payment'=>'Способ оплаты',
  52 + 'insurance'=>'Страховка',
  53 + 'amount_imposed'=>'Сумма наложенного',
  54 + 'shipping_by'=>'Отправка за счет',
  55 + 'city'=>'Город'
  56 + ];
  57 + }
  58 +
  59 + public function beforeSave($insert) {
  60 + return parent::beforeSave($insert);
  61 + }
  62 +
  63 + public function beforeDelete() {
  64 + return parent::beforeDelete();
  65 + }
  66 +
  67 + public function getUser()
  68 + {
  69 + return $this->hasOne(Customer::className(), ['id' => 'user_id']);
  70 + }
  71 +
  72 +
  73 +
  74 +}
0 75 \ No newline at end of file
... ...
backend/models/OrdersProducts.php 0 → 100644
  1 +<?php
  2 +
  3 +namespace backend\models;
  4 +use common\modules\product\models\ProductVariant;
  5 +use Yii;
  6 +
  7 +class OrdersProducts extends \yii\db\ActiveRecord
  8 +{
  9 +
  10 + public static function tableName()
  11 + {
  12 + return 'orders_products';
  13 + }
  14 +
  15 + public function rules()
  16 + {
  17 + return [
  18 + [['sku','count','order_id'], 'required'],
  19 + ];
  20 + }
  21 +
  22 + public function attributeLabels()
  23 + {
  24 + return [
  25 + 'product_name'=>'Продукт',
  26 + 'name'=>'Вид',
  27 + 'art'=>'Артикул',
  28 + 'cost'=>'Цена за один',
  29 + 'count'=>'Кол.',
  30 + 'sum_cost'=>'Сумма',
  31 + ];
  32 + }
  33 +
  34 + public function getMod()
  35 + {
  36 + return $this->hasOne(ProductVariant::className(), ['product_variant_id' => 'mod_id']);
  37 + }
  38 +}
0 39 \ No newline at end of file
... ...
backend/views/orders/_form.php deleted
1   -<?php
2   -
3   -use common\models\OrderItems;
4   -use yii\helpers\Html;
5   -use yii\widgets\ActiveForm;
6   -use kartik\date\DatePicker;
7   -use unclead\widgets\MultipleInput;
8   -use unclead\widgets\MultipleInputColumn;
9   -/* @var $this yii\web\View */
10   -/* @var $model common\models\Orders */
11   -/* @var $form yii\widgets\ActiveForm */
12   -?>
13   -
14   -<div class="orders-form">
15   -
16   - <?php $form = ActiveForm::begin(); ?>
17   -
18   - <?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>
19   -
20   - <?= $form->field($model, 'email')->textInput(['maxlength' => true]) ?>
21   -
22   - <?= $form->field($model, 'phone')->textInput(['maxlength' => true]) ?>
23   -
24   - <?php
25   -
26   -
27   - echo $form->field($model, 'delivery', [
28   - ])->radioList([
29   - '1' => 'Курьерска доставка по Киеву и области',
30   - '2' => 'В любой регион Украины',
31   - '3' => 'Самовывоз (бесплатно)',
32   - ], [
33   - 'item' => function($index, $label, $name, $checked, $value) {
34   -
35   - $return = '<div><label class="modal-radio">';
36   - $return .= Html::radio($name, $checked, ['value' => $value]);
37   - $return .= '<i></i>';
38   - $return .= '<span>' . ucwords($label) . '</span>';
39   - $return .= '</label></div>';
40   -
41   - return $return;
42   - },
43   - ]);
44   -
45   -
46   - ?>
47   -
48   - <?php
49   -
50   -
51   - echo $form->field($model, 'payment', [
52   - ])->radioList([
53   - '1' => 'Оплата наличными',
54   - '2' => 'Оплата по безналичному расчету. Код ЕГРПОУ',
55   - '3' => 'Приват 24',
56   - '4' => 'Согласовать с менеджером',
57   - ], [
58   - 'item' => function ($index, $label, $name, $checked, $value) use ($model) {
59   - if($index != 1){
60   -
61   - $return = '<div><label class="modal-radio">';
62   - $return .= Html::radio($name, $checked, ['value' => $value]);
63   - $return .= '<i></i>';
64   - $return .= '<span>' . ucwords($label) . '</span>';
65   - $return .= '</label></div>';
66   -
67   - return $return;
68   - } else {
69   -
70   - $return = '<div><label class="modal-radio">';
71   - $return .= Html::radio($name, $checked, ['value' => $value]);
72   - $return .= '<i></i>';
73   - $return .= '<span>' . ucwords($label) . '</span>';
74   - $return .= Html::activeTextInput($model,'code');
75   - $return .= '</label></div>';
76   -
77   - return $return;
78   - }
79   -
80   - },
81   - ]);
82   -
83   -
84   - ?>
85   -
86   - <?= $form->field($model, 'status')->textInput() ?>
87   -
88   - <?= $form->field($model, 'created')->widget(DatePicker::classname(), [
89   - 'language' => 'ru',
90   - 'pluginOptions' => [
91   - 'format'=> 'yyyy-mm-d'
92   -
93   - ],
94   -
95   - ]) ?>
96   - <?= $form->field($model, 'updated')->widget(DatePicker::classname(), [
97   - 'language' => 'ru',
98   - 'pluginOptions' => [
99   - 'format'=> 'yyyy-mm-d'
100   -
101   - ],
102   -
103   - ]) ?>
104   -
105   - <?= $form->field($model, 'orderItems')->widget(MultipleInput::className(), [
106   - 'columns' => [
107   - [
108   - 'name' => 'order_items_id',
109   - 'type' => MultipleInputColumn::TYPE_HIDDEN_INPUT,
110   - ],
111   - [
112   - 'name' => 'item_id',
113   - 'type' => MultipleInputColumn::TYPE_TEXT_INPUT,
114   - 'title' => 'item id',
115   - ],
116   - [
117   - 'name' => 'item_name',
118   - 'type' => MultipleInputColumn::TYPE_TEXT_INPUT,
119   - 'title' => 'name',
120   - 'value' => function($data){
121   - if($data instanceof OrderItems){
122   - return $data->item->product->name .' '. $data->item->name;
123   - }
124   - },
125   - ],
126   - [
127   - 'name' => 'item_count',
128   - 'type' => MultipleInputColumn::TYPE_TEXT_INPUT,
129   - 'title' => 'item count',
130   - ],
131   - [
132   - 'name' => 'price',
133   - 'type' => MultipleInputColumn::TYPE_TEXT_INPUT,
134   - 'title' => 'Price',
135   - ],
136   - ],
137   - ]);
138   - ?>
139   -
140   -
141   -
142   - <div class="form-group">
143   - <?= Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
144   - </div>
145   -
146   - <?php ActiveForm::end(); ?>
147   -
148   -</div>
backend/views/orders/_search.php deleted
1   -<?php
2   -
3   -use yii\helpers\Html;
4   -use yii\widgets\ActiveForm;
5   -
6   -/* @var $this yii\web\View */
7   -/* @var $model common\models\OrdersSearch */
8   -/* @var $form yii\widgets\ActiveForm */
9   -?>
10   -
11   -<div class="orders-search">
12   -
13   - <?php $form = ActiveForm::begin([
14   - 'action' => ['index'],
15   - 'method' => 'get',
16   - ]); ?>
17   -
18   - <?= $form->field($model, 'order_id') ?>
19   -
20   - <?= $form->field($model, 'name') ?>
21   -
22   - <?= $form->field($model, 'email') ?>
23   -
24   - <?= $form->field($model, 'phone') ?>
25   -
26   - <?php // echo $form->field($model, 'delivery') ?>
27   -
28   - <?php // echo $form->field($model, 'payment') ?>
29   -
30   - <?php // echo $form->field($model, 'code') ?>
31   -
32   - <?php // echo $form->field($model, 'status') ?>
33   -
34   - <?php // echo $form->field($model, 'created_at') ?>
35   -
36   - <?php // echo $form->field($model, 'updated_at') ?>
37   -
38   - <div class="form-group">
39   - <?= Html::submitButton(Yii::t('app', 'Search'), ['class' => 'btn btn-primary']) ?>
40   - <?= Html::resetButton(Yii::t('app', 'Reset'), ['class' => 'btn btn-default']) ?>
41   - </div>
42   -
43   - <?php ActiveForm::end(); ?>
44   -
45   -</div>
backend/views/orders/add.php 0 → 100644
  1 +<?php
  2 +use yii\helpers\Html;
  3 +use yii\grid\GridView;
  4 +use yii\bootstrap\ActiveForm;
  5 +
  6 +
  7 +$this->title = 'Добавить товар в заказ';
  8 +$this->params['breadcrumbs'][] = $this->title;
  9 +?>
  10 +<h1>Добавить товар в заказ</h1>
  11 +
  12 + <?php $form = ActiveForm::begin([
  13 + 'id' => 'reg-form',
  14 + 'options' => ['class' => 'form-vertical','enctype' => 'multipart/form-data'],
  15 + 'fieldConfig' => [
  16 + //'template' => "{label}\n<div class=\"col-lg-5\">{input}</div>\n<div class=\"col-lg-8\">{error}</div>",
  17 + //'labelOptions' => ['class' => 'col-lg-2 control-label'],
  18 + ],
  19 + ]); ?>
  20 +
  21 +<?= $form->field($model, 'art') ?>
  22 +
  23 +<?= $form->field($model, 'count') ?>
  24 +
  25 + <?= $form->field($model, 'order_id')->hiddenInput(['value'=>$_GET['order_id']])->label(false); ?>
  26 +
  27 +<div class="form-group">
  28 + <?= Html::submitButton(' Сохранить ', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
  29 +</div>
  30 + <?php ActiveForm::end(); ?>
0 31 \ No newline at end of file
... ...
backend/views/orders/create.php deleted
1   -<?php
2   -
3   -use yii\helpers\Html;
4   -
5   -
6   -/* @var $this yii\web\View */
7   -/* @var $model common\models\Orders */
8   -
9   -$this->title = Yii::t('app', 'Create Orders');
10   -$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Orders'), 'url' => ['index']];
11   -$this->params['breadcrumbs'][] = $this->title;
12   -?>
13   -<div class="orders-create">
14   -
15   - <h1><?= Html::encode($this->title) ?></h1>
16   -
17   - <?= $this->render('_form', [
18   - 'model' => $model,
19   - ]) ?>
20   -
21   -</div>
backend/views/orders/index.php 100755 → 100644
1   -<?php
2   -
3   -use yii\helpers\Html;
4   -use yii\grid\GridView;
5   -
6   -/* @var $this yii\web\View */
7   -/* @var $searchModel common\models\OrdersSearch */
8   -/* @var $dataProvider yii\data\ActiveDataProvider */
9   -
10   -$this->title = Yii::t('app', 'Orders');
11   -$this->params['breadcrumbs'][] = $this->title;
12   -?>
13   -<div class="orders-index">
14   -
15   - <h1><?= Html::encode($this->title) ?></h1>
16   - <?php // echo $this->render('_search', ['model' => $searchModel]); ?>
17   -
18   - <p>
19   - <?= Html::a(Yii::t('app', 'Create Orders'), ['create'], ['class' => 'btn btn-success']) ?>
20   - </p>
21   - <?= GridView::widget([
22   - 'dataProvider' => $dataProvider,
23   - 'filterModel' => $searchModel,
24   - 'columns' => [
25   - ['class' => 'yii\grid\SerialColumn'],
26   -
27   - 'order_id',
28   - 'name',
29   - 'email:email',
30   - 'phone',
31   - // 'delivery',
32   - // 'payment',
33   - // 'code',
34   - // 'status',
35   - // 'created_at',
36   - // 'updated_at',
37   -
38   - ['class' => 'yii\grid\ActionColumn'],
39   - ],
40   - ]); ?>
41   -</div>
  1 +<?php
  2 +use yii\helpers\Html;
  3 +use yii\grid\GridView;
  4 +use yii\bootstrap\ActiveForm;
  5 +use yii\helpers\ArrayHelper;
  6 +use backend\models\Label;
  7 +use yii\bootstrap\Modal;
  8 +$this->registerJsFile('/app/modules/admin/assets/js/jquery-1.11.3.min.js');
  9 +$this->registerJsFile('/app/modules/admin/assets/js/site.js');
  10 +
  11 +
  12 +$this->title = 'Заказы';
  13 +$this->params['breadcrumbs'][] = $this->title;
  14 +?>
  15 +<h1>Заказы</h1>
  16 +
  17 + <?php $form = ActiveForm::begin(['id' => 'label-form','method'=>'get','action'=>['/admin/orders/index']]); ?>
  18 +
  19 + <?php
  20 + $arr = [];
  21 + foreach(Label::find()->orderBy('id')->all() as $item)
  22 + {
  23 + $arr[] = ['id'=>$item->id,'label'=>$item->label.'-'.$item->name];
  24 + }
  25 + echo $form->field($searchModel, 'labels')->inline(true)->checkboxList(ArrayHelper::map($arr, 'id', 'label'),['onClick'=>'$("#label-form").submit()']);
  26 + ?>
  27 +
  28 + <?php ActiveForm::end(); ?>
  29 +
  30 +<?= GridView::widget([
  31 + 'dataProvider' => $dataProvider,
  32 + 'filterModel' => $searchModel,
  33 + 'columns' => [
  34 + // ['class' => 'yii\grid\SerialColumn'],
  35 +
  36 + [
  37 + 'attribute' => 'id',
  38 + 'format' => 'raw',
  39 + 'options' => ['class' => 'btn btn-warning'],
  40 + 'value' => function($model){
  41 + return Html::button($model->id, ['id'=>$model->id, 'class' => 'btn btn-warning']); '/admin/orders/show?id=47';
  42 + //return Html::a($model->id, ['/admin/orders/show', 'id'=>$model->id], ['class'=>'btn btn-warning'] );
  43 + // return Html::a($data->name, ['/admin/orders/show','id'=>$data->id]);
  44 + }
  45 +
  46 + ],
  47 + /*[
  48 + 'attribute' =>'username',
  49 + 'value'=>function($data){
  50 + if(!empty($data->user->username))return Html::a($data->user->username, ['/admin/users/show','id'=>$data->user->id]);
  51 + },
  52 + 'format'=>'raw',
  53 + //'contentOptions'=>['style'=>'width: 160px;']
  54 + ], */
  55 + [
  56 + 'attribute' => 'date_time',
  57 + 'value'=>'date_time',
  58 + ],
  59 +
  60 + [
  61 + 'attribute' => 'name',
  62 + 'value'=>'name',
  63 + 'format'=>'raw',
  64 + ],
  65 + [
  66 + 'attribute' => 'phone',
  67 + 'value'=>'phone',
  68 + //'contentOptions'=>['style'=>'max-width: 300px;']
  69 + ],
  70 + [
  71 + 'attribute' => 'total',
  72 + 'value'=>'total',
  73 + //'contentOptions'=>['style'=>'max-width: 300px;']
  74 + ],
  75 + [
  76 + 'attribute' => 'label',
  77 + 'value' => function ($model, $key, $index, $column) {
  78 + // var_dump($model); var_dump($key); exit;
  79 + return Html::activeDropDownList($model, 'label',
  80 + yii\helpers\ArrayHelper::map(Label::find()->orderBy('id')->asArray()->all(), 'id', 'label'),
  81 + [
  82 + 'prompt' => 'Нет',
  83 + 'onchange' => "$.ajax({
  84 + url: \"/admin/orders/labelupdate\",
  85 + type: \"post\",
  86 + data: { order_id: $model->id, label_id : this.value},
  87 + });"
  88 + ]
  89 +
  90 + );
  91 + },
  92 + 'format' => 'raw',
  93 + ],
  94 + [
  95 + 'attribute' => 'pay',
  96 + 'value' => function ($model, $key, $index, $column) {
  97 + // var_dump($model); var_dump($key); exit;
  98 + return Html::activeDropDownList($model, 'pay',[0 => 'Нет',1=>'Да'],
  99 + [
  100 + // 'prompt' => 'Нет',
  101 + 'onchange' => "$.ajax({
  102 + url: \"/admin/orders/payupdate\",
  103 + type: \"post\",
  104 + data: { order_id: $model->id, pay_id : this.value},
  105 + });"
  106 + ]
  107 +
  108 + );
  109 + },
  110 + 'format' => 'raw',
  111 + ],
  112 + [
  113 + 'attribute' => 'status',
  114 + 'value'=>'status',
  115 + 'contentOptions'=>['style'=>'width: 5px;']
  116 + ],
  117 + [
  118 + 'class' => 'yii\grid\ActionColumn',
  119 + 'template' => '{delete}',
  120 + 'contentOptions'=>['style'=>'width: 70px;']
  121 + ],
  122 + ],
  123 +]) ?>
... ...
backend/views/orders/show.php 0 → 100644
  1 +<?php
  2 +use yii\helpers\Html;
  3 +use yii\grid\GridView;
  4 +use yii\bootstrap\ActiveForm;
  5 +use yii\helpers\ArrayHelper;
  6 +use common\models\Delivery;
  7 +use yii\bootstrap\Modal;
  8 +
  9 +$this->registerCssFile('/app/modules/admin/assets/css/admin_order.css');
  10 +
  11 +
  12 +// $this->title = 'Заказ №'.$model->id;
  13 +// $this->params['breadcrumbs'][] = $this->title;
  14 +?>
  15 +<div class="show_style">
  16 +
  17 +
  18 +
  19 +
  20 +<?php if(!empty($_GET['success'])):?>
  21 +<div class="alert alert-success">
  22 + Заказ успешно сохранен!
  23 +</div>
  24 +<?php endif;?>
  25 +
  26 + <?php $form = ActiveForm::begin([
  27 + 'id' => 'reg-form',
  28 + 'layout' => 'horizontal',
  29 + 'options' => ['enctype' => 'multipart/form-data'],
  30 + 'fieldConfig' => [
  31 + //'template' => "{label}\n<div class=\"col-lg-5\">{input}</div>\n<div class=\"col-lg-8\">{error}</div>",
  32 + //'labelOptions' => ['class' => 'col-lg-2 control-label'],
  33 + ],
  34 + 'action' => [
  35 + 'orders/show',
  36 + 'id' => $model->id
  37 + ]
  38 + ]); ?>
  39 +
  40 +<div class="row">
  41 +<div class="col-sm-6">
  42 + <div class="form-group .new_styles_ddd">
  43 + <h5>Заказ №<?=$model->id?></h5>
  44 + <label class="control-label col-sm-3">Дата</label>
  45 + <?=$model->date_time?>
  46 + </div>
  47 +<?= $form->field($model,'date_dedline')->widget(\yii\jui\DatePicker::className(),['clientOptions' => [],'options' => ['class'=>'form-control','style'=>'width:150px;'],'dateFormat' => 'yyyy-MM-dd',]) ?>
  48 +
  49 +
  50 +<?= $form->field($model, 'name') ?>
  51 +
  52 +
  53 +<?= $form->field($model, 'phone') ?>
  54 +
  55 +<?= $form->field($model, 'phone2') ?>
  56 +
  57 +<?= $form->field($model, 'email') ?>
  58 +
  59 +<?= $form->field($model, 'numbercard') ?>
  60 +
  61 + <?= $form->field($model, 'body')->textArea(['rows' => '3']) ?>
  62 +</div>
  63 +<div class="col-sm-6">
  64 + <?= $form->field($model, 'delivery')->dropDownList(ArrayHelper::map(Delivery::find()->asArray()->all(), 'id', 'title')) ?>
  65 +
  66 + <?= $form->field($model, 'declaration') ?>
  67 +
  68 + <?= $form->field($model, 'stock') ?>
  69 +
  70 + <?= $form->field($model, 'consignment') ?>
  71 +
  72 +<?=$form->field($model, 'payment')->dropDownList(['Оплатить наличными'=>'Оплатить наличными','Оплатить на карту Приват Банка'=>'Оплатить на карту Приват Банка','Оплатить по безналичному расчету'=>'Оплатить по безналичному расчету','Оплатить Правекс-телеграф'=>'Оплатить Правекс-телеграф','Наложенным платежом'=>'Наложенным платежом'],['prompt'=>'...']); ?>
  73 +
  74 +<?= $form->field($model, 'insurance') ?>
  75 +
  76 +<?= $form->field($model, 'amount_imposed') ?>
  77 +
  78 +<?= $form->field($model, 'shipping_by') ?>
  79 +
  80 +<?= $form->field($model, 'city') ?>
  81 +
  82 +<?= $form->field($model, 'adress') ?>
  83 +
  84 +
  85 +<?= $form->field($model, 'total') ?>
  86 +
  87 +<?=$form->field($model, 'status')->dropDownList(['Нет'=>'Нет','Обработан'=>'Обработан','На комплектации'=>'На комплектации','Укомплектован'=>'Укомплектован','Доставка'=>'Доставка','Выполнен'=>'Выполнен','Резерв оплачен'=>'Резерв оплачен','Резерв неоплачен'=>'Резерв неоплачен'],['prompt'=>'...']); ?>
  88 +
  89 +<?= $form->field($model, 'comment')->textArea(['rows' => '3']) ?>
  90 +</div></div><div class="both"></div>
  91 +
  92 +<hr />
  93 +&nbsp;
  94 +
  95 +
  96 +<?= GridView::widget([
  97 + 'dataProvider' => $dataProvider,
  98 + 'columns' => [
  99 + [
  100 + 'attribute' => 'id',
  101 + 'value'=>'id',
  102 + 'contentOptions'=>['style'=>'width: 70px;']
  103 + ],
  104 + [
  105 + 'attribute' => 'sku',
  106 + 'value'=>'sku',
  107 + 'contentOptions'=>['style'=>'width: 50px;']
  108 + ],
  109 + [
  110 + 'attribute' => 'product_name',
  111 + 'value'=>'product_name',
  112 + 'contentOptions'=>['style'=>'max-width: 300px;']
  113 + ],
  114 +// [
  115 +// 'attribute' => 'size',
  116 +// 'value'=>'mod.size',
  117 +// 'contentOptions'=>['style'=>'width: 100px;']
  118 +// ],
  119 +// [
  120 +// 'attribute' => 'size',
  121 +// 'value'=>'mod.color',
  122 +// 'contentOptions'=>['style'=>'width: 100px;']
  123 +// ],
  124 + [
  125 + 'attribute' => 'price',
  126 + 'value'=>'price',
  127 + 'contentOptions'=>['style'=>'width: 100px;']
  128 + ],
  129 + [
  130 + 'attribute' => 'count',
  131 + 'value'=>'count',
  132 + 'contentOptions'=>['style'=>'width: 30px;']
  133 + ],
  134 + [
  135 + 'attribute' => 'sum_cost',
  136 + 'value'=>'sum_cost',
  137 + 'contentOptions'=>['style'=>'width: 100px;']
  138 + ],
  139 + [
  140 + 'class' => 'yii\grid\ActionColumn',
  141 + 'template' => '{delete}',
  142 + 'contentOptions'=>['style'=>'width: 20px;'],
  143 + 'buttons' => [
  144 + 'delete' => function ($url, $model) {
  145 + return Html::a('<span class="glyphicon glyphicon-trash"></span>', ['/admin/orders/delete_product','id'=>$model->id,'order_id'=>$_GET['id']],
  146 + [
  147 + 'title' => "Удалить",'data-confirm'=>'Удалить?',
  148 + ]);
  149 + }
  150 + ],
  151 + ],
  152 +
  153 + ],
  154 +]) ?>
  155 +<div class="form-group">
  156 + <?= Html::submitButton(' Сохранить ', ['class' => 'btn btn-primary btn-lg btn-block', 'name' => 'login-button']) ?>
  157 + </div>
  158 +
  159 + <?php ActiveForm::end(); ?>
  160 +
  161 + <div class="row">
  162 + <div class="col-sm-6">
  163 + <h1>Добавить товар в заказ</h1>
  164 +
  165 + <?php $form = ActiveForm::begin([
  166 + 'enableClientScript' => false,
  167 + 'id' => 'add_mod',
  168 + 'options' => ['class' => 'form-vertical','enctype' => 'multipart/form-data'],
  169 + 'fieldConfig' => [
  170 + //'template' => "{label}\n<div class=\"col-lg-5\">{input}</div>\n<div class=\"col-lg-8\">{error}</div>",
  171 + //'labelOptions' => ['class' => 'col-lg-2 control-label'],
  172 + ],
  173 + ]); ?>
  174 +
  175 + <?= $form->field($model_orderproducts, 'sku') ?>
  176 +
  177 + <?= $form->field($model_orderproducts, 'count') ?>
  178 +
  179 + <?= $form->field($model_orderproducts, 'order_id')->hiddenInput(['value'=>$model->id])->label(false); ?>
  180 +
  181 + <div class="form-group">
  182 + <?= Html::submitButton(' Добавить товар ', ['class' => 'btn btn-primary', 'name' => 'login-button']) ?>
  183 + </div>
  184 + <?php ActiveForm::end(); ?>
  185 + </div></div>
  186 +
  187 + </div>
  188 +
  189 +
  190 +
... ...
backend/views/orders/update.php 100755 → 100644
1   -<?php
2   -
3   -use yii\helpers\Html;
4   -
5   -/* @var $this yii\web\View */
6   -/* @var $model common\models\Orders */
7   -
8   -$this->title = Yii::t('app', 'Update {modelClass}: ', [
9   - 'modelClass' => 'Orders',
10   -]) . ' ' . $model->name;
11   -$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Orders'), 'url' => ['index']];
12   -$this->params['breadcrumbs'][] = ['label' => $model->name, 'url' => ['view', 'id' => $model->order_id]];
13   -$this->params['breadcrumbs'][] = Yii::t('app', 'Update');
14   -?>
15   -<div class="orders-update">
16   -
17   - <h1><?= Html::encode($this->title) ?></h1>
18   -
19   - <?= $this->render('_form', [
20   - 'model' => $model,
21   - ]) ?>
22   -
23   -</div>
  1 +<?php
  2 +use yii\helpers\Html;
  3 +use yii\grid\GridView;
  4 +use yii\bootstrap\ActiveForm;
  5 +use yii\helpers\ArrayHelper;
  6 +use app\modules\admin\models\Delivery;
  7 +
  8 +
  9 +$this->title = 'Заказ №'.$model->id;
  10 +$this->params['breadcrumbs'][] = $this->title;
  11 +?>
  12 +<h1>Заказ №<?=$model->id?></h1>
  13 +
  14 +<?php if(!empty($_GET['success'])):?>
  15 +<div class="alert alert-success">
  16 + Заказ успешно сохранен!
  17 +</div>
  18 +<?php endif;?>
  19 +
  20 + <?php $form = ActiveForm::begin([
  21 + 'id' => 'reg-form',
  22 + 'layout' => 'horizontal',
  23 + 'options' => ['enctype' => 'multipart/form-data'],
  24 + 'fieldConfig' => [
  25 + //'template' => "{label}\n<div class=\"col-lg-5\">{input}</div>\n<div class=\"col-lg-8\">{error}</div>",
  26 + //'labelOptions' => ['class' => 'col-lg-2 control-label'],
  27 + ],
  28 + ]); ?>
  29 +
  30 +
  31 +<div class="col-sm-6">
  32 + <div class="form-group">
  33 + <label class="control-label col-sm-3">Дата</label>
  34 + <?=$model->date_time?>
  35 + </div>
  36 +<?= $form->field($model,'date_dedline')->widget(\yii\jui\DatePicker::className(),['clientOptions' => [],'options' => ['class'=>'form-control','style'=>'width:150px;'],'dateFormat' => 'yyyy-MM-dd',]) ?>
  37 +
  38 +<?= $form->field($model, 'surname') ?>
  39 +
  40 +<?= $form->field($model, 'name') ?>
  41 +
  42 +<?= $form->field($model, 'patronymic') ?>
  43 +
  44 +<?= $form->field($model, 'phone') ?>
  45 +
  46 +<?= $form->field($model, 'phone2') ?>
  47 +
  48 +<?= $form->field($model, 'email') ?>
  49 +
  50 +<?= $form->field($model, 'numbercard') ?>
  51 +
  52 +<?= $form->field($model, 'delivery')->dropDownList(ArrayHelper::map(Delivery::find()->asArray()->all(), 'id', 'title')) ?>
  53 +
  54 +<?= $form->field($model, 'declaration') ?>
  55 +
  56 +<?= $form->field($model, 'stock') ?>
  57 +
  58 +<?= $form->field($model, 'consignment') ?>
  59 +</div>
  60 +<div class="col-sm-6">
  61 +<?=$form->field($model, 'payment')->dropDownList(['Оплатить наличными'=>'Оплатить наличными','Оплатить на карту Приват Банка'=>'Оплатить на карту Приват Банка','Оплатить по безналичному расчету'=>'Оплатить по безналичному расчету','Оплатить Правекс-телеграф'=>'Оплатить Правекс-телеграф','Наложенным платежом'=>'Наложенным платежом'],['prompt'=>'...']); ?>
  62 +
  63 +<?= $form->field($model, 'insurance') ?>
  64 +
  65 +<?= $form->field($model, 'amount_imposed') ?>
  66 +
  67 +<?= $form->field($model, 'shipping_by') ?>
  68 +
  69 +<?= $form->field($model, 'city') ?>
  70 +
  71 +<?= $form->field($model, 'adress') ?>
  72 +
  73 +<?= $form->field($model, 'body')->textArea(['rows' => '6']) ?>
  74 +
  75 +<?= $form->field($model, 'total') ?>
  76 +
  77 +<?=$form->field($model, 'status')->dropDownList(['Нет'=>'Нет','Обработан'=>'Обработан','На комплектации'=>'На комплектации','Укомплектован'=>'Укомплектован','Доставка'=>'Доставка','Выполнен'=>'Выполнен','Резерв оплачен'=>'Резерв оплачен','Резерв неоплачен'=>'Резерв неоплачен'],['prompt'=>'...']); ?>
  78 +
  79 +<?= $form->field($model, 'comment')->textArea(['rows' => '6']) ?>
  80 +</div>
  81 +<div class="form-group">
  82 + <?= Html::submitButton(' Сохранить ', ['class' => 'btn btn-primary btn-lg btn-block', 'name' => 'login-button']) ?>
  83 + </div>
  84 +
  85 + <?php ActiveForm::end(); ?>
  86 +<hr />
  87 +<?= Html::a('Добавить товар', ['/admin/orders/add','order_id'=>$model->id], ['class'=>'btn btn-success']) ?>
  88 +<?= GridView::widget([
  89 + 'dataProvider' => $dataProvider,
  90 + 'columns' => [
  91 + [
  92 + 'attribute' => 'id',
  93 + 'value'=>'id',
  94 + 'contentOptions'=>['style'=>'width: 70px;']
  95 + ],
  96 + [
  97 + 'attribute' => 'art',
  98 + 'value'=>'art',
  99 + 'contentOptions'=>['style'=>'width: 50px;']
  100 + ],
  101 + [
  102 + 'attribute' => 'product_name',
  103 + 'value'=>'product_name',
  104 + //'contentOptions'=>['style'=>'max-width: 300px;']
  105 + ],
  106 + [
  107 + 'attribute' => 'name',
  108 + 'value'=>'name',
  109 + //'contentOptions'=>['style'=>'max-width: 300px;']
  110 + ],
  111 + [
  112 + 'attribute' => 'cost',
  113 + 'value'=>'cost',
  114 + 'contentOptions'=>['style'=>'width: 100px;']
  115 + ],
  116 + [
  117 + 'attribute' => 'count',
  118 + 'value'=>'count',
  119 + 'contentOptions'=>['style'=>'width: 30px;']
  120 + ],
  121 + [
  122 + 'attribute' => 'sum_cost',
  123 + 'value'=>'sum_cost',
  124 + 'contentOptions'=>['style'=>'width: 100px;']
  125 + ],
  126 + [
  127 + 'class' => 'yii\grid\ActionColumn',
  128 + 'template' => '{delete}',
  129 + 'contentOptions'=>['style'=>'width: 20px;'],
  130 + 'buttons' => [
  131 + 'delete' => function ($url, $model) {
  132 + return Html::a('<span class="glyphicon glyphicon-trash"></span>', ['/admin/orders/delete_product','id'=>$model->id,'order_id'=>$_GET['id']],
  133 + [
  134 + 'title' => "Удалить",'data-confirm'=>'Удалить?',
  135 + ]);
  136 + }
  137 + ],
  138 + ],
  139 +
  140 + ],
  141 +]) ?>
  142 +
  143 +
  144 +
... ...
backend/views/orders/view.php deleted
1   -<?php
2   -
3   -use yii\helpers\Html;
4   -use yii\widgets\DetailView;
5   -
6   -/* @var $this yii\web\View */
7   -/* @var $model common\models\Orders */
8   -
9   -$this->title = $model->name;
10   -$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Orders'), 'url' => ['index']];
11   -$this->params['breadcrumbs'][] = $this->title;
12   -?>
13   -<div class="orders-view">
14   -
15   - <h1><?= Html::encode($this->title) ?></h1>
16   -
17   - <p>
18   - <?= Html::a(Yii::t('app', 'Update'), ['update', 'id' => $model->order_id], ['class' => 'btn btn-primary']) ?>
19   - <?= Html::a(Yii::t('app', 'Delete'), ['delete', 'id' => $model->order_id], [
20   - 'class' => 'btn btn-danger',
21   - 'data' => [
22   - 'confirm' => Yii::t('app', 'Are you sure you want to delete this item?'),
23   - 'method' => 'post',
24   - ],
25   - ]) ?>
26   - </p>
27   -
28   - <?= DetailView::widget([
29   - 'model' => $model,
30   - 'attributes' => [
31   - 'order_id',
32   - 'name',
33   - 'email:email',
34   - 'phone',
35   - 'delivery',
36   - 'payment',
37   - 'code',
38   - 'status',
39   - 'created_at',
40   - 'updated_at',
41   - ],
42   - ]) ?>
43   -
44   -</div>
backend/web/js/site.js 0 → 100644
  1 +$(document).ready(function(){
  2 +
  3 + var iii = true;
  4 +
  5 + // console.log(ddd);
  6 + // if (ddd) {console.log('hello var ddd is correnct')
  7 + // }else {
  8 + // console.log('var ddd is not exist');
  9 + // };
  10 +
  11 + console.log($('button'));
  12 + $('button').click(function(){
  13 +
  14 + var testt = $(this);
  15 +
  16 + var id = $(this).attr('id');
  17 +
  18 + var ddd = document.getElementById('test_tr_class');
  19 +
  20 + // $.post( "index.php?r=order%2Fupdate&id=1", function( data ) {
  21 +
  22 + if (!ddd) {
  23 +
  24 + testt.closest('tr').after(
  25 + '<tr id="test_tr_class">' +
  26 + '<td colspan="12" id="content_'+id+'">' +
  27 + 'data' +
  28 + '</td>' +
  29 + '</tr>'
  30 + );
  31 +
  32 + loadShow(testt,id);
  33 +
  34 + }else{
  35 + document.getElementById('test_tr_class').remove();
  36 + };
  37 +
  38 + iii = false;
  39 + console.log(iii);
  40 +
  41 +
  42 +
  43 +
  44 + });
  45 +
  46 + function loadShow(testt,id){
  47 + $.post( "/admin/orders/show?id=" + id + '"', function( data ) {
  48 +
  49 + $('#content_'+id).html(data);
  50 +
  51 + $('#add_mod').submit(function() {
  52 + $.ajax({
  53 + type: "POST",
  54 + url: "/admin/orders/add?order_id="+id,
  55 + data: $(this).serialize(), // serializes the form's elements.
  56 + success: function(data)
  57 + {
  58 + loadShow(testt,id); // show response from the php script.
  59 + }
  60 + });
  61 + return false;
  62 + });
  63 +
  64 + });
  65 +
  66 + }
  67 +
  68 +
  69 +
  70 +
  71 +
  72 +});
0 73 \ No newline at end of file
... ...
common/models/Orders.php
... ... @@ -190,7 +190,12 @@ class Orders extends \yii\db\ActiveRecord
190 190  
191 191 return $mod->price;
192 192 }
193   -
  193 + public function clearBasket ()
  194 + {
  195 + $session = new Session;
  196 + $session->open ();
  197 + $session['basket'] = null;
  198 + }
194 199 public function getUser()
195 200 {
196 201 return $this->hasOne(User::className(), ['id' => 'user_id']);
... ...
common/modules/product/models/ProductVariant.php
... ... @@ -33,6 +33,7 @@ class ProductVariant extends \yii\db\ActiveRecord
33 33 public $translit;
34 34 public $translit_rubric;
35 35 private $data;
  36 +
36 37 /** @var array $_images */
37 38 // public $imagesUpload = [];
38 39 /**
... ...
console/migrations/m160517_072059_delete_product_fk.php 0 → 100644
  1 +<?php
  2 +
  3 +use yii\db\Migration;
  4 +
  5 +class m160517_072059_delete_product_fk extends Migration
  6 +{
  7 + public function up()
  8 + {
  9 + $this->dropForeignKey('orders_products_fk', '{{%orders_products}}');
  10 + $this->dropForeignKey('orders_products_items_fk', '{{%orders_products}}');
  11 + }
  12 +
  13 + public function down()
  14 + {
  15 +
  16 + $this->addForeignKey('orders_products_fk', '{{%orders_products}}', 'order_id', '{{%orders}}', 'id', 'CASCADE', 'CASCADE');
  17 + $this->addForeignKey('orders_products_items_fk', '{{%orders_products}}', 'id', '{{%product}}', 'product_id', 'RESTRICT', 'RESTRICT');
  18 + }
  19 +
  20 + /*
  21 + // Use safeUp/safeDown to run migration code within a transaction
  22 + public function safeUp()
  23 + {
  24 + }
  25 +
  26 + public function safeDown()
  27 + {
  28 + }
  29 + */
  30 +}
... ...
console/migrations/m160517_073502_orders_label.php 0 → 100644
  1 +<?php
  2 +
  3 +use yii\db\Migration;
  4 +
  5 +class m160517_073502_orders_label extends Migration
  6 +{
  7 + public function up()
  8 + {
  9 + $this->createTable('{{%orders_label}}', [
  10 + 'id' => $this->primaryKey(),
  11 + 'name' => $this->string(),
  12 + 'label' => $this->string()
  13 + ]);
  14 + }
  15 +
  16 + public function down()
  17 + {
  18 + $this->dropTable('{{%orders_label}}');
  19 + }
  20 +
  21 + /*
  22 + // Use safeUp/safeDown to run migration code within a transaction
  23 + public function safeUp()
  24 + {
  25 + }
  26 +
  27 + public function safeDown()
  28 + {
  29 + }
  30 + */
  31 +}
... ...
frontend/controllers/BasketController.php
... ... @@ -26,19 +26,20 @@ class BasketController extends Controller
26 26 }
27 27  
28 28 if(isset($_POST['update'])){
29   - foreach ($_POST['Mod'] as $index=>$row) {
  29 + foreach ($_POST['ProductVariant'] as $index=>$row) {
30 30 $modelOrder->updateBasket($row);
31 31 }
32   - }elseif(isset($_POST['Mod'])){
  32 + }elseif(isset($_POST['ProductVariant'])){
  33 +// die(print_r($_POST));
33 34 $body = '';
34   - foreach ($_POST['Mod'] as $index=>$row) {
  35 + foreach ($_POST['ProductVariant'] as $index=>$row) {
35 36 $body .= $row['product_name'].' '.$row['name'].' Кол:'.$row['count'].' Цена:'.$row['sum_cost'];
36 37 $body .= "\n\r";
37 38 }
38 39 $body .= "\n\r";
39 40  
40 41 if ($modelOrder->load(Yii::$app->request->post()) && $modelOrder->save() && $modelOrder->contact('borisenko.pavel@gmail.com',$body)) {
41   - foreach ($_POST['Mod'] as $index=>$row) {
  42 + foreach ($_POST['ProductVariant'] as $index=>$row) {
42 43 $modelOrdersProducts = new OrdersProducts();
43 44 $mod_id = $row['id'];
44 45 unset($row['id']);
... ... @@ -59,7 +60,7 @@ class BasketController extends Controller
59 60 $modelUser->group_id = 2;
60 61 $modelUser->save();
61 62 }
62   - $modelMod->clearBasket();
  63 + $modelOrder->clearBasket();
63 64 return Yii::$app->response->redirect(['basket/success']);
64 65 }
65 66 }
... ...