Ejemplo n.º 1
0
 /**
  * @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;
 }
Ejemplo n.º 2
0
 /**
  * @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.');
 }