Commit 6f14188b115ed99d18438c877dd3d2d25ed99c1e

Authored by Alexey Boroda
1 parent c533dd50

-Product card fixed

controllers/OrderController.php
... ... @@ -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 174 $model = OrderProduct::findOne($id);
159 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 183 protected function findModel($id)
168 184 {
169   - if (( $model = Order::findOne($id) ) !== null) {
  185 + if (( $model = Order::findOne($id) ) !== NULL) {
170 186 return $model;
171 187 } else {
172 188 throw new NotFoundHttpException('The requested page does not exist.');
... ...
views/order/_form.php
... ... @@ -3,6 +3,8 @@
3 3 use artweb\artbox\ecommerce\models\Order;
4 4 use yii\helpers\Html;
5 5 use yii\bootstrap\ActiveForm;
  6 + use yii\helpers\ArrayHelper;
  7 + use artweb\artbox\ecommerce\models\Delivery;
6 8  
7 9 /* @var $this yii\web\View */
8 10 /* @var $model Order */
... ... @@ -10,82 +12,95 @@
10 12 ?>
11 13  
12 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 95 </div>
83 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 104 </div>
90 105 <?php ActiveForm::end(); ?>
91 106  
... ...
views/order/index.php
... ... @@ -98,7 +98,7 @@
98 98 ],
99 99 [
100 100 'class' => 'yii\grid\ActionColumn',
101   - 'template' => '{delete}',
  101 +// 'template' => '{delete}',
102 102 'contentOptions' => [ 'style' => 'width: 70px;' ],
103 103 ],
104 104 ],
... ...
views/order/show.php
... ... @@ -187,7 +187,7 @@
187 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 1 <?php
  2 + /**
  3 + * @var Order $model
  4 + * @var View $this
  5 + */
  6 +
  7 + use artweb\artbox\ecommerce\models\Order;
2 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 11 $this->title = 'Заказ №' . $model->id;
9 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 24 \ No newline at end of file
... ...