diff --git a/src/Bundle/ChillMainBundle/Entity/PostalCode.php b/src/Bundle/ChillMainBundle/Entity/PostalCode.php
index 61527e422..910245680 100644
--- a/src/Bundle/ChillMainBundle/Entity/PostalCode.php
+++ b/src/Bundle/ChillMainBundle/Entity/PostalCode.php
@@ -54,6 +54,13 @@ class PostalCode
*/
private $country;
+ /**
+ * @var integer
+ *
+ * @ORM\Column(name="origin", type="integer", nullable=true)
+ * @groups({"write", "read"})
+ */
+ private $origin = 0;
/**
* Get id
@@ -65,6 +72,32 @@ class PostalCode
return $this->id;
}
+
+ /**
+ * Set origin
+ *
+ * @param int $origin
+ *
+ * @return PostalCode
+ */
+ public function setOrigin($origin)
+ {
+ $this->origin = $origin;
+
+ return $this;
+ }
+
+ /**
+ * Get origin
+ *
+ * @return int
+ */
+ public function getOrigin()
+ {
+ return $this->origin;
+ }
+
+
/**
* Set name
*
diff --git a/src/Bundle/ChillMainBundle/Resources/public/scss/chillmain.scss b/src/Bundle/ChillMainBundle/Resources/public/scss/chillmain.scss
index cedc04e10..741dfb119 100644
--- a/src/Bundle/ChillMainBundle/Resources/public/scss/chillmain.scss
+++ b/src/Bundle/ChillMainBundle/Resources/public/scss/chillmain.scss
@@ -248,6 +248,9 @@ div.address_form {
display: flex;
flex-direction: column;
flex-grow: 1;
+ div.custom-address, div.custom-postcode {
+ padding: 12px;
+ }
}
div.address_form__select__map {
@@ -255,11 +258,19 @@ div.address_form {
div#address_map {
height:400px;
width:400px;
+ input {
+ border: 1px solid #999;
+ }
}
}
}
div.address_form__more {
-
+ & > div {
+ display: flex;
+ & > label {
+ width: 30%;
+ }
+ }
}
}
diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/App.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/App.vue
index 37dd6aba4..c0d3271ef 100644
--- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/App.vue
+++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/App.vue
@@ -8,16 +8,12 @@
@addNewAddress="addNewAddress">
+
-
- {{ address.text }}
-
-
- {{ address.postcode.name }}
-
-
- {{ address.country.name }}
-
+
+
@@ -49,11 +45,13 @@
diff --git a/src/Bundle/ChillMainBundle/Serializer/Normalizer/AddressNormalizer.php b/src/Bundle/ChillMainBundle/Serializer/Normalizer/AddressNormalizer.php
index 9cebddfa0..362ed7b26 100644
--- a/src/Bundle/ChillMainBundle/Serializer/Normalizer/AddressNormalizer.php
+++ b/src/Bundle/ChillMainBundle/Serializer/Normalizer/AddressNormalizer.php
@@ -15,9 +15,14 @@ class AddressNormalizer implements NormalizerAwareInterface, NormalizerInterface
{
$data['address_id'] = $address->getId();
$data['text'] = $address->getStreet().', '.$address->getStreetNumber();
+ $data['street'] = $address->getStreet();
+ $data['streetNumber'] = $address->getStreetNumber();
$data['postcode']['name'] = $address->getPostCode()->getName();
+ $data['postcode']['code'] = $address->getPostCode()->getCode();
$data['country']['name'] = $address->getPostCode()->getCountry()->getName();
+ $data['country']['code'] = $address->getPostCode()->getCountry()->getCountryCode();
$data['floor'] = $address->getFloor();
+ $data['corridor'] = $address->getCorridor();
$data['steps'] = $address->getSteps();
$data['flat'] = $address->getBuildingName();
$data['buildingName'] = $address->getFlat();
diff --git a/src/Bundle/ChillMainBundle/migrations/Version20210616134328.php b/src/Bundle/ChillMainBundle/migrations/Version20210616134328.php
new file mode 100644
index 000000000..c54f0a183
--- /dev/null
+++ b/src/Bundle/ChillMainBundle/migrations/Version20210616134328.php
@@ -0,0 +1,29 @@
+addSql('ALTER TABLE chill_main_postal_code ADD origin INT DEFAULT NULL');
+ }
+
+ public function down(Schema $schema): void
+ {
+ $this->addSql('ALTER TABLE chill_main_postal_code DROP origin');
+ }
+}
diff --git a/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php b/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php
index 7fc96e8b9..bd70a5ed4 100644
--- a/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php
+++ b/src/Bundle/ChillPersonBundle/Controller/HouseholdController.php
@@ -2,6 +2,7 @@
namespace Chill\PersonBundle\Controller;
+use Chill\MainBundle\Entity\Address;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
@@ -120,4 +121,26 @@ class HouseholdController extends AbstractController
]
);
}
+
+ /**
+ * @Route(
+ * "/{household_id}/address/edit",
+ * name="chill_person_household_address_edit",
+ * methods={"GET", "HEAD", "POST"}
+ * )
+ * @ParamConverter("household", options={"id" = "household_id"})
+ */
+ public function addressEdit(Request $request, Household $household)
+ {
+ // TODO ACL
+ //$address = $this->findAddressById($household, $address_id); //TODO
+
+
+ return $this->render('@ChillPerson/Household/address_edit.html.twig',
+ [
+ 'household' => $household,
+ //'address' => $address,
+ ]
+ );
+ }
}
diff --git a/src/Bundle/ChillPersonBundle/Controller/PersonAddressController.php b/src/Bundle/ChillPersonBundle/Controller/PersonAddressController.php
index f68e1ee9b..5dc6fea46 100644
--- a/src/Bundle/ChillPersonBundle/Controller/PersonAddressController.php
+++ b/src/Bundle/ChillPersonBundle/Controller/PersonAddressController.php
@@ -45,7 +45,7 @@ class PersonAddressController extends AbstractController
* @var ValidatorInterface
*/
protected $validator;
-
+
/**
* PersonAddressController constructor.
*
@@ -55,7 +55,7 @@ class PersonAddressController extends AbstractController
{
$this->validator = $validator;
}
-
+
public function listAction($person_id)
{
$person = $this->getDoctrine()->getManager()
diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/App.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/App.vue
index 0c989c310..e42564738 100644
--- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/App.vue
+++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/App.vue
@@ -8,12 +8,10 @@
-
- {{ newAddress.text }}
-
-
- {{ newAddress.postcode.name }}
-
+
+
@@ -45,14 +43,17 @@
+ {{ encore_entry_script_tags('household_address') }}
+ {% endblock %}
+
+{% endblock %}
diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Household/addresses.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Household/addresses.html.twig
index db682e6b1..fcc21765b 100644
--- a/src/Bundle/ChillPersonBundle/Resources/views/Household/addresses.html.twig
+++ b/src/Bundle/ChillPersonBundle/Resources/views/Household/addresses.html.twig
@@ -54,8 +54,10 @@
({{ address.postCode.country.name|localize_translatable_string }})
{% endif %}
+
{% endif %}
+
diff --git a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml
index cb4a5bfc7..922e43f24 100644
--- a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml
+++ b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml
@@ -185,6 +185,7 @@ Pick a person: Choisir une personne
No address given: Pas d'adresse renseignée
The address has been successfully updated: L'adresse a été mise à jour avec succès
Update address for %name%: Mettre à jour une adresse pour %name%
+Modify address for %name%: Modifier une adresse pour %name%
Addresses'history for %name%: Historique des adresses de %name%
Addresses'history: Historique des adresses
New address for %name% : Nouvelle adresse pour %name%