Commit 19a97a72b7c0b19f8420f6608da943e0755f8185

Authored by Alexey Boroda
1 parent f8f0b405

-Finish what i begun!!!

@@ -5,13 +5,14 @@ @@ -5,13 +5,14 @@
5 use Yii; 5 use Yii;
6 use yii\behaviors\TimestampBehavior; 6 use yii\behaviors\TimestampBehavior;
7 use yii\db\ActiveRecord; 7 use yii\db\ActiveRecord;
8 - 8 +
9 /** 9 /**
10 * This is the model class for table "order". 10 * This is the model class for table "order".
11 * 11 *
12 * @property integer $id 12 * @property integer $id
13 * @property integer $user_id 13 * @property integer $user_id
14 * @property string $name 14 * @property string $name
  15 + * @property string $secondname
15 * @property string $phone 16 * @property string $phone
16 * @property string $email 17 * @property string $email
17 * @property string $city 18 * @property string $city
@@ -38,7 +39,7 @@ @@ -38,7 +39,7 @@
38 { 39 {
39 return 'order'; 40 return 'order';
40 } 41 }
41 - 42 +
42 public function behaviors() 43 public function behaviors()
43 { 44 {
44 return [ 45 return [
@@ -136,7 +137,7 @@ @@ -136,7 +137,7 @@
136 'created_at' => Yii::t('order', 'Created At'), 137 'created_at' => Yii::t('order', 'Created At'),
137 'updated_at' => Yii::t('order', 'Updated At'), 138 'updated_at' => Yii::t('order', 'Updated At'),
138 'deleted_at' => Yii::t('order', 'Deleted At'), 139 'deleted_at' => Yii::t('order', 'Deleted At'),
139 - 'secondname' => \Yii::t('order', 'Фамилия'), 140 + 'secondname' => \Yii::t('order', 'Фамилия'),
140 ]; 141 ];
141 } 142 }
142 143
@@ -179,7 +180,7 @@ @@ -179,7 +180,7 @@
179 { 180 {
180 return $this->hasMany(OrderProduct::className(), [ 'order_id' => 'id' ]); 181 return $this->hasMany(OrderProduct::className(), [ 'order_id' => 'id' ]);
181 } 182 }
182 - 183 +
183 public function getCustomer() 184 public function getCustomer()
184 { 185 {
185 return $this->hasOne(Customer::className(), [ 'id' => 'user_id' ]); 186 return $this->hasOne(Customer::className(), [ 'id' => 'user_id' ]);
models/OrderProduct.php
@@ -171,6 +171,7 @@ @@ -171,6 +171,7 @@
171 } 171 }
172 } 172 }
173 $orderProducts = array_merge($orderProducts, $newItems); 173 $orderProducts = array_merge($orderProducts, $newItems);
  174 +
174 foreach ($orderProducts as $orderProduct) { 175 foreach ($orderProducts as $orderProduct) {
175 $orderProduct->save(); 176 $orderProduct->save();
176 } 177 }
models/OrderSearch.php
@@ -21,7 +21,7 @@ @@ -21,7 +21,7 @@
21 return [ 21 return [
22 [ 22 [
23 [ 23 [
24 - 'id', 24 + // 'id',
25 'user_id', 25 'user_id',
26 'label_id', 26 'label_id',
27 ], 27 ],
@@ -30,6 +30,7 @@ @@ -30,6 +30,7 @@
30 [ 30 [
31 [ 31 [
32 'name', 32 'name',
  33 + 'secondname',
33 'phone', 34 'phone',
34 'email', 35 'email',
35 ], 36 ],
@@ -65,12 +66,7 @@ @@ -65,12 +66,7 @@
65 'count(*)', 66 'count(*)',
66 ] 67 ]
67 ) 68 )
68 - ->groupBy('order.id')  
69 - ->orderBy(  
70 - [  
71 - 'order.id' => SORT_DESC,  
72 - ]  
73 - ); 69 + ->groupBy('order.id');
74 70
75 // add conditions that should always apply here 71 // add conditions that should always apply here
76 72
@@ -78,16 +74,20 @@ @@ -78,16 +74,20 @@
78 [ 74 [
79 'query' => $query, 75 'query' => $query,
80 'sort' => [ 76 'sort' => [
81 - 'attributes' => [ 77 + 'attributes' => [
82 'count', 78 'count',
83 'id', 79 'id',
84 'user_id', 80 'user_id',
85 'name', 81 'name',
  82 + 'secondname',
86 'label_id', 83 'label_id',
87 'created_at', 84 'created_at',
88 'phone', 85 'phone',
89 'email', 86 'email',
90 ], 87 ],
  88 + 'defaultOrder' => [
  89 + 'created_at' => SORT_DESC,
  90 + ],
91 ], 91 ],
92 ] 92 ]
93 ); 93 );
@@ -103,7 +103,7 @@ @@ -103,7 +103,7 @@
103 // grid filtering conditions 103 // grid filtering conditions
104 $query->andFilterWhere( 104 $query->andFilterWhere(
105 [ 105 [
106 - 'id' => $this->id, 106 + // 'id' => $this->id,
107 'user_id' => $this->user_id, 107 'user_id' => $this->user_id,
108 'label_id' => $this->label_id, 108 'label_id' => $this->label_id,
109 'delivery_id' => $this->delivery_id, 109 'delivery_id' => $this->delivery_id,
@@ -117,13 +117,20 @@ @@ -117,13 +117,20 @@
117 117
118 $query->andFilterWhere( 118 $query->andFilterWhere(
119 [ 119 [
120 - 'like', 120 + 'ilike',
121 'name', 121 'name',
122 $this->name, 122 $this->name,
123 ] 123 ]
124 ) 124 )
125 ->andFilterWhere( 125 ->andFilterWhere(
126 [ 126 [
  127 + 'ilike',
  128 + 'secondname',
  129 + $this->secondname,
  130 + ]
  131 + )
  132 + ->andFilterWhere(
  133 + [
127 'like', 134 'like',
128 'phone', 135 'phone',
129 $this->phone, 136 $this->phone,
@@ -131,28 +138,28 @@ @@ -131,28 +138,28 @@
131 ) 138 )
132 ->andFilterWhere( 139 ->andFilterWhere(
133 [ 140 [
134 - 'like', 141 + 'ilike',
135 'email', 142 'email',
136 $this->email, 143 $this->email,
137 ] 144 ]
138 ) 145 )
139 ->andFilterWhere( 146 ->andFilterWhere(
140 [ 147 [
141 - 'like', 148 + 'ilike',
142 'city', 149 'city',
143 $this->city, 150 $this->city,
144 ] 151 ]
145 ) 152 )
146 ->andFilterWhere( 153 ->andFilterWhere(
147 [ 154 [
148 - 'like', 155 + 'ilike',
149 'address', 156 'address',
150 $this->address, 157 $this->address,
151 ] 158 ]
152 ) 159 )
153 ->andFilterWhere( 160 ->andFilterWhere(
154 [ 161 [
155 - 'like', 162 + 'ilike',
156 'comment', 163 'comment',
157 $this->comment, 164 $this->comment,
158 ] 165 ]
views/order/_form.php
@@ -58,43 +58,6 @@ @@ -58,43 +58,6 @@
58 ->dropDownList($payments) ?> 58 ->dropDownList($payments) ?>
59 59
60 <div class="order-product-container"> 60 <div class="order-product-container">
61 - <div id="order-product-pjax" style="position: relative;">  
62 - <div class="row strong">  
63 - <div class="col-md-4">  
64 - <?php  
65 - echo Html::tag('strong', \Yii::t('order', 'Product'));  
66 - ?>  
67 - </div>  
68 - <div class="col-md-4">  
69 - <?php  
70 - echo Html::tag('strong', \Yii::t('order', 'Price'));  
71 - ?>  
72 - </div>  
73 - <div class="col-md-4">  
74 - <?php  
75 - echo Html::tag('strong', \Yii::t('order', 'Count'));  
76 - ?>  
77 - </div>  
78 - </div>  
79 - <div id="product-rows">  
80 - <?php  
81 - if (!$model->isNewRecord) {  
82 - foreach ($model->orderProducts as $index => $orderProduct) {  
83 - echo $this->render(  
84 - '_order_product',  
85 - [  
86 - 'orderProduct' => $orderProduct,  
87 - 'price' => $orderProduct->price,  
88 - 'index' => $index,  
89 - 'variant' => $orderProduct->variant,  
90 - 'form' => $form,  
91 - ]  
92 - );  
93 - }  
94 - }  
95 - ?>  
96 - </div>  
97 - </div>  
98 <div class="row"> 61 <div class="row">
99 <div class="col-md-8"> 62 <div class="col-md-8">
100 <?php 63 <?php
@@ -155,6 +118,43 @@ @@ -155,6 +118,43 @@
155 ?> 118 ?>
156 </div> 119 </div>
157 </div> 120 </div>
  121 + <div class="row" id="order-product-pjax" style="position: relative;">
  122 + <div class="row strong">
  123 + <div class="col-md-4">
  124 + <?php
  125 + echo Html::tag('strong', \Yii::t('order', 'Product'));
  126 + ?>
  127 + </div>
  128 + <div class="col-md-4">
  129 + <?php
  130 + echo Html::tag('strong', \Yii::t('order', 'Price'));
  131 + ?>
  132 + </div>
  133 + <div class="col-md-4">
  134 + <?php
  135 + echo Html::tag('strong', \Yii::t('order', 'Count'));
  136 + ?>
  137 + </div>
  138 + </div>
  139 + <div id="product-rows">
  140 + <?php
  141 + if (!$model->isNewRecord) {
  142 + foreach ($model->orderProducts as $index => $orderProduct) {
  143 + echo $this->render(
  144 + '_order_product',
  145 + [
  146 + 'orderProduct' => $orderProduct,
  147 + 'price' => $orderProduct->price,
  148 + 'index' => $index,
  149 + 'variant' => $orderProduct->variant,
  150 + 'form' => $form,
  151 + ]
  152 + );
  153 + }
  154 + }
  155 + ?>
  156 + </div>
  157 + </div>
158 </div> 158 </div>
159 159
160 <div class="ln_solid"></div> 160 <div class="ln_solid"></div>
views/order/index.php
@@ -31,11 +31,9 @@ @@ -31,11 +31,9 @@
31 'dataProvider' => $dataProvider, 31 'dataProvider' => $dataProvider,
32 'filterModel' => $searchModel, 32 'filterModel' => $searchModel,
33 'columns' => [ 33 'columns' => [
34 - [ 'class' => 'yii\grid\SerialColumn' ],  
35 -  
36 'id', 34 'id',
37 - 'user_id',  
38 'name', 35 'name',
  36 + 'secondname',
39 'phone', 37 'phone',
40 'email:email', 38 'email:email',
41 [ 39 [