/** * @param ShipmentPersonalPoint|ShipmentCollectionPoint|null $shipment */ private function addAddressControls(ShipmentOption $shipment = null, ChoiceControl $typeControl = null) { $addressContainer = new AddressFormContainer(); $this->addComponent($addressContainer, 'address'); $defaultName = null; $defaultStreet = null; $defaultCity = null; $defaultZip = null; $defaultLongitude = null; $defaultLatitude = null; if ($shipment !== null) { $defaultName = $shipment->getName(); $defaultStreet = $shipment->getStreet(); $defaultCity = $shipment->getCity(); $defaultZip = $shipment->getZip(); $defaultLongitude = $shipment->getLongitude(); $defaultLatitude = $shipment->getLatitude(); } $addressContainer->addText('name', 'Name')->setDefaultValue($defaultName); $requiring = true; if ($typeControl !== null) { $requiring = function (TextInput $control) use($typeControl) { return $control->addConditionOn($typeControl, self::NOT_EQUAL, ShipmentType::BY_TRANSPORT_COMPANY); }; $typeControl->addCondition(self::NOT_EQUAL, ShipmentType::BY_TRANSPORT_COMPANY)->toggle('shipment-address'); } $addressContainer->addStreetControl('street', $defaultStreet, $requiring); $addressContainer->addCityControl('city', $defaultCity, $requiring); $addressContainer->addZipControl('zip', $defaultZip, $requiring); $addressContainer->addGpsControls('longitude', 'latitude', $defaultLongitude, $defaultLatitude); }
/** * @param ShipmentCollectionPoint|ShipmentPersonalPoint $shipment */ private function getAddressDescription(ShipmentOption $shipment) { $description = sprintf('%s %s %s', $shipment->getStreet(), $shipment->getCity(), $shipment->getZip()); if ($shipment->hasName()) { $description = sprintf('%s, %s', $shipment->getName(), $description); } return $description; }