public function init() { $this->name = \Yii::t('v3toys/skeeks', 'Заказы'); $this->modelShowAttribute = "id"; $this->modelClassName = V3toysOrder::className(); parent::init(); }
<?php use yii\helpers\Html; use skeeks\cms\modules\admin\widgets\form\ActiveFormUseTab as ActiveForm; use skeeks\cms\models\Tree; /* @var $this yii\web\View */ /* @var $model \skeeks\cms\models\CmsLang */ $form = ActiveForm::begin(); ?> <?php echo $form->field($model, 'shipping_type')->listBox(\v3toys\skeeks\models\V3toysOrder::getShippingMethods(), ['size' => 1]); ?> <?php echo $form->field($model, 'name')->textInput(); ?> <?php echo $form->field($model, 'price'); ?> <?php echo $form->field($model, 'description')->textarea(); ?> <?php echo $form->buttonsStandart($model); ?> <?php ActiveForm::end();
* @link http://skeeks.com/ * @copyright 2010 SkeekS (СкикС) * @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()) { ?>
/** * Отправка новых заказов в v3toys */ public function actionSubmitNewOrders() { if ($orders = V3toysOrder::find()->where(['v3toys_order_id' => null])->andWhere(['>=', 'created_at', time() - 3600 * 24])->all()) { $totalOrders = count($orders); $this->stdout("Заказов к отправке в v3toys: {$totalOrders}\n", Console::BOLD); //Есть заказы к отрпавке /** * @var V3toysOrder $order */ foreach ($orders as $order) { $response = \Yii::$app->v3toysApi->createOrder($order->getApiRequestData()); if ($response->isError) { $message = "Заказ #{$order->id} не отправлен в апи: {$response->error_code} {$response->error_message}"; \Yii::error($message, V3toysModule::className()); $this->stdout("\t{$message}\n", Console::FG_RED); } if ($response->isOk) { $v3ToysOrderId = ArrayHelper::getValue((array) $response->data, 'order_id'); $order->v3toys_order_id = $v3ToysOrderId; if ($order->save()) { $this->stdout("Заказ отправлен в v3toys и получил #{$v3ToysOrderId}\n", Console::FG_GREEN); } else { $message = "Заказ отправлен в v3toys и получил #{$v3ToysOrderId}, но не сохранен в нашей базе\n"; \Yii::warning($message, V3toysModule::className()); $this->stdout($message, Console::FG_YELLOW); } } } } else { $this->stdout("Нет заказов к отправке в v3toys\n", Console::BOLD); } }
/** * @return string */ public function actionView() { $this->view->title = \Yii::t('skeeks/shop/app', 'Order') . ' | ' . \Yii::t('skeeks/shop/app', 'Shop'); return $this->render($this->action->id, ['model' => V3toysOrder::findOne(\Yii::$app->request->get('id'))]); }
/** * @return string */ public function actionGetPrices() { $rr = new RequestResponse(); $v3toysOrder = V3toysOrder::createCurrent(); $v3toysOrder->setAttributes(\Yii::$app->request->post('V3toysOrder'), false); $rr->success = true; $rr->data = ['money' => ArrayHelper::merge($v3toysOrder->money->jsonSerialize(), ['convertAndFormat' => \Yii::$app->money->convertAndFormat($v3toysOrder->money)]), 'moneyOriginal' => ArrayHelper::merge($v3toysOrder->moneyOriginal->jsonSerialize(), ['convertAndFormat' => \Yii::$app->money->convertAndFormat($v3toysOrder->moneyOriginal)]), 'moneyDelivery' => ArrayHelper::merge($v3toysOrder->moneyDelivery->jsonSerialize(), ['convertAndFormat' => \Yii::$app->money->convertAndFormat($v3toysOrder->moneyDelivery)]), 'moneyDiscount' => ArrayHelper::merge($v3toysOrder->moneyDiscount->jsonSerialize(), ['convertAndFormat' => \Yii::$app->money->convertAndFormat($v3toysOrder->moneyDiscount)])]; return $rr; }
/* @var $searchModel \skeeks\cms\models\Search */ /* @var $dataProvider yii\data\ActiveDataProvider */ $pjax = \yii\widgets\Pjax::begin(); ?> <?php /*echo $this->render('@skeeks/cms/views/admin-cms-content-element/_search', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'content_id' => $content_id, 'cmsContent' => $cmsContent, ]); */ ?> <?php echo \skeeks\cms\modules\admin\widgets\GridViewStandart::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'autoColumns' => false, 'pjax' => $pjax, 'adminController' => $controller, 'columns' => ['id', 'name', 'price', ['filter' => \v3toys\skeeks\models\V3toysOrder::getShippingMethods(), 'attribute' => 'shipping_type', 'value' => function (\v3toys\skeeks\models\V3toysShippingCity $v3toysShippingCity) { return $v3toysShippingCity->shippingTypeName; }]]]); ?> <?php $pjax::end(); ?> <?php \yii\bootstrap\Alert::begin(['options' => ['class' => 'alert-info']]); ?> <b>php yii v3toys/init/shipping-city</b> - используйте эту комманду для импорта статусов из api <?php \yii\bootstrap\Alert::end(); ?>