Commit 2de24e5dbb5f8089e4d86be303e7e562618bdb0e
1 parent
51413d10
-Feedback extended and sms log ready for test
Showing
2 changed files
with
38 additions
and
3 deletions
Show diff stats
models/Feedback.php
| ... | ... | @@ -2,6 +2,7 @@ |
| 2 | 2 | |
| 3 | 3 | namespace artweb\artbox\models; |
| 4 | 4 | |
| 5 | + use backend\models\User; | |
| 5 | 6 | use Yii; |
| 6 | 7 | use yii\behaviors\AttributeBehavior; |
| 7 | 8 | use yii\behaviors\TimestampBehavior; |
| ... | ... | @@ -14,10 +15,20 @@ |
| 14 | 15 | * @property string $name |
| 15 | 16 | * @property string $phone |
| 16 | 17 | * @property integer $created_at |
| 18 | + * @property integer $updated_at | |
| 17 | 19 | * @property string $ip |
| 20 | + * @property integer $status | |
| 21 | + * @property integer $manager_id | |
| 22 | + * @property User $manager | |
| 18 | 23 | */ |
| 19 | 24 | class Feedback extends ActiveRecord |
| 20 | 25 | { |
| 26 | + const STATUSES = [ | |
| 27 | + 0 => 'Новый', | |
| 28 | + 1 => 'Обрабатывается', | |
| 29 | + 2 => 'Нет ответа', | |
| 30 | + 3 => 'Завершен', | |
| 31 | + ]; | |
| 21 | 32 | |
| 22 | 33 | const SCENARIO_FEEDBACK = 'feedback'; |
| 23 | 34 | const SCENARIO_CALLBACK = 'callback'; |
| ... | ... | @@ -56,8 +67,7 @@ |
| 56 | 67 | { |
| 57 | 68 | return [ |
| 58 | 69 | [ |
| 59 | - 'class' => TimestampBehavior::className(), | |
| 60 | - 'updatedAtAttribute' => false, | |
| 70 | + 'class' => TimestampBehavior::className(), | |
| 61 | 71 | ], |
| 62 | 72 | [ |
| 63 | 73 | 'class' => AttributeBehavior::className(), |
| ... | ... | @@ -78,6 +88,10 @@ |
| 78 | 88 | { |
| 79 | 89 | return [ |
| 80 | 90 | [ |
| 91 | + [ 'status' ], | |
| 92 | + 'integer', | |
| 93 | + ], | |
| 94 | + [ | |
| 81 | 95 | [ |
| 82 | 96 | 'phone', |
| 83 | 97 | 'name', |
| ... | ... | @@ -111,6 +125,19 @@ |
| 111 | 125 | 'phone' => Yii::t('app', 'phone'), |
| 112 | 126 | 'created_at' => Yii::t('app', 'created_at'), |
| 113 | 127 | 'ip' => Yii::t('app', 'ip'), |
| 128 | + 'status' => Yii::t('app', 'status'), | |
| 129 | + 'manager_id' => Yii::t('app', 'manager'), | |
| 130 | + 'updated_at' => Yii::t('app', 'updated_at'), | |
| 114 | 131 | ]; |
| 115 | 132 | } |
| 133 | + | |
| 134 | + /** | |
| 135 | + * Manager wich first ecited status field | |
| 136 | + * | |
| 137 | + * @return \yii\db\ActiveQuery | |
| 138 | + */ | |
| 139 | + public function getManager() | |
| 140 | + { | |
| 141 | + return $this->hasOne(User::className(), [ 'id' => 'manager_id' ]); | |
| 142 | + } | |
| 116 | 143 | } | ... | ... |
models/FeedbackSearch.php
| ... | ... | @@ -46,13 +46,21 @@ |
| 46 | 46 | */ |
| 47 | 47 | public function search($params) |
| 48 | 48 | { |
| 49 | - $query = Feedback::find(); | |
| 49 | + $query = Feedback::find() | |
| 50 | + ->orderBy( | |
| 51 | + [ | |
| 52 | + 'created_at' => SORT_DESC, | |
| 53 | + ] | |
| 54 | + )->with('manager'); | |
| 50 | 55 | |
| 51 | 56 | // add conditions that should always apply here |
| 52 | 57 | |
| 53 | 58 | $dataProvider = new ActiveDataProvider( |
| 54 | 59 | [ |
| 55 | 60 | 'query' => $query, |
| 61 | + 'pagination' => [ | |
| 62 | + 'pageSize' => 50, | |
| 63 | + ], | |
| 56 | 64 | ] |
| 57 | 65 | ); |
| 58 | 66 | ... | ... |