user->identity;
$js = <<< JS
$(document).on('submit', '#add-product-form', function(e) {
e.preventDefault();
var addFormData = $(this).serializeArray();
var addFormAction = this.action;
$.ajax({
url: addFormAction,
type: "POST",
data: addFormData,
success: function (data) {
if (data.status === "success") {
$.pjax.reload({container:"#order-products-grid"}); //Reload GridView
}
},
error: function () {
}
});
});
JS;
$this->registerJs($js, View::POS_READY);
$js = <<< JS
$('#order-phone, #order-phone2').mask('+38(000)000-00-00', {
placeholder: '+38(___)___-__-__'
});
JS;
$this->registerJs($js, View::POS_READY);
$js = <<< JS
$(document).on('change', '#sms-template-selector', function(event) {
var text = $('#select2-sms-template-selector-container').attr('title');
var val = $('option:contains(' + text + ')').attr('value');
$('#sms-text-area').val(val);
});
$(document).on('click', '#send-sms-action', function(event) {
var variant = $('input[name=send-phone]:checked').val();
var content = $('#sms-text-area').val();
if (variant == 1) {
var phone = $('input#order-phone').val();
} else if (variant == 2) {
var phone = $('input#order-phone2').val();
}
console.log(phone);
$.ajax({
url: "/admin/ecommerce/order/send-sms",
method: "POST",
data: {
phone: phone,
content: content
},
success: function(data) {
console.log(data);
var newButton = document.createElement('button');
newButton.classList.add('btn', 'btn-default');
newButton.innerText = 'Отправлено';
var current = document.getElementById("send-sms-action");
var parentDiv = current.parentNode;
parentDiv.replaceChild(newButton, current);
}
});
});
JS;
$this->registerJs($js, View::POS_READY);
$js = <<< JS
$(document).on('click', '#page-submit', function() {
$('#main-form').trigger('submit');
});
JS;
$this->registerJs($js, View::POS_READY);
?>
'main-form' ]); ?>
$dataProvider,
'rowOptions' => function($model) {
if ($model->removed) {
return [ 'class' => 'danger' ];
} else {
return [];
}
},
'layout' => '{items}{pager}',
'columns' => [
'id',
'sku',
'product_name',
'productVariant.product.brand.lang.title',
'productVariant.lang.title',
'price',
[
'class' => 'kartik\grid\EditableColumn',
'attribute' => 'count',
'editableOptions' => [
'header' => \Yii::t('app', 'Количество'),
'inputType' => kartik\editable\Editable::INPUT_SPIN,
'options' => [
'pluginOptions' => [
'min' => 0,
'max' => 5000,
],
],
'pluginEvents' => [
'editableSuccess' => 'function(event) { $.pjax.reload({container:"#order-products-grid"}); }',
],
],
'format' => [
'decimal',
0,
],
'pageSummary' => false,
],
'sum_cost',
[
'class' => 'kartik\grid\EditableColumn',
'attribute' => 'booking',
'editableOptions' => [
'header' => \Yii::t('app', 'Бронь'),
'inputType' => kartik\editable\Editable::INPUT_TEXT,
'options' => [
'class' => 'booking-typeahead',
'pluginOptions' => [
'min' => 0,
'max' => 20,
],
],
'pluginEvents' => [
'editableSuccess' => 'function(event) { $.pjax.reload({container:"#order-products-grid"}); }',
],
],
'format' => [
'text',
],
'pageSummary' => false,
],
[
'class' => 'kartik\grid\EditableColumn',
'attribute' => 'status',
'editableOptions' => [
'header' => \Yii::t('app', 'Статус'),
'inputType' => kartik\editable\Editable::INPUT_TEXT,
'options' => [
'class' => 'status-typeahead',
'pluginOptions' => [
'min' => 0,
'max' => 20,
],
],
'pluginEvents' => [
'editableSuccess' => 'function(event) { $.pjax.reload({container:"#order-products-grid"}); }',
],
],
'format' => [
'text',
],
'pageSummary' => false,
],
[
'class' => 'kartik\grid\EditableColumn',
'attribute' => 'return',
'editableOptions' => [
'header' => \Yii::t('app', 'Возврат'),
'inputType' => kartik\editable\Editable::INPUT_CHECKBOX,
'options' => [],
],
'format' => [
'boolean',
],
'pageSummary' => false,
],
[
'class' => 'yii\grid\ActionColumn',
'template' => '{delete}',
'buttons' => [
'delete' => function($url, $model) {
if ($model->removed) {
return '';
} else {
return Html::a(
Html::tag('span', '', [ 'class' => 'glyphicon glyphicon-trash' ]),
[
'delete-product',
'id' => $model->id,
],
[
'data' => [
'confirm' => 'Вы уверены, что хотите удалить этот элемент?',
'method' => 'POST',
],
]
);
}
},
],
],
],
'responsive' => true,
'hover' => true,
'pjax' => true,
'pjaxSettings' => [
'options' => [
'scrollTo' => 'false',
'id' => 'order-products-grid',
],
],
]
);
?>
yii\helpers\Url::to([ 'add' ]),
'id' => 'add-product-form',
]
);
$newOrderProduct = new OrderProduct();
?>
field($newOrderProduct, 'id')
->widget(
Select2::className(),
[
'options' => [ 'placeholder' => 'Search for a product ...' ],
'pluginOptions' => [
'allowClear' => true,
'disabled' => $model->isNewRecord ? true : false,
'minimumInputLength' => 3,
'language' => [
'errorLoading' => new JsExpression(
"function () { return 'Waiting for results...'; }"
),
],
'ajax' => [
'url' => \yii\helpers\Url::to([ 'find-product' ]),
'dataType' => 'json',
'data' => new JsExpression(
'function(params) { return {q:params.term}; }'
),
],
'escapeMarkup' => new JsExpression(
'function (markup) { return markup; }'
),
'templateResult' => new JsExpression(
'function(data) { return data.sku; }'
),
'templateSelection' => new JsExpression(
'function (data) { return data.sku; }'
),
],
]
);
?>
field(
$newOrderProduct,
'count'
)
->input(
'number',
[
'disabled' => $model->isNewRecord ? true : false,
]
); ?>
$model->isNewRecord ? 'btn btn-primary disabled' : 'btn btn-primary',
]
) ?>
field($newOrderProduct, 'order_id')
->hiddenInput(
[
'value' => $model->id,
]
)
->label(false) ?>
= Html::button(
$model->isNewRecord ? \Yii::t('app', 'Создать') : \Yii::t('app', 'Сохранить'),
[
'class' => $model->isNewRecord ? 'btn btn-success btn-lg' : 'btn btn-primary btn-lg',
'id' => 'page-submit',
]
) ?>
= Html::a(
\Yii::t('app', 'Печать'),
yii\helpers\Url::to(
[
'order/print',
'order_id' => $model->id,
]
),
[
'class' => $model->isNewRecord ? 'btn btn-info disabled btn-lg' : 'btn btn-info btn-lg',
'target' => '_blank',
]
) ?>
= Html::a(
\Yii::t('app', 'Выйти'),
yii\helpers\Url::to(
[
'exit-order',
'id' => $model->id,
]
),
[
'class' => $model->isNewRecord ? 'btn btn-info disabled btn-lg' : 'btn btn-info btn-lg',
]
) ?>