示例#1
0
 function upsellAction()
 {
     $model = new Upsell();
     // Uncomment the following line if AJAX validation is needed
     $this->performAjaxValidation($model);
     if (isset($_POST['model']) && $_POST['model'] == 'upsells' && isset($_POST['ajax'])) {
         $upsellID = AF::get($_POST, 'upsell_id');
         $parent_upsell_id = AF::get($_POST, 'parent_upsell_id');
         $answer = AF::get($_POST, 'answer');
         $productID = AF::get($_POST, 'product_id');
         $shippingID = AF::get($_POST, 'shipping_id');
         $campaign_id = AF::get($_POST, "campaign_id");
         $main_parent_product_id = AF::get($_POST, "main_parent_product_id");
         $product_replace = AF::get($_POST, "product_replace") ? AF::get($_POST, "product_replace") : 0;
         $url = AF::get($_POST, 'url');
         if (!$answer) {
             Message::echoJsonError(__('upsell_not_upsell_answer'));
         }
         //if(!$shippingID)
         //Message::echoJsonError(__('upsell_select_shipping'));
         if (!$parent_upsell_id) {
             if ($upsellID) {
                 $model->findByPk($upsellID);
                 if ($productID) {
                     $model->product_id = $productID;
                     $model->shipping_id = $shippingID;
                     $model->product_replace = $product_replace;
                     $model->url = $url;
                     if ($model->save()) {
                         Message::echoJsonSuccess(array('reload' => '1', 'message' => __('upsell_updated')));
                     } else {
                         Message::echoJsonError(__('upsell_not_updated'));
                     }
                 } else {
                     $campProdModel = new CampaignProduct();
                     $campProdModel->findByPk($answer);
                     $campProdModel->upsell_id = null;
                     if ($campProdModel->save()) {
                         $model->delete();
                         Message::echoJsonSuccess(array('reload' => '1', 'message' => __('upsell_updated')));
                     } else {
                         Message::echoJsonError(__('upsell_not_updated'));
                     }
                 }
             } else {
                 if (!$productID) {
                     Message::echoJsonError(__('upsell_select_product'));
                 }
                 $model->product_id = $productID;
                 $model->shipping_id = $shippingID;
                 $model->product_replace = $product_replace;
                 $model->url = $url;
                 if ($model->save()) {
                     $campProdModel = new CampaignProduct();
                     $campProdModel->findByPk($answer);
                     $campProdModel->upsell_id = $model->upsell_id;
                     if ($campProdModel->save()) {
                         Message::echoJsonSuccess(array('reload' => '1', 'message' => __('upsell_created')));
                     } else {
                         Message::echoJsonError(__('upsell_not_updated'));
                     }
                 } else {
                     Message::echoJsonError(__('upsell_not_updated'));
                 }
             }
         } elseif ($upsellID) {
             $model->findByPk($upsellID);
             if (!$productID) {
                 if ($model->delete()) {
                     $parentUpsellModel = new Upsell();
                     $parentUpsellModel->findByPk($parent_upsell_id);
                     $parentUpsellModel->setAnswer($answer, null);
                     $parentUpsellModel->save();
                     Message::echoJsonSuccess(__('upsell_not_deleted'));
                 } else {
                     Message::echoJsonError(__('upsell_not_updated'));
                 }
             } else {
                 $model->product_id = $productID;
                 $model->shipping_id = $shippingID;
                 $model->product_replace = $product_replace;
                 $model->url = $url;
                 if ($model->save()) {
                     Message::echoJsonSuccess(array('reload' => '1', 'message' => __('upsell_updated')));
                 } else {
                     Message::echoJsonError(__('upsell_not_updated'));
                 }
             }
         } else {
             // parent_upsell_id = 119, upsell_id = 0
             if (!$productID) {
                 Message::echoJsonError(__('upsell_select_product'));
             }
             $model->fillFromArray($_POST);
             if ($model->save()) {
                 $upsellModel = new Upsell();
                 $upsellModel->findByPk($parent_upsell_id);
                 $upsellModel->setAnswer($answer, $model->upsell_id);
                 if ($upsellModel->save()) {
                     Message::echoJsonSuccess(array('reload' => '1', 'message' => __('upsell_created')));
                 } else {
                     Message::echoJsonError(__('upsell_not_updated'));
                 }
             } else {
                 Message::echoJsonError(__('upsell_not_updated'));
             }
         }
         die;
     }
 }