Пример #1
0
 /**
  * Инициализация возможных статусов заказов из api
  */
 public function actionOrderStatuses()
 {
     $response = \Yii::$app->v3toysApi->getStatus();
     if ($response->isError) {
         $this->stdout("Ошибка апи: {$response->error_message}\n", Console::FG_RED);
         return false;
     }
     if ($response->data) {
         $total = count($response->data);
         $this->stdout("Статусов в апи: {$total}\n", Console::BOLD);
         foreach ((array) $response->data as $statusData) {
             $name = ArrayHelper::getValue($statusData, 'title');
             $v3toys_id = ArrayHelper::getValue($statusData, 'id');
             if (V3toysOrderStatus::findOne(['v3toys_id' => $v3toys_id])) {
                 $this->stdout("\t {$name} - exist\n", Console::FG_YELLOW);
             } else {
                 $status = new V3toysOrderStatus();
                 $status->name = $name;
                 $status->v3toys_id = $v3toys_id;
                 if ($status->save()) {
                     $this->stdout("\t {$name} - added\n", Console::FG_GREEN);
                 } else {
                     $error = Json::encode($status->getFirstErrors());
                     $this->stdout("\t {$name} - not added: {$error}\n", Console::FG_RED);
                 }
             }
         }
     }
 }
Пример #2
0
 public function init()
 {
     $this->name = \Yii::t('v3toys/skeeks', 'Статусы заказов');
     $this->modelShowAttribute = "id";
     $this->modelClassName = V3toysOrderStatus::className();
     parent::init();
 }
Пример #3
0
 * @date 02.06.2015
 */
/* @var $this yii\web\View */
/* @var $searchModel \skeeks\cms\models\Search */
/* @var $dataProvider yii\data\ActiveDataProvider */
$pjax = \skeeks\cms\modules\admin\widgets\Pjax::begin();
?>

    <?php 
echo $this->render('_search', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]);
?>

    <?php 
echo \skeeks\cms\modules\admin\widgets\GridViewStandart::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'autoColumns' => false, 'pjax' => $pjax, 'adminController' => $controller, 'columns' => ['id', ['class' => \skeeks\cms\grid\CreatedAtColumn::className()], ['attribute' => 'user_id', 'class' => \skeeks\cms\grid\UserColumnData::className()], 'name', 'phone', 'email', ['attribute' => 'shipping_method', 'filter' => \v3toys\skeeks\models\V3toysOrder::getShippingMethods(), 'value' => function (\v3toys\skeeks\models\V3toysOrder $v3toysOrder) {
    return $v3toysOrder->deliveryName;
}], 'v3toys_order_id', ['attribute' => 'v3toys_status_id', 'filter' => \yii\helpers\ArrayHelper::map(\v3toys\skeeks\models\V3toysOrderStatus::find()->all(), 'v3toys_id', 'name'), 'value' => function (\v3toys\skeeks\models\V3toysOrder $v3toysOrder) {
    return $v3toysOrder->v3toys_status_id ? $v3toysOrder->status->name : null;
}], ['label' => 'К оплате', 'value' => function (\v3toys\skeeks\models\V3toysOrder $v3toysOrder) {
    return \Yii::$app->money->convertAndFormat($v3toysOrder->money);
}], ['label' => 'Скидка', 'value' => function (\v3toys\skeeks\models\V3toysOrder $v3toysOrder) {
    return \Yii::$app->money->convertAndFormat($v3toysOrder->moneyDiscount);
}], ['label' => 'Доставка', 'value' => function (\v3toys\skeeks\models\V3toysOrder $v3toysOrder) {
    return \Yii::$app->money->convertAndFormat($v3toysOrder->moneyDelivery);
}]]]);
?>

    <?php 
if ($dataProvider->query->count()) {
    ?>
        <?php 
    /**
Пример #4
0
}
if ($filter->q) {
    $dataProvider->query->andWhere(['or', ['like', 'id', $filter->q], ['like', 'name', $filter->q], ['like', 'email', $filter->q], ['like', 'phone', $filter->q], ['like', 'v3toys_order_id', $filter->q]]);
}
if ($filter->v3toys_statuses) {
    $dataProvider->query->andWhere(['v3toys_status_id' => $filter->v3toys_statuses]);
}
$form = \skeeks\cms\modules\admin\widgets\filters\AdminFiltersForm::begin(['action' => '/' . \Yii::$app->request->pathInfo]);
?>

    <?php 
echo $form->field($filter, 'q')->label('Поиск')->textInput(['placeholder' => 'Поиск по имени, телефону, email, номеру зкаказа'])->setVisible();
?>
    <?php 
echo $form->field($filter, 'id');
?>
    <?php 
echo $form->field($searchModel, 'name');
?>
    <?php 
echo $form->field($searchModel, 'phone');
?>
    <?php 
echo $form->field($searchModel, 'email');
?>
    <?php 
echo $form->field($filter, 'v3toys_statuses')->label('Статус')->widget(\skeeks\widget\chosen\Chosen::className(), ['multiple' => true, 'items' => \yii\helpers\ArrayHelper::map(\v3toys\skeeks\models\V3toysOrderStatus::find()->all(), 'v3toys_id', 'name')]);
?>

<?php 
$form::end();
Пример #5
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getStatus()
 {
     return $this->hasOne(V3toysOrderStatus::className(), ['v3toys_id' => 'v3toys_status_id']);
 }