From 1b36d9b1ab67a30463b1e3184e8d33f30f0f7da3 Mon Sep 17 00:00:00 2001 From: nobohan Date: Thu, 10 Jun 2021 10:06:23 +0200 Subject: [PATCH] household address: chain API call --- .../Resources/public/vuejs/_api/AddAddress.js | 2 +- .../public/vuejs/HouseholdAddress/App.vue | 31 ++++--------------- .../public/vuejs/HouseholdAddress/js/i18n.js | 3 +- .../vuejs/HouseholdAddress/store/index.js | 27 ++++++++-------- 4 files changed, 22 insertions(+), 41 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_api/AddAddress.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_api/AddAddress.js index 80586a42b..ddba5ebde 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_api/AddAddress.js +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_api/AddAddress.js @@ -91,7 +91,7 @@ const postAddress = (address) => { * @body Object - dictionary with changes to post */ const patchAddress = (id, body) => { - console.log('body', body); + const url = `/api/1.0/main/address/${id}.json`; return fetch(url, { method: 'PATCH', diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/App.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/App.vue index a194b092e..428a35914 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/App.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/App.vue @@ -38,22 +38,13 @@ export default { data() { return { householdId: window.householdId, - validFrom: new Date() + validFrom: new Date().toISOString().split('T')[0] } }, computed: { newAddress() { return this.$store.state.newAddress; }, - validFrom: { - set(value) { - console.log('value', value); - this.validFrom = value; - }, - get() { - return this.validFrom; - } - }, }, methods: { addNewAddress({ address, modal }) { @@ -82,21 +73,11 @@ export default { modal.showModal = false; }, addToHousehold() { - const householdId = this.householdId; - const addressId = this.$store.state.newAddress.address_id; - console.log(householdId); - console.log(addressId); - console.log(this.validFrom) - // TODO: Chainer l'ajout de la date puis l'ajout de l'addresse au ménage - this.$store.dispatch('addDateToAddress', { - addressId, - body: { - validFrom: {datetime: `${this.validFrom}T00:00:00+0100`} - } - } - ); - this.$store.dispatch('addAddressToHousehold', {householdId, addressId}); - + this.$store.dispatch('addDateToAddressAndAddressToHousehold', { + householdId: this.householdId, + addressId: this.$store.state.newAddress.address_id, + body: { validFrom: {datetime: `${this.validFrom}T00:00:00+0100`}} + }) } } }; diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/js/i18n.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/js/i18n.js index 3dae35221..1acce20c6 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/js/i18n.js +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/js/i18n.js @@ -4,7 +4,8 @@ const appMessages = { fr: { select_a_existing_address: 'Sélectionner une adresse existante', create_a_new_address: 'Créer une nouvelle adresse', - add_an_address_to_household: 'Ajouter l\'adresse au ménage' + add_an_address_to_household: 'Ajouter l\'adresse au ménage', + validFrom: 'Date du déménagement' } }; diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/store/index.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/store/index.js index 3246ceb44..abed045a6 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/store/index.js +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/store/index.js @@ -12,6 +12,7 @@ const store = createStore({ state: { newAddress: {}, household: {}, + validFrom: {}, errorMsg: [] }, getters: { @@ -46,24 +47,22 @@ const store = createStore({ commit('catchError', error); }); }, - addAddressToHousehold({ commit }, payload) { - console.log('@A addAddressToHousehold payload', payload); + addDateToAddressAndAddressToHousehold({ commit }, payload) { + console.log('@A addDateToAddressAndAddressToHousehold payload', payload); - postAddressToHousehold(payload.householdId, payload.addressId) - .then(household => new Promise((resolve, reject) => { - commit('addAddressToHousehold', household); - resolve(); - })) - .catch((error) => { - commit('catchError', error); - }); - }, - addDateToAddress({ commit }, payload) { - console.log('@A addAddressToHousehold payload', payload); patchAddress(payload.addressId, payload.body) .then(address => new Promise((resolve, reject) => { commit('addDateToAddress', address.validFrom); - resolve(); + resolve().then( + postAddressToHousehold(payload.householdId, payload.addressId) + .then(household => new Promise((resolve, reject) => { + commit('addAddressToHousehold', household); + resolve(); + })) + .catch((error) => { + commit('catchError', error); + }) + ); })) .catch((error) => { commit('catchError', error);