| Current Path : /var/www/html/crm/views/product/ |
| Current File : /var/www/html/crm/views/product/_form.php |
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use app\models\ParamList;
use app\models\Brand;
use app\models\Vendor;
use app\models\Product;
use app\models\ProductCategory;
use yii\helpers\ArrayHelper;
use yii\helpers\Url;
use app\models\Company;
/* @var $this yii\web\View */
/* @var $model app\models\Product */
/* @var $form yii\widgets\ActiveForm */
$ParamList = new ParamList();
$ProductCategory = new ProductCategory();
$optionstatus = false;
if (Yii::$app->controller->action->id == 'update')
$optionstatus = true;
?>
<div class="product-form">
<div class="kt-container kt-container--fluid kt-grid__item kt-grid__item--fluid">
<div class="kt-portlet kt-portlet--mobile">
<div class="kt-portlet__body kt-portlet__body--fit">
<div class="kt-portlet__head">
<div class="kt-portlet__head-label">
<span class="kt-font-info"><i class="fas fa-info-circle"></i> Field with <span class="required">*</span> is required</span>
</div>
</div>
<div class="kt-portlet__body">
<?php $form = ActiveForm::begin(['options' => ['class' => 'kt-form kt-form--label-right', 'enctype' => 'multipart/form-data']]); ?>
<?php $form->errorSummary($model); ?>
<div class="row">
<div class="col-4">
<div class='form-group-custom'>
<?php
$vendor_arr = Vendor::find()->where(['=', 'status', '1'])->orderBy(['name' => SORT_ASC])->all();
if (Yii::$app->controller->action->id == 'update')
$vendor_arr = Vendor::find()->orderBy(['name' => SORT_ASC])->all();
echo $form->field($model, 'vendor_id', [
'template' => "{label}<span class='required'>*</span>{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"])
->dropDownList(ArrayHelper::map($vendor_arr, 'id', 'name'), [
'prompt' => '- Please choose -', 'class' => 'form-control kt-selectpicker', 'data-live-search' => 'true',
'disabled' => $optionstatus]);
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?=
$form->field($model, 'com_id', [
'template' => "{label}<span class='required'>*</span>{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"])
->dropDownList(ArrayHelper::map(Company::find()->orderBy(['name' => SORT_ASC])->all(), 'id', 'name'), [
'prompt' => '- Please choose -', 'class' => 'form-control kt-selectpicker', 'data-live-search' => 'true', 'disabled' => $optionstatus]);
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?=
$form->field($model, 'cat_id', ['template' => "{label}<span class='required'>*</span>{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"])
->dropDownList($ProductCategory->getcategorylist('arr1', $level = 0, $parent = 0, $arr = [], $parentno = '', $parent_string = ''), [
'data-live-search' => 'true',
'class' => 'form-control kt-selectpicker',
'options' => $ProductCategory->getcategorylist('arr2', $level = 0, $parent = 0, $arr = [], $parentno = '', $parent_string = '')
]);
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?=
$form->field($model, 'brand_id', [
'template' => "{label}<span class='required'>*</span>{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"])
->dropDownList(ArrayHelper::map(Brand::find()->orderBy(['name' => SORT_ASC])->all(), 'id', 'name'), [
'prompt' => '- Please choose -',
'class' => 'form-control kt-selectpicker',
'data-live-search' => 'true', 'onchange' => "updateparent(this.value,'" . $model->id . "')"]);
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?=
$form->field($model, 'name', [
'template' => "{label}<span class='required'>*</span>{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"
])->textInput(['maxlength' => true]);
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?=
$form->field($model, 'sku', [
'template' => "{label}{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"
])->textInput(['maxlength' => true]);
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?=
$form->field($model, 'uom', [
'template' => "{label}<span class='required'>*</span>{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"])
->dropDownList($ParamList->getparamlist(9), ['class' => 'form-control kt-selectpicker']);
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?php
$productArr = [];
if (!empty($model->brand_id)) {
$query = Product::find()->where(['=', 'status', '1'])
->andwhere(['=', 'parent_id', '0'])
->andwhere(['=', 'brand_id', $model->brand_id]);
if (!empty($model->id))
$query->andwhere(['!=', 'id', $model->id]);
$productArr = ArrayHelper::map($query->orderBy(['name' => SORT_ASC])->all(), 'id', 'name');
}
echo $form->field($model, 'parent_id', [
'template' => "{label}{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"])
->dropDownList($productArr, [
'prompt' => '- Please choose -', 'class' => 'form-control kt-selectpicker', 'data-live-search' => 'true']);
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?=
$form->field($model, 'selling_price', ['template' =>
"{label}<span class='required'>*</span>
<div class='input-group'><div class='input-group-prepend'><span class='input-group-text'>MYR</span></div>{input}</div>
<span class='kt-font-danger font-weight-bold'>{error}</span>"])->textInput(['maxlength' => true]);
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?php
$logo_display = '';
if (!empty($model->photo) && Yii::$app->controller->action->id == 'update')
$logo_display = ' <a href="' . Url::base() . '/uploads/product/' . $model->photo . '" target="_blank">Click here to view current product image</a>';
echo $form->field($model, 'file', ['template' => "{label}
<span class='kt-font-info' data-toggle='tooltip' data-placement='right' data-html='true' title='Product Image must be either in png, jpg or jpeg with size below 500KB'>
<i class='fas fa-info-circle'></i>
</span>" . $logo_display . "
<div class='custom-file'>
{input}
<label class='custom-file-label text-left' for='customFile'></label>
</div>
<span class='kt-font-danger font-weight-bold'>{error}</span>"])->fileInput(['class' => 'custom-file-input'])
?>
</div>
</div>
<div class="col-4">
<div class='form-group-custom'>
<?=
$form->field($model, 'stock_alert', [
'template' => "{label}{input}<span class='kt-font-danger font-weight-bold'>{error}</span>"
])->textInput(['maxlength' => true]);
?>
</div>
</div>
<div class="col-12">
<div class='form-group-custom'>
<?= $form->field($model, 'descr', ['template' => "{label}{input}{error}"])->textarea(['rows' => 6]); ?>
</div>
</div>
</div>
</div>
<div class="kt-portlet__foot">
<div class="kt-form__actions">
<?= Html::a('<i class="fas fa-arrow-left"></i> Back', ['index'], ['class' => 'btn btn-outline-brand']) ?>
<?=
Html::a('<i class="fas fa-sync"></i> Reset', [Yii::$app->controller->action->id,
'uuid' => Yii::$app->getRequest()->getQueryParam('uuid'), 'copy_uuid' => Yii::$app->getRequest()->getQueryParam('copy_uuid')], ['class' => 'btn btn-outline-success']);
?>
<?= Html::submitButton('<i class="fas fa-paper-plane"></i> Submit', ['class' => 'btn btn-info']) ?>
</div>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>
</div>
<input type="hidden" value="<?= $model->id; ?>" id="product_id">
<script>
function updateparent(brand_id, product_id) {
if (brand_id !== '') {
$.ajax({
url: "index.php?r=product/getparentlist",
method: "POST",
data: {"brand_id": brand_id, "product_id": product_id},
success: function (response) {
$('#product-parent_id').find('option').not(':first').remove();
$("#product-parent_id").append(response);
$('#product-parent_id').selectpicker('refresh');
},
});
}
}
function generatesku() {
var company_id = $('#product-com_id').val();
var product_id = $('#product_id').val();
if (company_id !== '') {
$.ajax({
url: "index.php?r=product/getsku",
method: "POST",
data: {"company_id": company_id, "product_id": product_id},
success: function (response) {
$('#product-sku').val(response);
},
});
} else {
alert('Please choose company first!');
}
}
</script>