address: render address lines in vue AddressRenderBox

This commit is contained in:
nobohan
2022-01-06 21:15:56 +01:00
parent fd40ae0198
commit d14edd469e
4 changed files with 54 additions and 55 deletions

View File

@@ -50,7 +50,7 @@ class AddressRender implements ChillEntityRenderInterface
return $this->templating
->render('@ChillMain/Entity/address.html.twig', [
'address' => $addr,
'streetLine' => $this->renderStreetLine($addr), // TODO inutile?
'streetLine' => $this->renderStreetLine($addr),
'render' => $options['render'] ?? 'bloc',
'options' => $options,
'lines' => $this->renderLines($addr),
@@ -73,7 +73,7 @@ class AddressRender implements ChillEntityRenderInterface
$lines[] = $this->renderStreetLine($addr);
$lines[] = $this->renderDeliveryLine($addr);
$lines[] = $this->renderCityLine($addr);
$lines[] = $this->renderCountryLine($addr); // TODO only if != available country
$lines[] = $this->renderCountryLine($addr);
} else {
$lines[] = $this->renderBuildingLine($addr);
$lines[] = $this->renderDeliveryLine($addr);
@@ -99,6 +99,35 @@ class AddressRender implements ChillEntityRenderInterface
return $entity instanceof Address;
}
public function renderStreetLine($addr): ?string
{
if (!empty($addr->getStreet())) {
$street = $addr->getStreet();
} else {
$street = '';
}
if (!empty($addr->getStreetNumber())) {
$streetNumber = $addr->getStreetNumber();
} else {
$streetNumber = '';
}
$res = trim($street . ', ' . $streetNumber, ', ');
if (null !== $addr->getPostCode()->getCountry()->getCountryCode()) {
if ($addr->getPostCode()->getCountry()->getCountryCode() === 'FR') {
$res = trim($streetNumber . ', ' . $street, ', ');
}
}
if ((',' === $res) || ('' === $res)) {
$res = null;
}
return $res;
}
private function renderBuildingLine($addr): ?string
{
@@ -188,32 +217,4 @@ class AddressRender implements ChillEntityRenderInterface
return $res;
}
private function renderStreetLine($addr): ?string
{
if (!empty($addr->getStreet())) {
$street = $addr->getStreet();
} else {
$street = '';
}
if (!empty($addr->getStreetNumber())) {
$streetNumber = $addr->getStreetNumber();
} else {
$streetNumber = '';
}
$res = trim($street . ', ' . $streetNumber, ', ');
if (null !== $addr->getPostCode()->getCountry()->getCountryCode()) {
if ($addr->getPostCode()->getCountry()->getCountryCode() === 'FR') {
$res = trim($streetNumber . ', ' . $street, ', ');
}
}
if ((',' === $res) || ('' === $res)) {
$res = null;
}
return $res;
}
}