public function actionIndex() { self::checkEditable(); $productId = $_GET['product_id']; $productInfo = Product::model()->findByPk($_GET['product_id']); $this->breadcrumbs = array(Yii::t('Product', 'Back To Product List') => array('/product/index'), $productInfo->name . Yii::t('ProductModule', 'Edit Product Modules')); $selectedId = 0; $selectedParentId = 0; $addedModel = new ProductModule(); $addedModel->product_id = $productId; $addedModel->parent_id = 0; $addedModel->display_order = 0; $moduleOptionArr = ProductModuleService::getSelectModuleListOption($productId); if (isset($_GET['selected_id']) && 0 != $_GET['selected_id']) { $selectedId = $_GET['selected_id']; $editedModel = ProductModuleService::loadModel($selectedId); if ($editedModel->parent_id != null) { $selectedParentId = $editedModel->parent_id; } $addedModel->parent_id = $_GET['selected_id']; } else { $editedModel = new ProductModule(); } if (isset($_POST['ProductModule'])) { $returnJson = array(); $productModuleInfo = $_POST['ProductModule']; $productModuleInfo['product_id'] = $productId; //delete product module if (!empty($_POST['is_delete'])) { $editResult = ProductModuleService::deleteModule($_POST['ProductModule']['id']); } else { if (!empty($_POST['separate_as_product'])) { $editResult = ProductModuleService::separateModule($_POST['ProductModule']['id']); } else { if (isset($_POST['ProductModule']['id'])) { if (!empty($_POST['is_delete'])) { ProductModule::model()->findByPk($_POST['ProductModule']['id'])->delete(); } $editedModel->attributes = $_POST['ProductModule']; $productModuleInfo['add_owner_name'] = $productModuleInfo['owner_name']; } else { $addedModel->attributes = $_POST['ProductModule']; $productModuleInfo['owner_name'] = $productModuleInfo['add_owner_name']; if (!empty($_GET['selected_id'])) { $productModuleInfo['parent_id'] = $_GET['selected_id']; } else { $productModuleInfo['parent_id'] = 0; } } $editResult = ProductModuleService::editProductModule($productModuleInfo); } } $returnJson['status'] = $editResult['status']; if ($editResult['status'] == CommonService::$ApiResult['FAIL']) { if (isset($_POST['ProductModule']['id'])) { $editedModel->addErrors($editResult['detail']); $returnJson['formid'] = 'edit'; } else { $addedModel->addErrors($editResult['detail']); $returnJson['formid'] = 'add'; } $returnJson['detail'] = $editResult['detail']; } else { if (!empty($_POST['is_delete'])) { $returnJson['detail'] = Yii::t('ProductModule', 'Module deleted successfully'); } elseif (!empty($_POST['separate_as_product'])) { $returnJson['detail'] = Yii::t('ProductModule', 'Module separated as product successfully'); } elseif (isset($_POST['ProductModule']['id'])) { $returnJson['detail'] = Yii::t('ProductModule', 'Module edited successfully'); } else { $returnJson['detail'] = Yii::t('ProductModule', 'Module added successfully'); } } echo json_encode($returnJson); return; } $this->render('index', array('productId' => $productInfo->id, 'selectedId' => $selectedId, 'selectedParentId' => $selectedParentId, 'productName' => $productInfo->name, 'addedModel' => $addedModel, 'editedModel' => $editedModel, 'moduleOptionArr' => $moduleOptionArr)); }