Commit 2e0d34224a62d2218a459f7bf2abf2e580eda2ac

Authored by Administrator
2 parents 4b7c8f53 d89130bf

Merge remote-tracking branch 'origin/master'

models/Category.php
... ... @@ -19,6 +19,7 @@
19 19 * @todo Write doc for ArtboxTreeBehavior
20 20 * @property integer $id
21 21 * @property integer $sort
  22 + * @property integer $sort2
22 23 * @property integer $remote_id
23 24 * @property integer $parent_id
24 25 * @property string $path
... ... @@ -68,7 +69,7 @@
68 69 return [
69 70 'artboxtree' => [
70 71 'class' => ArtboxTreeBehavior::className(),
71   - 'keyNameGroup' => NULL,
  72 + 'keyNameGroup' => null,
72 73 'keyNamePath' => 'path',
73 74 ],
74 75 'language' => [
... ... @@ -110,6 +111,7 @@
110 111 'depth',
111 112 'product_unit_id',
112 113 'sort',
  114 + 'sort2',
113 115 ],
114 116 'integer',
115 117 ],
... ... @@ -138,6 +140,7 @@
138 140 'product_unit_id' => Yii::t('product', 'Product Unit ID'),
139 141 'remote_id' => Yii::t('product', 'Remote ID'),
140 142 'sort' => Yii::t('product', 'Порядок вывода'),
  143 + 'sort2' => Yii::t('product', 'Порядок вывода на главной'),
141 144 ];
142 145 }
143 146  
... ... @@ -212,7 +215,7 @@
212 215 {
213 216 if (parent::beforeSave($insert)) {
214 217  
215   - if (empty($this->parent_id)) {
  218 + if (empty( $this->parent_id )) {
216 219 $this->parent_id = 0;
217 220 }
218 221  
... ...
models/Order.php
... ... @@ -183,7 +183,7 @@
183 183 public function afterFind()
184 184 {
185 185 parent::afterFind();
186   - $this->deadline = !empty( $this->deadline ) ? date('d.m.Y', $this->deadline) : '';
  186 + $this->deadline = !empty($this->deadline) ? date('d.m.Y', $this->deadline) : '';
187 187  
188 188 }
189 189  
... ... @@ -200,7 +200,7 @@
200 200  
201 201 protected function convertDate()
202 202 {
203   - if (!empty( $this->deadline )) {
  203 + if (!empty($this->deadline)) {
204 204 $date = new \DateTime();
205 205 $date->setTimestamp(strtotime($this->deadline));
206 206 $date->format("d.m.Y");
... ... @@ -213,21 +213,37 @@
213 213 public function attributeLabels()
214 214 {
215 215 return [
216   - 'name' => Yii::t('app', 'order_name'),
217   - 'phone' => Yii::t('app', 'order_phone'),
218   - 'email' => Yii::t('app', 'order_email'),
219   - 'comment' => Yii::t('app', 'order_comment'),
220   - 'created_at' => Yii::t('app', 'Дата добавления'),
221   - 'updated_at' => Yii::t('app', 'Дата обновления'),
222   - 'deleted_at' => Yii::t('app', 'Дата удаления'),
223   - 'deadline' => Yii::t('app', 'Дедлайн'),
224   - 'reason' => Yii::t('app', 'Причина'),
225   - 'check' => Yii::t('app', 'Чек'),
226   - 'sms' => Yii::t('app', 'СМС'),
227   - 'consignment' => Yii::t('app', 'Номер накладной'),
228   - 'manager_id' => Yii::t('app', 'Менеджер'),
229   - 'delivery_cost' => Yii::t('app', 'Стоимость доставки'),
230   - 'published' => Yii::t('app', 'Опубликован'),
  216 + 'name' => Yii::t('app', 'order_name'),
  217 + 'phone' => Yii::t('app', 'order_phone'),
  218 + 'phone2' => Yii::t('app', 'Конактный телефон 2'),
  219 + 'email' => Yii::t('app', 'E-mail'),
  220 + 'comment' => Yii::t('app', 'Комментарий '),
  221 + 'created_at' => Yii::t('app', 'Дата добавления'),
  222 + 'updated_at' => Yii::t('app', 'Дата обновления'),
  223 + 'deleted_at' => Yii::t('app', 'Дата удаления'),
  224 + 'deadline' => Yii::t('app', 'Дедлайн'),
  225 + 'reason' => Yii::t('app', 'Причина'),
  226 + 'check' => Yii::t('app', 'Чек'),
  227 + 'sms' => Yii::t('app', 'СМС'),
  228 + 'consignment' => Yii::t('app', 'Номер накладной'),
  229 + 'manager_id' => Yii::t('app', 'Менеджер'),
  230 + 'delivery_cost' => Yii::t('app', 'Стоимость доставки'),
  231 + 'published' => Yii::t('app', 'Опубликован'),
  232 + 'label' => Yii::t('app', 'Метка'),
  233 + 'declaration' => Yii::t('app', 'Номер декларации'),
  234 + 'delivery' => Yii::t('app', 'Способ доставки'),
  235 + 'total' => Yii::t('app', 'Сумма'),
  236 + 'adress' => Yii::t('app', 'Адрес'),
  237 + 'pay' => Yii::t('app', 'Оплата'),
  238 + 'body' => Yii::t('app', 'Комментарий менеджера'),
  239 + 'id' => Yii::t('app', 'Номер'),
  240 + 'stock' => Yii::t('app', 'Номер склада'),
  241 + 'payment' => Yii::t('app', 'Способ оплаты'),
  242 + 'insurance' => Yii::t('app', 'Страховка'),
  243 + 'amount_imposed' => Yii::t('app', 'Сумма наложенного'),
  244 + 'shipping_by' => Yii::t('app', 'Отправка за счет'),
  245 + 'city' => Yii::t('app', 'Город'),
  246 + 'numbercard' => Yii::t('app', '№ карточки'),
231 247 ];
232 248 }
233 249  
... ... @@ -273,8 +289,8 @@
273 289 */
274 290 public function getDeliveryString()
275 291 {
276   - if (!empty( $this->orderDelivery )) {
277   - if (!empty( $this->orderDelivery->parent )) {
  292 + if (!empty($this->orderDelivery)) {
  293 + if (!empty($this->orderDelivery->parent)) {
278 294 return $this->orderDelivery->parent->lang->title . ': ' . $this->orderDelivery->lang->title;
279 295 } else {
280 296 return $this->orderDelivery->lang->title;
... ... @@ -292,7 +308,7 @@
292 308 */
293 309 public function getWasted()
294 310 {
295   - if (empty( $this->deadline )) {
  311 + if (empty($this->deadline)) {
296 312 return false;
297 313 } else {
298 314 return time() > strtotime($this->deadline);
... ...
models/OrderProduct.php
... ... @@ -79,15 +79,17 @@
79 79 public function attributeLabels()
80 80 {
81 81 return [
82   - 'product_name' => Yii::t('app', 'product_name'),
  82 + 'product_name' => Yii::t('app', 'Наименование'),
83 83 'name' => Yii::t('app', 'op_name'),
84 84 'art' => Yii::t('app', 'art'),
85 85 'cost' => Yii::t('app', 'cost'),
86 86 'count' => Yii::t('app', 'count'),
87   - 'sum_cost' => Yii::t('app', 'sum_cost'),
  87 + 'sum_cost' => Yii::t('app', 'Сумма'),
88 88 'status' => Yii::t('app', 'Статус'),
89 89 'booking' => Yii::t('app', 'Бронь'),
90 90 'return' => Yii::t('app', 'Возврат'),
  91 + 'sku' => Yii::t('app', 'Артикул'),
  92 + 'price' => Yii::t('app', 'Цена'),
91 93 ];
92 94 }
93 95  
... ...
models/OrderSearch.php
... ... @@ -4,6 +4,7 @@
4 4  
5 5 use yii\base\Model;
6 6 use yii\data\ActiveDataProvider;
  7 + use yii\helpers\ArrayHelper;
7 8 use yii\helpers\VarDumper;
8 9  
9 10 /**
... ... @@ -75,8 +76,8 @@
75 76  
76 77 $dataProvider = new ActiveDataProvider(
77 78 [
78   - 'query' => $query,
79   - 'sort' => [ 'defaultOrder' => [ 'id' => SORT_DESC ] ],
  79 + 'query' => $query,
  80 + 'sort' => [ 'defaultOrder' => [ 'id' => SORT_DESC ] ],
80 81 'pagination' => [
81 82 'pageSize' => 50,
82 83 ],
... ... @@ -93,7 +94,7 @@
93 94 return $dataProvider;
94 95 }
95 96  
96   - if (!empty( $this->sku )) {
  97 + if (!empty($this->sku)) {
97 98 $query->innerJoinWith('products.productVariant')
98 99 ->andWhere(
99 100 [
... ... @@ -125,9 +126,17 @@
125 126 );
126 127 $query->andFilterWhere(
127 128 [
128   - 'like',
129   - 'phone',
130   - $this->phone,
  129 + 'or',
  130 + [
  131 + 'like',
  132 + 'phone',
  133 + $this->phone,
  134 + ],
  135 + [
  136 + 'like',
  137 + 'phone2',
  138 + $this->phone,
  139 + ],
131 140 ]
132 141 );
133 142 $query->andFilterWhere(
... ... @@ -168,7 +177,7 @@
168 177 'delivery' => $this->delivery,
169 178 ]
170 179 );
171   - if (!empty( $this->date_range )) {
  180 + if (!empty($this->date_range)) {
172 181 $this->date_from = strtotime(explode('to', $this->date_range)[ 0 ]);
173 182 $this->date_to = strtotime(explode('to', $this->date_range)[ 1 ]);
174 183  
... ... @@ -190,4 +199,13 @@
190 199  
191 200 return $dataProvider;
192 201 }
  202 +
  203 + public function attributeLabels()
  204 + {
  205 + $labels = [
  206 + 'sku' => \Yii::t('app', 'Артикул'),
  207 + ];
  208 +
  209 + return ArrayHelper::merge($labels, parent::attributeLabels());
  210 + }
193 211 }
... ...
views/category/_form.php
... ... @@ -39,10 +39,14 @@
39 39 )
40 40 ->label(Yii::t('product', 'Parent category')) ?>
41 41  
42   - <?php
43   - echo $form->field($model, 'sort');
44   - ?>
45   -
  42 + <?php
  43 + echo $form->field($model, 'sort');
  44 + ?>
  45 +
  46 + <?php
  47 + echo $form->field($model, 'sort2');
  48 + ?>
  49 +
46 50 <?= $form->field($model, 'image')
47 51 ->widget(
48 52 \kartik\file\FileInput::className(),
... ... @@ -85,7 +89,10 @@
85 89 'gif',
86 90 'png',
87 91 ],
88   - 'initialPreview' => !empty( $model->getImageUrl(1, false) ) ? ArtboxImageHelper::getImage(
  92 + 'initialPreview' => !empty( $model->getImageUrl(
  93 + 1,
  94 + false
  95 + ) ) ? ArtboxImageHelper::getImage(
89 96 $model->getImageUrl(1, false),
90 97 'list'
91 98 ) : '',
... ...
views/order/_form.php
... ... @@ -379,7 +379,27 @@ JS;
379 379 [
380 380 'class' => SerialColumn::className(),
381 381 ],
382   - 'sku',
  382 + [
  383 + 'attribute' => 'sku',
  384 + 'content' => function($model) {
  385 + return Html::a(
  386 + $model->sku,
  387 + '#',
  388 + [
  389 + 'onclick' => 'event.preventDefault();',
  390 + 'data-toggle' => 'popover',
  391 + 'data-placement' => 'right',
  392 + 'data-html' => 'true',
  393 + 'data-content' => Html::img(
  394 + $model->productVariant->imageUrl,
  395 + [
  396 + 'class' => 'img-rounded',
  397 + ]
  398 + ),
  399 + ]
  400 + );
  401 + },
  402 + ],
383 403 [
384 404 'attribute' => 'product_name',
385 405 'content' => function($model) {
... ... @@ -398,7 +418,10 @@ JS;
398 418 }
399 419 },
400 420 ],
401   - 'productVariant.product.brand.lang.title',
  421 + [
  422 + 'attribute' => 'productVariant.product.brand.lang.title',
  423 + 'label' => 'Брэнд',
  424 + ],
402 425 [
403 426 'attribute' => 'productVariant.lang.title',
404 427 'label' => \Yii::t('app', 'Цвет'),
... ... @@ -410,7 +433,10 @@ JS;
410 433 }
411 434 },
412 435 ],
413   - 'productVariant.size',
  436 + [
  437 + 'attribute' => 'productVariant.size',
  438 + 'label' => 'Размер',
  439 + ],
414 440 'price',
415 441 [
416 442 'class' => 'kartik\grid\EditableColumn',
... ... @@ -496,7 +522,7 @@ JS;
496 522 'pageSummary' => false,
497 523 ],
498 524 [
499   -// 'label' => \Yii::t('app', 'Склады'),
  525 + // 'label' => \Yii::t('app', 'Склады'),
500 526 'content' => function($model) {
501 527 $content = '<table class="table"><tbody><tr><th>Склад</th><th>кол.</th></tr>';
502 528 foreach ($model->productVariant->variantStocks as $stock) {
... ... @@ -607,7 +633,7 @@ JS;
607 633 ),
608 634 ],
609 635 ]
610   - );
  636 + )->label('Артикул');
611 637  
612 638 ?>
613 639 </div>
... ... @@ -625,7 +651,7 @@ JS;
625 651 </div>
626 652 <div class="col-md-2" style="margin-top: 23px">
627 653 <?php echo Html::submitButton(
628   - 'Add',
  654 + \Yii::t('app', 'Добавить'),
629 655 [
630 656 'class' => $model->isNewRecord ? 'btn btn-primary disabled' : 'btn btn-primary',
631 657 ]
... ...
views/order/index.php
... ... @@ -37,7 +37,7 @@ JS;
37 37 ?>
38 38 <h1>Заказы</h1>
39 39 <p>
40   - <?= Html::a('Add order', [ 'create' ], [ 'class' => 'btn btn-success' ]) ?>
  40 + <?= Html::a(\Yii::t('app', 'Добавить заказ'), [ 'create' ], [ 'class' => 'btn btn-success btn-lg' ]) ?>
41 41 </p>
42 42 <?php Pjax::begin(); ?>
43 43 <?php
... ... @@ -50,17 +50,21 @@ JS;
50 50 );
51 51 ?>
52 52  
53   -<p>
  53 +
54 54  
55 55 <?php echo Html::submitButton(
56   - 'Search',
  56 + \Yii::t('app', 'Искать'),
57 57 [
58 58 'class' => 'btn btn-primary',
59 59 ]
60 60 ) ?>
61 61  
62   -</p>
63   -<div class="row">
  62 +<?php echo Html::button(\Yii::t('app', 'Скрыть/Показать'), [
  63 + 'data-toggle' => 'collapse',
  64 + 'data-target' => '#search-fields',
  65 + 'class' => 'btn btn-default'
  66 +])?>
  67 +<div class="row collapse in" id="search-fields">
64 68 <div class="col-md-4">
65 69 <?php
66 70 echo $searchForm->field($searchModel, 'label')
... ... @@ -78,7 +82,7 @@ JS;
78 82 ->indexBy('id')
79 83 ->asArray()
80 84 ->column(),
81   - 'options' => [ 'placeholder' => 'Select a state ...' ],
  85 + 'options' => [ 'placeholder' => 'Выберите метки ...' ],
82 86 'pluginOptions' => [
83 87 'allowClear' => true,
84 88 'multiple' => true,
... ... @@ -97,7 +101,7 @@ JS;
97 101 ->indexBy('id')
98 102 ->asArray()
99 103 ->column(),
100   - 'options' => [ 'placeholder' => 'Select a state ...' ],
  104 + 'options' => [ 'placeholder' => 'Выберите способ доставки ...' ],
101 105 'pluginOptions' => [
102 106 'allowClear' => true,
103 107 'multiple' => true,
... ... @@ -261,7 +265,12 @@ JS;
261 265 }
262 266 },
263 267 ],
264   - 'phone',
  268 + [
  269 + 'attribute' => 'phone',
  270 + 'content' => function($model) {
  271 + return $model->phone . '<br>' . $model->phone2;
  272 + }
  273 + ],
265 274 [
266 275 'attribute' => 'adress',
267 276 'content' => function($model) {
... ...