/** * @param ShipmentCollectionPoint|ShipmentTransportCompany $shipment */ private function addPriceDescription(ShipmentOption $shipment, $description) { if ($shipment->getPrice() > 0) { $description = sprintf('%s (%s)', $description, $this->moneyHelper->formatPrice($shipment->getPrice())); } return $description; }
/** * @param ShipmentTransportCompany|ShipmentCollectionPoint|null $shipment */ private function addPriceControl(ShipmentOption $shipment = null, ChoiceControl $typeControl = null) { $errorMessage = 'Price must be positive number.'; $priceControl = $this->addText('price', 'Price'); $priceControl->setType('number')->setAttribute('step', 'any')->setDefaultValue(0)->addRule(self::FLOAT, $errorMessage)->addRule(function (TextInput $input) { return $input->getValue() >= 0; }, $errorMessage); if ($typeControl === null) { $requiredCondition = $priceControl; $priceControl->setDefaultValue($shipment->getPrice()); } else { $requiredCondition = $priceControl->addConditionOn($typeControl, self::NOT_EQUAL, ShipmentType::PERSONAL); $typeControl->addCondition(self::NOT_EQUAL, ShipmentType::PERSONAL)->toggle('shipment-price'); } $requiredCondition->setRequired('Please fill price.'); }