Your IP : 216.73.216.79


Current Path : /var/www/html/crm/views/product/
Upload File :
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>&nbsp;&nbsp;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 = '&nbsp;&nbsp;<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'>
                                        &nbsp;&nbsp;<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>&nbsp;Back', ['index'], ['class' => 'btn btn-outline-brand']) ?>&nbsp;
                        <?=
                        Html::a('<i class="fas fa-sync"></i>&nbsp;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']);
                        ?>&nbsp;
                        <?= Html::submitButton('<i class="fas fa-paper-plane"></i>&nbsp;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>