diff --git a/models/Order.php b/models/Order.php index 7d76eca..1f24433 100755 --- a/models/Order.php +++ b/models/Order.php @@ -15,6 +15,7 @@ * @property integer $updated_at * @property integer $deleted_at * @property integer $deadline + * @property boolean $wasted * @property integer $reason * @property string $check * @property string $sms @@ -209,7 +210,7 @@ */ public function getOrderLabel() { - return $this->hasOne(Label::className(), [ 'id' => 'status' ]); + return $this->hasOne(Label::className(), [ 'id' => 'label' ]); } /** @@ -235,5 +236,18 @@ return ''; } } - + + /** + * If deadline is fucked up returns true, + * if deadline is not setted return false, like everything is ok + * @return bool + */ + public function getWasted() + { + if (empty($this->deadline)) { + return false; + } else { + return time() > $this->deadline; + } + } } \ No newline at end of file diff --git a/views/order/index.php b/views/order/index.php index bac5273..cc0d8e9 100755 --- a/views/order/index.php +++ b/views/order/index.php @@ -7,12 +7,14 @@ use artweb\artbox\ecommerce\models\Delivery; use artweb\artbox\ecommerce\models\Label; + use artweb\artbox\ecommerce\models\Order; use artweb\artbox\ecommerce\models\OrderSearch; use kartik\daterange\DateRangePicker; use kartik\select2\Select2; use yii\data\ActiveDataProvider; use yii\helpers\Html; - use yii\grid\GridView; + use kartik\grid\GridView; + use yii\helpers\StringHelper; use yii\helpers\Url; use yii\web\View; use yii\widgets\ActiveForm; @@ -60,11 +62,16 @@ JS; 'model' => $searchModel, 'attribute' => 'label', 'data' => Label::find() - ->joinWith('lang') - ->select(['CONCAT(order_label.label,order_label_lang.title) AS name', 'id']) - ->indexBy('id') - ->asArray() - ->column(), + ->joinWith('lang') + ->select( + [ + 'CONCAT(order_label.label,order_label_lang.title) AS name', + 'id', + ] + ) + ->indexBy('id') + ->asArray() + ->column(), 'options' => [ 'placeholder' => 'Select a state ...' ], 'pluginOptions' => [ 'allowClear' => true, @@ -94,47 +101,100 @@ JS; ); ?>

- $dataProvider, - 'filterModel' => $searchModel, - 'columns' => [ - [ - 'attribute' => 'id', - 'filter' => $searchForm->field($searchModel, 'id') - ->textInput(), - ], - [ - 'attribute' => 'created_at', - 'format' => 'date', - 'filter' => $searchForm->field($searchModel, 'date_range') - ->widget( - DateRangePicker::className(), - [ - 'convertFormat' => false, - 'pluginOptions' => [ - 'locale' => [ - 'format' => 'D-M-Y', - 'separator' => ' to ', + $dataProvider, + 'filterModel' => $searchModel, + 'rowOptions' => function($model) { + if ($model->wasted) { + return [ 'class' => 'danger' ]; + } else { + return []; + } + }, + 'columns' => [ + [ + 'attribute' => 'id', + 'filter' => $searchForm->field($searchModel, 'id') + ->textInput(), + ], + [ + 'attribute' => 'created_at', + 'format' => 'date', + 'filter' => $searchForm->field($searchModel, 'date_range') + ->widget( + DateRangePicker::className(), + [ + 'convertFormat' => false, + 'pluginOptions' => [ + 'locale' => [ + 'format' => 'D-M-Y', + 'separator' => ' to ', + ], + 'opens' => 'left', ], - 'opens' => 'left', - ], - ] - ) - ->label(false) - ->render(), - ], - 'name', - 'phone', - 'status', - [ - 'class' => 'yii\grid\ActionColumn', + ] + ) + ->label(false) + ->render(), + ], + [ + 'attribute' => 'deadline', + 'content' => function($model) { + if ($model->deadline == ''){ + return ''; + } else { + return \Yii::$app->formatter->asDate($model->deadline); + } + } + ], + 'name', + 'total', + [ + 'attribute' => 'pay', + 'content' => function($model) { + if ($model->pay == false) { + return ''; + } else { + return ''; + } + }, + ], + 'phone', + 'adress', + [ + 'attribute' => 'label', + 'value' => function($model) { + /** + * @var Order $modl + */ + if (empty( $model->orderLabel )) { + return '--'; + } else { + return $model->orderLabel->label; + } + }, + ], + + [ + 'attribute' => 'body', + 'content' => function($model) { + if (!empty( $model->body )) { + return StringHelper::truncate($model->body, 8, '...'); + } else { + return ''; + } + }, + ], + 'sms', + [ + 'class' => 'yii\grid\ActionColumn', + ], ], - ], - ] - ); -?> + ] + ); + ?>