Commit 6f14188b115ed99d18438c877dd3d2d25ed99c1e

Authored by Alexey Boroda
1 parent c533dd50

-Product card fixed

controllers/OrderController.php
@@ -153,20 +153,36 @@ @@ -153,20 +153,36 @@
153 } 153 }
154 } 154 }
155 155
156 - public function actionDeleteProduct($id) 156 + public function actionUpdate($id)
  157 + {
  158 + $model = $this->findModel($id);
  159 +
  160 + if ($model->load(Yii::$app->request->post()) && $model->save()) {
  161 + return $this->redirect([ 'index' ]);
  162 + } else {
  163 + return $this->render(
  164 + 'update',
  165 + [
  166 + 'model' => $model,
  167 + ]
  168 + );
  169 + }
  170 + }
  171 +
  172 + public function actionDeleteProduct($id, $order_id)
157 { 173 {
158 $model = OrderProduct::findOne($id); 174 $model = OrderProduct::findOne($id);
159 $model->delete(); 175 $model->delete();
160 - return Yii::$app->response->redirect(  
161 - [  
162 - 'ecommerce/order',  
163 - ]  
164 - ); 176 + \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
  177 + return [
  178 + 'result' => 'success',
  179 + 'id' => $id,
  180 + ];
165 } 181 }
166 182
167 protected function findModel($id) 183 protected function findModel($id)
168 { 184 {
169 - if (( $model = Order::findOne($id) ) !== null) { 185 + if (( $model = Order::findOne($id) ) !== NULL) {
170 return $model; 186 return $model;
171 } else { 187 } else {
172 throw new NotFoundHttpException('The requested page does not exist.'); 188 throw new NotFoundHttpException('The requested page does not exist.');
views/order/_form.php
@@ -3,6 +3,8 @@ @@ -3,6 +3,8 @@
3 use artweb\artbox\ecommerce\models\Order; 3 use artweb\artbox\ecommerce\models\Order;
4 use yii\helpers\Html; 4 use yii\helpers\Html;
5 use yii\bootstrap\ActiveForm; 5 use yii\bootstrap\ActiveForm;
  6 + use yii\helpers\ArrayHelper;
  7 + use artweb\artbox\ecommerce\models\Delivery;
6 8
7 /* @var $this yii\web\View */ 9 /* @var $this yii\web\View */
8 /* @var $model Order */ 10 /* @var $model Order */
@@ -10,82 +12,95 @@ @@ -10,82 +12,95 @@
10 ?> 12 ?>
11 13
12 <?php $form = ActiveForm::begin(); ?> 14 <?php $form = ActiveForm::begin(); ?>
13 -<div class="container" style="margin-left: 0;">  
14 - <div class="col-sm-6">  
15 -  
16 -  
17 - <?= $form->field($model, 'name') ?>  
18 -  
19 - <?= $form->field($model, 'phone') ?>  
20 -  
21 - <?= $form->field($model, 'phone2') ?>  
22 -  
23 - <?= $form->field($model, 'email') ?>  
24 -  
25 - <?= $form->field($model, 'numbercard') ?>  
26 -  
27 - <?= $form->field($model, 'body')  
28 - ->textarea([ 'rows' => '3' ]) ?>  
29 -  
30 - <?php /* $form->field($model, 'delivery')->dropDownList(ArrayHelper::map(Delivery::find()->asArray()->all(), 'id', 'title')) */ ?>  
31 -  
32 - <?= $form->field($model, 'declaration') ?>  
33 -  
34 - <?= $form->field($model, 'stock') ?>  
35 -  
36 - <?= $form->field($model, 'consignment') ?>  
37 - </div>  
38 - <div class="col-sm-6">  
39 -  
40 - <?= $form->field($model, 'payment')  
41 - ->dropDownList(  
42 - [  
43 - 'Оплатить наличными' => 'Оплатить наличными',  
44 - 'Оплатить на карту Приват Банка' => 'Оплатить на карту Приват Банка',  
45 - 'Оплатить по безналичному расчету' => 'Оплатить по безналичному расчету',  
46 - 'Оплатить Правекс-телеграф' => 'Оплатить Правекс-телеграф',  
47 - 'Наложенным платежом' => 'Наложенным платежом',  
48 - ],  
49 - [ 'prompt' => '...' ]  
50 - ); ?>  
51 -  
52 - <?= $form->field($model, 'insurance') ?>  
53 -  
54 - <?= $form->field($model, 'amount_imposed') ?>  
55 -  
56 - <?= $form->field($model, 'shipping_by') ?>  
57 -  
58 - <?= $form->field($model, 'city') ?>  
59 -  
60 - <?= $form->field($model, 'adress') ?>  
61 -  
62 -  
63 - <?= $form->field($model, 'total') ?>  
64 -  
65 - <?= $form->field($model, 'status')  
66 - ->dropDownList(  
67 - [  
68 - 'Нет' => 'Нет',  
69 - 'Обработан' => 'Обработан',  
70 - 'На комплектации' => 'На комплектации',  
71 - 'Укомплектован' => 'Укомплектован',  
72 - 'Доставка' => 'Доставка',  
73 - 'Выполнен' => 'Выполнен',  
74 - 'Резерв оплачен' => 'Резерв оплачен',  
75 - 'Резерв неоплачен' => 'Резерв неоплачен',  
76 - ],  
77 - [ 'prompt' => '...' ]  
78 - ); ?>  
79 -  
80 - <?= $form->field($model, 'comment')  
81 - ->textarea([ 'rows' => '3' ]) ?> 15 +<div class="container">
  16 + <div class="row">
  17 + <div class="col-sm-6">
  18 +
  19 +
  20 + <?= $form->field($model, 'name') ?>
  21 +
  22 + <?= $form->field($model, 'phone') ?>
  23 +
  24 + <?= $form->field($model, 'phone2') ?>
  25 +
  26 + <?= $form->field($model, 'email') ?>
  27 +
  28 + <?= $form->field($model, 'numbercard') ?>
  29 +
  30 + <?= $form->field($model, 'body')
  31 + ->textarea([ 'rows' => '3' ]) ?>
  32 +
  33 + <?php $form->field($model, 'delivery')
  34 + ->dropDownList(
  35 + ArrayHelper::map(
  36 + Delivery::find()
  37 + ->asArray()
  38 + ->all(),
  39 + 'id',
  40 + 'title'
  41 + )
  42 + ) ?>
  43 +
  44 + <?= $form->field($model, 'declaration') ?>
  45 +
  46 + <?= $form->field($model, 'stock') ?>
  47 +
  48 + <?= $form->field($model, 'consignment') ?>
  49 + </div>
  50 + <div class="col-sm-6">
  51 +
  52 + <?= $form->field($model, 'payment')
  53 + ->dropDownList(
  54 + [
  55 + 'Оплатить наличными' => 'Оплатить наличными',
  56 + 'Оплатить на карту Приват Банка' => 'Оплатить на карту Приват Банка',
  57 + 'Оплатить по безналичному расчету' => 'Оплатить по безналичному расчету',
  58 + 'Оплатить Правекс-телеграф' => 'Оплатить Правекс-телеграф',
  59 + 'Наложенным платежом' => 'Наложенным платежом',
  60 + ],
  61 + [ 'prompt' => '...' ]
  62 + ); ?>
  63 +
  64 + <?= $form->field($model, 'insurance') ?>
  65 +
  66 + <?= $form->field($model, 'amount_imposed') ?>
  67 +
  68 + <?= $form->field($model, 'shipping_by') ?>
  69 +
  70 + <?= $form->field($model, 'city') ?>
  71 +
  72 + <?= $form->field($model, 'adress') ?>
  73 +
  74 +
  75 + <?= $form->field($model, 'total') ?>
  76 +
  77 + <?= $form->field($model, 'status')
  78 + ->dropDownList(
  79 + [
  80 + 'Нет' => 'Нет',
  81 + 'Обработан' => 'Обработан',
  82 + 'На комплектации' => 'На комплектации',
  83 + 'Укомплектован' => 'Укомплектован',
  84 + 'Доставка' => 'Доставка',
  85 + 'Выполнен' => 'Выполнен',
  86 + 'Резерв оплачен' => 'Резерв оплачен',
  87 + 'Резерв неоплачен' => 'Резерв неоплачен',
  88 + ],
  89 + [ 'prompt' => '...' ]
  90 + ); ?>
  91 +
  92 + <?= $form->field($model, 'comment')
  93 + ->textarea([ 'rows' => '3' ]) ?>
  94 + </div>
82 </div> 95 </div>
83 </div> 96 </div>
84 -<div class="form-group">  
85 - <?= Html::submitButton(  
86 - $model->isNewRecord ? 'Create' : 'Update',  
87 - [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ]  
88 - ) ?> 97 +<div class="row">
  98 + <div class="form-group">
  99 + <?= Html::submitButton(
  100 + $model->isNewRecord ? 'Create' : 'Update',
  101 + [ 'class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary' ]
  102 + ) ?>
  103 + </div>
89 </div> 104 </div>
90 <?php ActiveForm::end(); ?> 105 <?php ActiveForm::end(); ?>
91 106
views/order/index.php
@@ -98,7 +98,7 @@ @@ -98,7 +98,7 @@
98 ], 98 ],
99 [ 99 [
100 'class' => 'yii\grid\ActionColumn', 100 'class' => 'yii\grid\ActionColumn',
101 - 'template' => '{delete}', 101 +// 'template' => '{delete}',
102 'contentOptions' => [ 'style' => 'width: 70px;' ], 102 'contentOptions' => [ 'style' => 'width: 70px;' ],
103 ], 103 ],
104 ], 104 ],
views/order/show.php
@@ -187,7 +187,7 @@ @@ -187,7 +187,7 @@
187 'order_id' => (int)\Yii::$app->request->get('id'), 187 'order_id' => (int)\Yii::$app->request->get('id'),
188 ], 188 ],
189 [ 189 [
190 - 'class' => 'delete-ajax' 190 + 'class' => 'delete-ajax',
191 ] 191 ]
192 ); 192 );
193 }, 193 },
views/order/update.php
1 <?php 1 <?php
  2 + /**
  3 + * @var Order $model
  4 + * @var View $this
  5 + */
  6 +
  7 + use artweb\artbox\ecommerce\models\Order;
2 use yii\helpers\Html; 8 use yii\helpers\Html;
3 - use yii\grid\GridView;  
4 - use yii\bootstrap\ActiveForm;  
5 - use yii\helpers\ArrayHelper;  
6 - use artweb\artbox\ecommerce\models\Delivery; 9 + use yii\web\View;
7 10
8 $this->title = 'Заказ №' . $model->id; 11 $this->title = 'Заказ №' . $model->id;
9 $this->params[ 'breadcrumbs' ][] = $this->title; 12 $this->params[ 'breadcrumbs' ][] = $this->title;
10 ?> 13 ?>
11 -<h1>Заказ №<?= $model->id ?></h1>  
12 -  
13 -<?php if (!empty( $_GET[ 'success' ] )): ?>  
14 - <div class="alert alert-success">  
15 - Заказ успешно сохранен!  
16 - </div>  
17 -<?php endif; ?>  
18 -  
19 -<?php $form = ActiveForm::begin(  
20 - [  
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 -  
32 -<div class="col-sm-6">  
33 - <div class="form-group">  
34 - <label class="control-label col-sm-3">Дата</label>  
35 - <?= $model->date_time ?>  
36 - </div>  
37 - <?= $form->field($model, 'date_dedline')  
38 - ->widget(  
39 - \yii\jui\DatePicker::className(),  
40 - [  
41 - 'clientOptions' => [],  
42 - 'options' => [  
43 - 'class' => 'form-control',  
44 - 'style' => 'width:150px;',  
45 - ],  
46 - 'dateFormat' => 'yyyy-MM-dd',  
47 - ]  
48 - ) ?>  
49 -  
50 - <?= $form->field($model, 'surname') ?>  
51 -  
52 - <?= $form->field($model, 'name') ?>  
53 -  
54 - <?= $form->field($model, 'patronymic') ?>  
55 -  
56 - <?= $form->field($model, 'phone') ?>  
57 -  
58 - <?= $form->field($model, 'phone2') ?>  
59 -  
60 - <?= $form->field($model, 'email') ?>  
61 -  
62 - <?= $form->field($model, 'numbercard') ?>  
63 -  
64 - <?= $form->field($model, 'delivery')  
65 - ->dropDownList(  
66 - ArrayHelper::map(  
67 - Delivery::find()  
68 - ->asArray()  
69 - ->all(),  
70 - 'id',  
71 - 'title'  
72 - )  
73 - ) ?>  
74 -  
75 - <?= $form->field($model, 'declaration') ?>  
76 -  
77 - <?= $form->field($model, 'stock') ?>  
78 -  
79 - <?= $form->field($model, 'consignment') ?>  
80 -</div>  
81 -<div class="col-sm-6">  
82 - <?= $form->field($model, 'payment')  
83 - ->dropDownList(  
84 - [  
85 - 'Оплатить наличными' => 'Оплатить наличными',  
86 - 'Оплатить на карту Приват Банка' => 'Оплатить на карту Приват Банка',  
87 - 'Оплатить по безналичному расчету' => 'Оплатить по безналичному расчету',  
88 - 'Оплатить Правекс-телеграф' => 'Оплатить Правекс-телеграф',  
89 - 'Наложенным платежом' => 'Наложенным платежом',  
90 - ],  
91 - [ 'prompt' => '...' ]  
92 - ); ?>  
93 -  
94 - <?= $form->field($model, 'insurance') ?>  
95 -  
96 - <?= $form->field($model, 'amount_imposed') ?>  
97 -  
98 - <?= $form->field($model, 'shipping_by') ?>  
99 -  
100 - <?= $form->field($model, 'city') ?>  
101 -  
102 - <?= $form->field($model, 'adress') ?>  
103 -  
104 - <?= $form->field($model, 'body')  
105 - ->textArea([ 'rows' => '6' ]) ?>  
106 -  
107 - <?= $form->field($model, 'total') ?>  
108 -  
109 - <?= $form->field($model, 'status')  
110 - ->dropDownList(  
111 - [  
112 - 'Нет' => 'Нет',  
113 - 'Обработан' => 'Обработан',  
114 - 'На комплектации' => 'На комплектации',  
115 - 'Укомплектован' => 'Укомплектован',  
116 - 'Доставка' => 'Доставка',  
117 - 'Выполнен' => 'Выполнен',  
118 - 'Резерв оплачен' => 'Резерв оплачен',  
119 - 'Резерв неоплачен' => 'Резерв неоплачен',  
120 - ],  
121 - [ 'prompt' => '...' ]  
122 - ); ?> 14 +<div class="order-update">
  15 + <h1><?php echo Html::encode($this->title) ?></h1>
123 16
124 - <?= $form->field($model, 'comment')  
125 - ->textArea([ 'rows' => '6' ]) ?>  
126 -</div>  
127 -<div class="form-group">  
128 - <?= Html::submitButton(  
129 - ' Сохранить ', 17 + <?= $this->render(
  18 + '_form',
130 [ 19 [
131 - 'class' => 'btn btn-primary btn-lg btn-block',  
132 - 'name' => 'login-button', 20 + 'model' => $model,
133 ] 21 ]
134 ) ?> 22 ) ?>
135 -</div>  
136 -  
137 -<?php ActiveForm::end(); ?>  
138 -<hr/>  
139 -<?= Html::a(  
140 - 'Добавить товар',  
141 - [  
142 - '/admin/order/add',  
143 - 'order_id' => $model->id,  
144 - ],  
145 - [ 'class' => 'btn btn-success' ]  
146 -) ?>  
147 -<?= GridView::widget(  
148 - [  
149 - 'dataProvider' => $dataProvider,  
150 - 'columns' => [  
151 - [  
152 - 'attribute' => 'id',  
153 - 'value' => 'id',  
154 - 'contentOptions' => [ 'style' => 'width: 70px;' ],  
155 - ],  
156 - [  
157 - 'attribute' => 'art',  
158 - 'value' => 'art',  
159 - 'contentOptions' => [ 'style' => 'width: 50px;' ],  
160 - ],  
161 - [  
162 - 'attribute' => 'product_name',  
163 - 'value' => 'product_name',  
164 - //'contentOptions'=>['style'=>'max-width: 300px;']  
165 - ],  
166 - [  
167 - 'attribute' => 'name',  
168 - 'value' => 'name',  
169 - //'contentOptions'=>['style'=>'max-width: 300px;']  
170 - ],  
171 - [  
172 - 'attribute' => 'cost',  
173 - 'value' => 'cost',  
174 - 'contentOptions' => [ 'style' => 'width: 100px;' ],  
175 - ],  
176 - [  
177 - 'attribute' => 'count',  
178 - 'value' => 'count',  
179 - 'contentOptions' => [ 'style' => 'width: 30px;' ],  
180 - ],  
181 - [  
182 - 'attribute' => 'sum_cost',  
183 - 'value' => 'sum_cost',  
184 - 'contentOptions' => [ 'style' => 'width: 100px;' ],  
185 - ],  
186 - [  
187 - 'class' => 'yii\grid\ActionColumn',  
188 - 'template' => '{delete}',  
189 - 'contentOptions' => [ 'style' => 'width: 20px;' ],  
190 - 'buttons' => [  
191 - 'delete' => function ($url, $model) {  
192 - return Html::a(  
193 - '<span class="glyphicon glyphicon-trash"></span>',  
194 - [  
195 - '/admin/order/delete_product',  
196 - 'id' => $model->id,  
197 - 'order_id' => $_GET[ 'id' ],  
198 - ],  
199 - [  
200 - 'title' => "Удалить",  
201 - 'data-confirm' => 'Удалить?',  
202 - ]  
203 - );  
204 - },  
205 - ],  
206 - ],  
207 -  
208 - ],  
209 - ]  
210 -) ?>  
211 -  
212 -  
213 - 23 +</div>
214 \ No newline at end of file 24 \ No newline at end of file