/**
  * Заготовка для отправки статуса с сообщением
  *
  * REQUEST:
  * - text - string - текст сообщения
  *
  * @param int $id  идентификатор заказа gs_users_shop_requests.id
  * @param int $status  статус
  *
  * @return \yii\web\Response json
  */
 private function sendStatus($id, $status)
 {
     $text = self::getParam('text');
     $request = \app\models\Shop\Request::find($id);
     if ($request->getField('user_id') != Yii::$app->user->id) {
         return self::jsonErrorId(101, 'Это не ваш заказ');
     }
     $request->addStatusToShop(['message' => $text, 'status' => $status]);
     return self::jsonSuccess();
 }
Example #2
0
        }
    });

    \$('.rowTable').click(function() {
        window.location = '/admin/requests/' + \$(this).data('id');
    });
JS
);
?>

<div class="container">
    <h1 class="page-header">Заказы</h1>


    <?php 
echo \yii\grid\GridView::widget(['dataProvider' => new \yii\data\ActiveDataProvider(['query' => \app\models\Shop\Request::query()->innerJoin('gs_users', 'gs_users.id = bog_shop_requests.user_id')->select(['bog_shop_requests.*', 'gs_users.name_first as user_name_first', 'gs_users.avatar as user_avatar', 'gs_users.email as user_email', 'gs_users.name_last as user_name_last'])->orderBy(['last_message_time' => SORT_DESC]), 'pagination' => ['pageSize' => 50]]), 'tableOptions' => ['class' => 'table table-hover table-striped'], 'rowOptions' => function ($item) {
    return ['role' => 'button', 'data-id' => $item['id'], 'class' => 'rowTable'];
}, 'columns' => ['id', 'address:text:Адрес', 'phone:text:Телефон', ['header' => 'Пользоватль', 'content' => function ($model, $key, $index, $column) {
    $arr = [];
    $arr[] = $model['user_email'] . ' ' . $model['user_name_first'] . ' ' . $model['user_name_last'];
    return join('', $arr);
}], ['header' => 'Время создания', 'content' => function ($model, $key, $index, $column) {
    $v = \yii\helpers\ArrayHelper::getValue($model, 'date_create', 0);
    if ($v == 0) {
        return '';
    }
    return Html::tag('abbr', \cs\services\DatePeriod::back($v, ['isShort' => true]), ['class' => 'gsssTooltip', 'title' => Yii::$app->formatter->asDatetime($v)]);
}], ['header' => 'Время последнего ответа', 'content' => function ($model, $key, $index, $column) {
    $v = \yii\helpers\ArrayHelper::getValue($model, 'last_message_time', 0);
    if ($v == 0) {
        return '';
 /**
  * Заготовка для отправки статуса с сообщением
  *
  * REQUEST:
  * - text - string - текст сообщения
  *
  * @param int $id идентификатор заказа gs_users_shop_requests.id
  * @param int $status статус
  *
  * @return \yii\web\Response json
  */
 private function sendStatus($id, $status)
 {
     $text = self::getParam('text');
     $request = Request::find($id);
     $request->addStatusToClient(['message' => $text, 'status' => $status]);
     return self::jsonSuccess();
 }
Example #4
0
 public function actionRequests()
 {
     return $this->render(['items' => \app\models\Shop\Request::query(['user_id' => \Yii::$app->user->id])->all()]);
 }
Example #5
0
 /**
  * @param int $id request id
  * @return \yii\web\Response json
  */
 public function actionRequest_is_paid($id)
 {
     $request = \app\models\Shop\Request::find($id);
     if (is_null($request)) {
         return self::jsonErrorId(101, 'Не найден заказ');
     }
     Yii::info('check request->isPaid = ' . \yii\helpers\VarDumper::dumpAsString($request->isPaid()), 'bog\\\\app\\controllers\\SiteController::actionRequest_is_paid()');
     return self::jsonSuccess($request->isPaid());
 }