
$engineKey = $order->supplier->getSettingsValue('sent_engine', 'default');
$class = self::ENGINES[$engineKey];
return new $class;
}
}
detail-order/view.php
<?php
use yii\helpers\Html;
use yii\widgets\DetailView;
use app\models\DetailOrderItem;
/* @var $this yii\web\View */
/* @var $model app\models\DetailOrder */
$this->title = 'Заказ ' . $model->number;
$this->params['breadcrumbs'][] = ['label' => 'Список заказов', 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
$itemModel = new DetailOrderItem();
$itemModel->order_id = $model->id;
$receiveEngine = \app\models\engine\confirming\FactoryConfirmEngine::getEngine($model);
?>
<div class="detail-order-view">
<h1><?= Html::encode($this->title) ?></h1>
<p>
<?php if ($model->status === $model::STATUS_NEW) : ?>
<?= Html::a('Обновить', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
<?= Html::a('Отправить поставщику', ['send', 'id' => $model->id], ['class' => 'btn btn-primary',
'data' => [
'confirm' => 'Заказ будет отправлен поставщику и его нельзя будет изменить. Отправить?',
'method' => 'post',
]
]) ?>
<?= Html::a('Отменить заказ', ['cancel', 'id' => $model->id], ['class' => 'btn btn-danger',
'data' => [
'confirm' => 'Отменить этот заказ?',
'method' => 'post',
]
]) ?>
<?php endif; ?>
<?php if ($receiveEngine->isNeedShowConfirmationButton($model)) : ?>
<?= Html::a('Подтвердить количество', ['confirm', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
<?php endif; ?>
<?php if ($model->status === $model::STATUS_CONFIRMED) : ?>
<?= Html::a('Принять заказ', ['receive', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
<?php endif; ?>
<?= Html::a('Распечатать заказ', ['print', 'id' => $model->id], ['class' => 'btn btn-primary', 'target' =>
'_blank']) ?>
</p>
<?= DetailView::widget([
'model' => $model,
'attributes' => [
[
'label' => $model->attributeLabels()['supplier_id'],
'value' => $model->supplier->name