/** * Save slice * * @return \Symfony\Component\HttpFoundation\RedirectResponse */ public function saveAction() { $response = $this->checkAuth([], ['customdelivery'], AccessManager::UPDATE); if (null !== $response) { return $response; } $this->checkXmlHttpRequest(); $responseData = ["success" => false, "message" => '', "slice" => null]; $messages = []; $response = null; $config = CustomDelivery::getConfig(); try { $requestData = $this->getRequest()->request; if (0 !== ($id = intval($requestData->get('id', 0)))) { $slice = CustomDeliverySliceQuery::create()->findPk($id); } else { $slice = new CustomDeliverySlice(); } if (0 !== ($areaId = intval($requestData->get('area', 0)))) { $slice->setAreaId($areaId); } else { $messages[] = $this->getTranslator()->trans('The area is not valid', [], CustomDelivery::MESSAGE_DOMAIN); } if ($config['method'] != CustomDelivery::METHOD_WEIGHT) { $priceMax = floatval($requestData->get('priceMax', 0)); if (0 != $priceMax) { $slice->setPriceMax($priceMax); } else { $messages[] = $this->getTranslator()->trans('The price max value is not valid', [], CustomDelivery::MESSAGE_DOMAIN); } } if ($config['method'] != CustomDelivery::METHOD_PRICE) { $weightMax = floatval($requestData->get('weightMax', 0)); if (0 != $weightMax) { $slice->setWeightMax($weightMax); } else { $messages[] = $this->getTranslator()->trans('The weight max value is not valid', [], CustomDelivery::MESSAGE_DOMAIN); } } $price = floatval($requestData->get('price', 0)); $slice->setPrice($price); if (0 === count($messages)) { $slice->save(); $messages[] = $this->getTranslator()->trans('Your slice has been saved', [], CustomDelivery::MESSAGE_DOMAIN); $responseData['success'] = true; $responseData['slice'] = $slice->toArray(TableMap::TYPE_STUDLYPHPNAME); } } catch (\Exception $e) { $message[] = $e->getMessage(); } $responseData['message'] = $messages; return $this->jsonResponse(json_encode($responseData)); }
/** * Exclude object from result * * @param ChildCustomDeliverySlice $customDeliverySlice Object to remove from the list of results * * @return ChildCustomDeliverySliceQuery The current query, for fluid interface */ public function prune($customDeliverySlice = null) { if ($customDeliverySlice) { $this->addUsingAlias(CustomDeliverySliceTableMap::ID, $customDeliverySlice->getId(), Criteria::NOT_EQUAL); } return $this; }