/** * Заготовка для отправки статуса с сообщением * * 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(); }
} }); \$('.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(); }
public function actionRequests() { return $this->render(['items' => \app\models\Shop\Request::query(['user_id' => \Yii::$app->user->id])->all()]); }
/** * @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()); }