/var/www/vhosts/nabawater/backend/controllers
NameSizeModeActions
ActivityLogController.php16500644editdlrm
AddressTypeController.php64660644editdlrm
AdminOrderReportController.php35920644editdlrm
AdminUserController.php125230644editdlrm
AdsController.php97430644editdlrm
AreaController.php70190644editdlrm
BannerController.php71000644editdlrm
BranchController.php339890644editdlrm
BranchReviewController.php22090644editdlrm
CashBackPromotionsController.php120510644editdlrm
CategoryController.php87950644editdlrm
CityController.php55180644editdlrm
CmsController.php60260644editdlrm
ConfigurationController.php105640644editdlrm
CountryController.php52340644editdlrm
CouponController.php152450644editdlrm
CuisineController.php82070644editdlrm
DashboardController.php58050644editdlrm
DeliveryAreaController.php75060644editdlrm
DeliveryboyController.php76620644editdlrm
DeliveryChargeSettingsController.php45560644editdlrm
DriverOrderController.php35850644editdlrm
EnquiryController.php25410644editdlrm
FaqController.php65710644editdlrm
IngredientController.php69540644editdlrm
ItemController.php341500644editdlrm
ItemImportController.php38480644editdlrm
ItemIngredientGroupController.php111050644editdlrm
ItemMappingController.php121600644editdlrm
ItemTypeController.php74450644editdlrm
LanguageController.php38470644editdlrm
LoginController.php16840644editdlrm
LoyalityPointController.php66550644editdlrm
MallProductController.php63980644editdlrm
MetaTagController.php50390644editdlrm
MobileTranslationController.php44510644editdlrm
NewsLetterController.php52070664editdlrm
NewsletterController.php52070644editdlrm
NewsletterSubscriberController.php17470644editdlrm
NotificationController.php83820644editdlrm
OrderController.php937130644editdlrm
OrderMallProductController.php76610644editdlrm
OrderParcelController.php27520644editdlrm
OrderReportController.php39040644editdlrm
ParcelItemTypeController.php43570644editdlrm
PromotionController.php67100644editdlrm
PushNotificationController.php29900644editdlrm
RatingController.php6230644editdlrm
RefundRequestController.php29640644editdlrm
reject-index.php429310644editdlrm
RejectedOrderReportController.php5660644editdlrm
ReportController.php422320644editdlrm
RoleController.php52300644editdlrm
SiteController.php3570644editdlrm
StockController.php20670644editdlrm
TaxController.php45680644editdlrm
TodaySpecialController.php74730644editdlrm
TopOrderItemReportController.php38660644editdlrm
TopupController.php46190644editdlrm
UnitController.php71150644editdlrm
UserController.php135660644editdlrm
UserLevelController.php37870644editdlrm
VendorBankController.php28800644editdlrm
VendorController.php244910644editdlrm
VendorOrderReportController.php51460644editdlrm
VendorPaymentController.php60940644editdlrm
VendorTypeController.php84280644editdlrm
WalletController.php17910644editdlrm
WalletTranscationController.php22820644editdlrm
WebpushNotificationController.php25630644editdlrm
Edit: /var/www/vhosts/nabawater/backend/controllers/ItemMappingController.php (12160B)
render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $searchModel->search(Yii::$app->request->queryParams) ] ); } /** * * @return string * * @Title("Create") */ public function actionCreate() { $model = new ItemMapping(); $modelGroup = new ItemMappingGroup; $post = Yii::$app->getRequest()->post(); if ($model->load($post) && $model->validate() && $modelGroup->load($post)) { if ($model->save()) { ItemMappingGroup::deleteAll(['item_mapping_id' => $model->getPrimaryKey()]); foreach ($model->getMappingType() as $mappingTypeKey => $mappingTypeValue) { if ($mappingTypeKey != $modelGroup::MAPPING_TYPE_INGREDIENT) { if (isset($modelGroup->item_ingredient_group_id[$mappingTypeKey]) && $modelGroup->item_ingredient_group_id[$mappingTypeKey][0] != '') { foreach ($modelGroup->item_ingredient_group_id[$mappingTypeKey] as $key => $value) { $modelMapping = new ItemMappingGroup(); $modelMapping->item_mapping_id = $model->getPrimaryKey(); $modelMapping->item_ingredient_group_id = $value; $modelMapping->mapping_type = $mappingTypeKey; if(!$modelMapping->save()) { echo'
';
                                    print_r($modelMapping->getErrors());
                                    exit;
                                }
                            }
                        }
                    } else {
                        if (isset($modelGroup->item_ingredient_group_id[$mappingTypeKey]) && $modelGroup->item_ingredient_group_id[$mappingTypeKey][0] != '') {
                            foreach (explode(',', $modelGroup->item_ingredient_group_id[$mappingTypeKey][0]) as $key => $value) {
                                $modelMapping                           = new ItemMappingGroup();
                                $modelMapping->item_mapping_id          = $model->getPrimaryKey();
                                $modelMapping->item_ingredient_group_id = $value;
                                $modelMapping->mapping_type             = $mappingTypeKey;
                                if (isset($post['ingredient_default']) && in_array($value, $post['ingredient_default'])) {
                                    $modelMapping->is_drink             = 1;
                                } else {
                                    $modelMapping->is_drink             = 0;
                                }
                                $modelMapping->save();
                            }
                        }
                    }
                }
            Com::successFlash('Created Successfully');                
            return $this->redirect(['index']);
            }
        }
        
        return $this->render('create', [
            'model' => $model,
            'modelGroup' => $modelGroup,
            'group_ids' => ''
        ]);
    }
    
    /**
     * 
     * @param type $id
     * @return string
     * 
     * @Title("Update")
     */
    public function actionUpdate($id)
    {
        $model = $this->findModel($id);
        $post = Yii::$app->getRequest()->post();
        $modelGroup = new ItemMappingGroup();
        foreach ($model->getMappingType() as $mappingTypeKey => $mappingTypeValue) {
            if ($mappingTypeKey != $modelGroup::MAPPING_TYPE_INGREDIENT) {
                $modelMap = ItemMappingGroup::find()->where(['item_mapping_id' => $model->getPrimaryKey(), 'mapping_type' => $mappingTypeKey])->one();
                if ($modelMap === null) {
                    $MapArr['item_ingredient_group_id'][$mappingTypeKey]        = '';
                } else {
                    $MapArr['item_ingredient_group_id'][$mappingTypeKey]        = $modelMap->item_ingredient_group_id;
                }
            } else {
                $modelMap = ItemMappingGroup::find()->select(['GROUP_CONCAT(item_ingredient_group_id) AS item_ingredient_group_id'])->where(['item_mapping_id' => $model->getPrimaryKey(), 'mapping_type' => $mappingTypeKey])->asArray()->one();
                if ($modelMap == null) {
                    $MapArr['item_ingredient_group_id'][$mappingTypeKey]        = '';
                } else {
                    $MapArr['item_ingredient_group_id'][$mappingTypeKey]        = $modelMap['item_ingredient_group_id'];
                }
            }
        }
        
        $modelGroup->item_ingredient_group_id = $MapArr['item_ingredient_group_id'];
        if ($model->load($post) && $model->validate() && $modelGroup->load($post)) {
            if ($model->save()) {           
                ItemMappingGroup::deleteAll(['item_mapping_id' => $model->getPrimaryKey()]);
                $ingredientGroup = array();
                foreach ($model->getMappingType() as $mappingTypeKey => $mappingTypeValue) {
                    if ($mappingTypeKey != $modelGroup::MAPPING_TYPE_INGREDIENT) {
                        if (isset($modelGroup->item_ingredient_group_id[$mappingTypeKey]) && $modelGroup->item_ingredient_group_id[$mappingTypeKey][0] != '') {
                            foreach ($modelGroup->item_ingredient_group_id[$mappingTypeKey] as $key => $value) {
                                $modelMapping = ItemMappingGroup::find()->where([
                                    'item_mapping_id'          => $model->getPrimaryKey(),
                                    'mapping_type'             => $mappingTypeKey,
                                    'item_ingredient_group_id' => $value,
                                ])->one();
                                if ($modelMapping === null) {
                                    $modelMapping                           = new ItemMappingGroup();
                                    $modelMapping->item_mapping_id          = $model->getPrimaryKey();
                                    $modelMapping->item_ingredient_group_id = $value;
                                    $modelMapping->mapping_type             = $mappingTypeKey;
                                }
                                $modelMapping->save();
                                array_push($ingredientGroup, $value);
                            }
                        }
                    } else {
                        if (isset($modelGroup->item_ingredient_group_id[$mappingTypeKey]) && $modelGroup->item_ingredient_group_id[$mappingTypeKey][0] != '') {
                            foreach (explode(',', $modelGroup->item_ingredient_group_id[$mappingTypeKey][0]) as $key => $value) {
                                $modelMapping = ItemMappingGroup::find()->where([
                                    'item_mapping_id'          => $model->getPrimaryKey(),
                                    'mapping_type'             => $mappingTypeKey,
                                    'item_ingredient_group_id' => $value,
                                ])->one();
                                if ($modelMapping === null) {
                                    $modelMapping                           = new ItemMappingGroup();
                                    $modelMapping->item_mapping_id          = $model->getPrimaryKey();
                                    $modelMapping->item_ingredient_group_id = $value;
                                    $modelMapping->mapping_type             = $mappingTypeKey;
                                }

                                if (isset($post['ingredient_default']) && in_array($value, $post['ingredient_default'])) {
                                    $modelMapping->is_drink             = 1;
                                } else {
                                    $modelMapping->is_drink             = 0;
                                }
                                $modelMapping->save();
                                array_push($ingredientGroup, $value);
                            }
                        }
                    }
                }
                Com::successFlash('Updated Successfully');                
                return $this->redirect(['index']);
            }
            
        }
        
        return $this->render('update', [
            'model' => $model,
            'modelGroup' => $modelGroup,
        ]);
    }

   
    /**
     * 
     * @param type $id
     * @return string
     * 
     * @Title("Delete")
     */
    public function actionDelete($id)
    {
        $model = $this->findModel($id);
        if ($model === null) {
            Com::failureFlash('Unable to find the Mapped Item');
            return $this->redirect(['index']);
        }
        
        $model->item_mapping_status = ItemMapping::DELETE;
        $model->save();
        Com::successFlash('Deleted Successfully');

        return $this->redirect(['index']);
    }
   
    /**
     * 
     * @param type $id
     * @return $model
     * @throws NotFoundHttpException
     */
    protected function findModel($id)
    {
        if (($model = ItemMapping::findOne(['item_mapping_key' => $id])) !== null) {
            return $model;
        } else {
            throw new NotFoundHttpException('The requested page does not exist.');
        }
    }
    
    /**
     * 
     * @return Json
     * @throws \yii\base\InvalidParamException
     * 
     * 
     * @Title("Item Mapping Status")
     */
    public function actionChangeStatus()
    {
        $params = ['key', 'status'];
        $post = Yii::$app->getRequest()->post();

        $result = ['status' => STATUS_FAIL, 'msg' => ''];
        foreach ($params as $param) {
            if (!array_key_exists($param, $post)) {
                $result['msg'] = 'Required param missing';
                goto skip;
            }
        }
        
        $model = ItemMapping::findOne(['item_mapping_key' => $post['key']]);
        if ($model === null) {
            $result['msg'] = 'Unable to find the Mapped Item';
            goto skip;
        }
        $model->item_mapping_status = $post['status'];
        $model->save(false);

        $result['msg'] = 'Mapped Item deactivated successfully';
        if ((int)$model->item_mapping_status === $model::ACTIVE) {
            $result['msg'] = 'Mapped Item activated successfully';
        }

        $result['status'] = STATUS_SUCCESS;

        skip:
        return $this->asJson($result);
    }

    public function actionGetDataVendorBased()
    {
        $post = Yii::$app->request->post();
        $result = ['status' => STATUS_FAIL, 'msg' => ''];

        $modelItem = Item::getVendorItemData($post['id']);
        //print_r($modelItem); die;
        $option = Html::tag('option', 'Please Select Item', ['value' => '']);
        
        foreach ($modelItem as $key => $value) {
            $option .= Html::tag('option', $value, ['value' => $key]);
        }
        $result['item'] = $option;
        $modelIm = ItemMapping::getGroups('', 'NOT IN', '', '', $post['id']);
        
        $result['html'] = $this->renderPartial('item_mapping_ajax',['ItemMapping' => $modelIm]);
        
        return $this->asJson($result);
    } 
}