From 9f77b84e483732d284728b208a80823f2bc07212 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Sat, 7 Aug 2021 15:47:38 +0200 Subject: [PATCH 01/17] prepare to merge HouseholdAddress in Address: split api.js files --- .../Resources/public/vuejs/Address/api.js | 26 ------------------ .../vuejs/Address/components/AddAddress.vue | 9 +++---- .../api.js => _api/AddAddress/Household.js} | 0 .../public/vuejs/_api/AddAddress/Person.js | 27 +++++++++++++++++++ .../ChillPersonBundle/chill.webpack.config.js | 8 +++--- 5 files changed, 36 insertions(+), 34 deletions(-) rename src/Bundle/ChillPersonBundle/Resources/public/vuejs/{HouseholdAddress/api.js => _api/AddAddress/Household.js} (100%) create mode 100644 src/Bundle/ChillPersonBundle/Resources/public/vuejs/_api/AddAddress/Person.js diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/api.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/api.js index 5a991b57c..e4ed78f35 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/api.js +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/api.js @@ -125,31 +125,6 @@ const postPostalCode = (postalCode) => { }); }; -/* -* Endpoint chill_api_single_person_address -* method POST, post Person instance -* -* @id integer - id of Person -* @body Object - dictionary with changes to post -*/ -const postAddressToPerson = (personId, addressId) => { - //console.log(personId); - //console.log(addressId); - const body = { - 'id': addressId - }; - const url = `/api/1.0/person/person/${personId}/address.json` - return fetch(url, { - method: 'POST', - headers: {'Content-Type': 'application/json;charset=utf-8'}, - body: JSON.stringify(body) - }) - .then(response => { - if (response.ok) { return response.json(); } - throw Error('Error with request resource response'); - }); -}; - /* * Endpoint chill_api_single_address__index * method GET, get Address Object @@ -174,6 +149,5 @@ export { postAddress, patchAddress, postPostalCode, - postAddressToPerson, getAddress }; diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue index be5e7038a..94eb32e0c 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue @@ -117,13 +117,12 @@ diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Address/_insert_vue_address.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Address/_insert_vue_address.html.twig index 17c111e06..aa7180b74 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Address/_insert_vue_address.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Address/_insert_vue_address.html.twig @@ -1,38 +1,73 @@ -
{# <== vue_address component #} +{# + This Twig template include load vue_address component. + It push all variables from context in Address/App.vue. + + OPTIONS + * mode string ['edit*'|'new'|'create'] + * address_id integer + * backUrl twig route: path('route', {parameters}) + * modalTitle twig translated chain + * buttonText twig translated chain + * buttonType chill class like 'btn-update' + * buttonSize bootstrap class like 'btn-sm' + +#} +
{{ encore_entry_script_tags('vue_address') }} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Address/edit.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Address/edit.html.twig index 898ba91a6..bc527a899 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Address/edit.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Address/edit.html.twig @@ -28,8 +28,8 @@ {# include vue_address component #} {% include '@ChillPerson/Address/_insert_vue_address.html.twig' with { - address_id: person.lastAddress.id, mode: 'edit', + address_id: person.lastAddress.id, binModalStep1: false, binModalStep2: false, } %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig index e6b173e14..55f3d8176 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig @@ -28,7 +28,6 @@ {# include vue_address component #} {% include '@ChillPerson/Address/_insert_vue_address.html.twig' with { - address_id: person.lastAddress.id, mode: 'new', binModalStep1: false, binModalStep2: false, diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Household/address_edit.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Household/address_edit.html.twig index ea6d37e02..d48351c58 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Household/address_edit.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Household/address_edit.html.twig @@ -7,21 +7,12 @@
{# include vue_address component #} -
+ {% include '@ChillPerson/Address/_insert_vue_address.html.twig' with { + mode: 'edit', + address_id: household.lastAddress.id, + binModalStep1: false, + binModalStep2: false, + } %}
- {% block stylesheets %} - {{ encore_entry_link_tags('vue_address') }} - {% endblock %} - - {% block js %} - - {{ encore_entry_script_tags('vue_household_address') }} - {% endblock %} - {% endblock %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Household/address_move.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Household/address_move.html.twig index 3dce5b551..da3665d32 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Household/address_move.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Household/address_move.html.twig @@ -7,19 +7,11 @@
{# include vue_address component #} -
+ {% include '@ChillPerson/Address/_insert_vue_address.html.twig' with { + mode: 'new', + binModalStep1: false, + binModalStep2: false, + } %}
- {% block stylesheets %} - {{ encore_entry_link_tags('vue_address') }} - {% endblock %} - - {% block js %} - - {{ encore_entry_script_tags('vue_household_address') }} - {% endblock %} - {% endblock %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Person/view.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Person/view.html.twig index 53166ab9e..749750b67 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Person/view.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Person/view.html.twig @@ -202,9 +202,9 @@ This view should receive those arguments:
  • {# include vue_address component #} {% include '@ChillPerson/Address/_insert_vue_address.html.twig' with { + mode: 'edit', address_id: person.lastAddress.id, backUrl: path('chill_person_view', { 'person_id': person.id }), - mode: 'edit', modalTitle: 'Edit address', buttonText: 'Edit address', buttonType: 'btn-update', From e178183cef66d5c39c15076e4b3455678d381e20 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Sat, 7 Aug 2021 18:50:10 +0200 Subject: [PATCH 03/17] corrections + details --- .../Resources/public/vuejs/Address/App.vue | 7 ++ .../vuejs/Address/components/AddAddress.vue | 101 +++++++++--------- .../vuejs/Address/components/ShowAddress.vue | 8 +- .../Resources/views/Address/list.html.twig | 1 - .../views/Household/addresses.html.twig | 11 +- 5 files changed, 71 insertions(+), 57 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/App.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/App.vue index af8f9fa34..f89ccaa15 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/App.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/App.vue @@ -28,6 +28,13 @@ - - diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/components/SelectHouseholdAddress.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/components/SelectHouseholdAddress.vue deleted file mode 100644 index 74ce14c3c..000000000 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/components/SelectHouseholdAddress.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/index.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/index.js deleted file mode 100644 index e7a73238d..000000000 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/index.js +++ /dev/null @@ -1,25 +0,0 @@ -import { createApp } from 'vue' -import { _createI18n } from 'ChillMainAssets/vuejs/_js/i18n' -import { appMessages } from './js/i18n' -import { store } from './store' - -import App from './App.vue'; - -const root = window.vueRootComponent; - -/* -* Load all App component, for Household edition page -*/ - -const i18n = _createI18n(appMessages); - -const app = createApp({ - template: ``, -}) -.use(store) -.use(i18n) -.component('app', App) -.mount('#household-address'); - - - diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/js/i18n.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/js/i18n.js deleted file mode 100644 index f7ee56e02..000000000 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/js/i18n.js +++ /dev/null @@ -1,21 +0,0 @@ -import { addressMessages } from 'ChillMainAssets/vuejs/Address/js/i18n' - -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: 'Enregistrer', - validFrom: 'Date du déménagement', - move_date: 'Date du déménagement', - back_to_the_list: 'Retour à la liste', - household_address_move_success: 'La nouvelle adresse du ménage est enregistrée', - household_address_edit_success: 'L\'adresse du ménage a été mise à jour', - loading: 'chargement en cours...' - } -}; - -Object.assign(appMessages.fr, addressMessages.fr); - -export { - appMessages -}; diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/store/index.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/store/index.js deleted file mode 100644 index 9a3e4b866..000000000 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/HouseholdAddress/store/index.js +++ /dev/null @@ -1,160 +0,0 @@ -import 'es6-promise/auto'; -import { createStore } from 'vuex'; - -import { postAddress, postPostalCode, patchAddress, getAddress } from 'ChillMainAssets/vuejs/Address/api'; -import { postAddressToHousehold } from '../api'; - -const debug = process.env.NODE_ENV !== 'production'; - -const store = createStore({ - strict: debug, - state: { - newAddress: {}, - editAddress: {}, //TODO or should be newAddress? - household: {}, - validFrom: {}, - errorMsg: [], - loading: false, - success: false - }, - getters: { - }, - mutations: { - catchError(state, error) { - state.errorMsg.push(error); - }, - addAddress(state, address) { - console.log('@M addAddress address', address); - state.newAddress = address; - }, - updateAddress(state, address) { - console.log('@M updateAddress address', address); - state.newAddress = address; - }, - addAddressToHousehold(state, household) { - console.log('@M addAddressToHousehold household', household); - state.household = household; - }, - addDateToAddress(state, validFrom) { - console.log('@M addDateToAddress address.validFrom', validFrom); - state.validFrom = validFrom; - }, - getEditAddress(state, address) { - console.log('@M getEditAddress address', address); - state.editAddress = address; - }, - setLoading(state, b) { - state.loading = b; - }, - setSuccess(state, b) { - state.success = b; - } - }, - actions: { - addAddress({ commit }, payload) { - console.log('@A addAddress payload', payload); - commit('setLoading', true); - if('newPostalCode' in payload){ - postPostalCode(payload.newPostalCode) - .then(postalCode => { - let body = payload; - body.postcode = {'id': postalCode.id }, - postAddress(body) - .then(address => new Promise((resolve, reject) => { - commit('addAddress', address); - resolve(); - commit('setLoading', false); - })) - .catch((error) => { - commit('catchError', error); - commit('setLoading', false); - }); - }) - - } else { - postAddress(payload) - .then(address => new Promise((resolve, reject) => { - commit('addAddress', address); - resolve(); - commit('setLoading', false); - })) - .catch((error) => { - commit('catchError', error); - commit('setLoading', false); - }); - } - }, - addDateToAddressAndAddressToHousehold({ commit }, payload) { - console.log('@A addDateToAddressAndAddressToHousehold payload', payload); - commit('setLoading', true); - patchAddress(payload.addressId, payload.body) - .then(address => new Promise((resolve, reject) => { - commit('addDateToAddress', address.validFrom); - resolve(); - }).then( - postAddressToHousehold(payload.householdId, payload.addressId) - .then(household => new Promise((resolve, reject) => { - commit('addAddressToHousehold', household); - commit('setSuccess', true); - commit('setLoading', false); - window.location.assign(payload.backUrl); - resolve(); - })) - .catch((error) => { - commit('catchError', error); - commit('setLoading', false); - }) - )) - .catch((error) => { - commit('catchError', error); - commit('setLoading', false); - }); - }, - updateAddress({ commit }, payload) { - console.log('@A updateAddress payload', payload); - - if('newPostalCode' in payload.newAddress){ // TODO change the condition because it writes new postal code in edit mode now: !writeNewPostalCode - let postalCodeBody = payload.newAddress.newPostalCode; - postalCodeBody = Object.assign(postalCodeBody, {'origin': 3}); - postPostalCode(postalCodeBody) - .then(postalCode => { - let body = payload.newAddress; - body.postcode = {'id': postalCode.id }, - patchAddress(payload.addressId, body) - .then(address => new Promise((resolve, reject) => { - commit('updateAddress', address); - commit('setSuccess', true); - resolve(); - })) - .catch((error) => { - commit('catchError', error); - }); - }) - - } else { - patchAddress(payload.addressId, payload.newAddress) - .then(address => new Promise((resolve, reject) => { - commit('updateAddress', address); - commit('setSuccess', true); - resolve(); - })) - .catch((error) => { - commit('catchError', error); - }); - } - }, - getEditAddress({ commit }, payload) { - console.log('@A getEditAddress payload', payload); - - getAddress(payload).then(address => new Promise((resolve, reject) => { - commit('getEditAddress', address); - resolve(); - })) - .catch((error) => { - commit('catchError', error); - }); - }, - } -}); - -export { store }; diff --git a/src/Bundle/ChillPersonBundle/chill.webpack.config.js b/src/Bundle/ChillPersonBundle/chill.webpack.config.js index df2d89245..42da38268 100644 --- a/src/Bundle/ChillPersonBundle/chill.webpack.config.js +++ b/src/Bundle/ChillPersonBundle/chill.webpack.config.js @@ -8,9 +8,6 @@ module.exports = function(encore, entries) ChillPersonAssets: __dirname + '/Resources/public' }); - // will disappear - //encore.addEntry('vue_household_address', __dirname + '/Resources/public/vuejs/HouseholdAddress/index.js'); - encore.addEntry('vue_household_members_editor', __dirname + '/Resources/public/vuejs/HouseholdMembersEditor/index.js'); encore.addEntry('vue_accourse', __dirname + '/Resources/public/vuejs/AccompanyingCourse/index.js'); encore.addEntry('vue_accourse_work_create', __dirname + '/Resources/public/vuejs/AccompanyingCourseWorkCreate/index.js'); From fbf343dd19617ae710cf003de504f4c230222ab2 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Sun, 8 Aug 2021 09:59:31 +0200 Subject: [PATCH 08/17] keep this unused subcomponent file, wrote for Address with household --- .../AddAddress/SelectHouseholdAddress.vue | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress/SelectHouseholdAddress.vue diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress/SelectHouseholdAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress/SelectHouseholdAddress.vue new file mode 100644 index 000000000..74ce14c3c --- /dev/null +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress/SelectHouseholdAddress.vue @@ -0,0 +1,47 @@ + + + + + + + From 46bd70881e191733d9202dee3e734533c0cb2f44 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Sun, 8 Aug 2021 10:34:02 +0200 Subject: [PATCH 09/17] Address i18n: manage specific translations --- .../vuejs/Address/components/ShowAddress.vue | 21 +++++++++++++++---- .../Resources/public/vuejs/Address/i18n.js | 17 +++++++++++++-- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue index dc4bd65ca..08089dbad 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue @@ -59,21 +59,21 @@
    -

    {{ $t('date') }}

    +

    {{ $t(getValidFromDateText) }}

    - {{ errors }} + {{ errorMsg }}
    - {{ $t('person_address_creation_success') }} + {{ $t(getSuccessText) }}
    @@ -132,6 +132,19 @@ export default { }, validFrom() { return new Date().toISOString().split('T')[0]; + }, + getValidFromDateText() { + return (this.context.entity.type === 'household') ? 'move_date' : 'validFrom'; + }, + getSuccessText() { + switch (this.context.entity.type) { + case 'household': + return (this.context.edit) ? 'household_address_edit_success' : 'household_address_move_success'; + case 'person': + return (this.context.edit) ? 'person_address_edit_success' : 'person_address_creation_success'; + default: + return (this.context.edit) ? 'address_edit_success' : 'address_new_success'; + } } } }; diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/i18n.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/i18n.js index e61daf738..9cfd05a3e 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/i18n.js +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/i18n.js @@ -29,11 +29,24 @@ const addressMessages = { postalCode_name: 'Nom', postalCode_code: 'Code postal', date: 'Date de la nouvelle adresse', - add_an_address_to_person: 'Ajouter l\'adresse à la personne', validFrom: 'Date de la nouvelle adresse', back_to_the_list: 'Retour à la liste', + loading: 'chargement en cours...', + address_new_success: 'La nouvelle adresse est enregistrée', + address_edit_success: 'L\'adresse a été mise à jour', + + // person specific + add_an_address_to_person: 'Ajouter l\'adresse à la personne', person_address_creation_success: 'La nouvelle adresse de la personne est enregistrée', - loading: 'chargement en cours...' + person_address_edit_success: 'L\'adresse de la personne a été mise à jour', + + // household specific + move_date: 'Date du déménagement', + select_a_existing_address: 'Sélectionner une adresse existante', + add_an_address_to_household: 'Enregistrer', + household_address_move_success: 'La nouvelle adresse du ménage est enregistrée', + household_address_edit_success: 'L\'adresse du ménage a été mise à jour', + } }; From 44313b507a735413c6585526c7c55772268a66b2 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Sun, 8 Aug 2021 11:14:31 +0200 Subject: [PATCH 10/17] twig include allow to pass mode:edit option when it's not detected --- .../Resources/public/vuejs/Address/components/AddAddress.vue | 5 +++-- .../Resources/views/Address/_insert_vue_address.html.twig | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue index 3c9ac64ff..54fa1a984 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue @@ -358,7 +358,7 @@ export default { }, /* - * When changes are validated (get out step2 edit pane), + * When changes are validated (get out step2 edit pane, button valid), * apply some transformations before asyncing with backend * from entity.selected to entity.address */ @@ -494,7 +494,8 @@ export default { }, /* - * When submit address (get out step1 show pane) + * When submit address + * (get out step1 show pane, submit button) */ submitAddress() { diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Address/_insert_vue_address.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Address/_insert_vue_address.html.twig index 8174da969..2b7cc0701 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Address/_insert_vue_address.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Address/_insert_vue_address.html.twig @@ -28,6 +28,9 @@ {% if 'edit' in app.request.get('_route') %} window.addressId = {{ app.request.get('address_id')|e('js') }}; window.mode = 'edit'; + {% elseif mode is defined and mode == 'edit' %} + window.addressId = {{ address_id|e('js') }}; + window.mode = 'edit'; {% endif %} {% if backUrl is not defined %} From 72cd9f452eaf255bd26c897968a12627a3354032 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Sun, 8 Aug 2021 11:38:34 +0200 Subject: [PATCH 11/17] fix 500: in edit context, we don't need to postAddressTo a second time ! --- .../vuejs/Address/components/AddAddress.vue | 79 ++++++++++--------- 1 file changed, 43 insertions(+), 36 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue index 54fa1a984..afe1d8528 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue @@ -539,47 +539,54 @@ export default { postAddressTo(payload, postTo) { console.log('postAddressTo', postTo); - switch (postTo) { - case 'household': - postAddressToHousehold(payload.entityId, payload.addressId) - .then(household => new Promise((resolve, reject) => { + if (!this.context.edit) { + switch (postTo) { + case 'household': + postAddressToHousehold(payload.entityId, payload.addressId) + .then(household => new Promise((resolve, reject) => { - console.log('TODO commit addAddressToHousehold', household); + console.log('TODO commit addAddressToHousehold', household); - this.flag.loading = false; - this.flag.success = true; - if (this.options.redirectToBackUrl) { - window.location.assign(payload.backUrl); - } - resolve(); - })) - .catch((error) => { - this.errorMsg.push(error); - this.flag.loading = false; - }) - ; - break; + this.flag.loading = false; + this.flag.success = true; + if (this.options.redirectToBackUrl) { + window.location.assign(payload.backUrl); + } + resolve(); + })) + .catch((error) => { + this.errorMsg.push(error); + this.flag.loading = false; + }) + ; + break; - case 'person': - default: - postAddressToPerson(payload.entityId, payload.addressId) - .then(person => new Promise((resolve, reject) => { + case 'person': + default: + postAddressToPerson(payload.entityId, payload.addressId) + .then(person => new Promise((resolve, reject) => { - console.log('TODO commit addAddressToPerson !!!', person); - //this.$props.result = person; + console.log('TODO commit addAddressToPerson !!!', person); + //this.$props.result = person; - this.flag.loading = false; - this.flag.success = true; - if (this.options.redirectToBackUrl) { - window.location.assign(payload.backUrl); - } - resolve(); - })) - .catch((error) => { - this.errorMsg.push(error); - this.flag.loading = false; - }) - ; + this.flag.loading = false; + this.flag.success = true; + if (this.options.redirectToBackUrl) { + window.location.assign(payload.backUrl); + } + resolve(); + })) + .catch((error) => { + this.errorMsg.push(error); + this.flag.loading = false; + }) + ; + } + } else { + // address is already posted, just finish ! + if (this.options.redirectToBackUrl) { + window.location.assign(payload.backUrl); + } } }, From ea391d18e9d24ebb91e8a4a9427a13c9d8ab1226 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Sun, 8 Aug 2021 11:55:19 +0200 Subject: [PATCH 12/17] fix display alerts above --- .../Resources/public/chill/scss/render_box.scss | 3 ++- .../vuejs/Address/components/ShowAddress.vue | 15 +++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/chill/scss/render_box.scss b/src/Bundle/ChillMainBundle/Resources/public/chill/scss/render_box.scss index cd57ba3cd..31d2c8d09 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/chill/scss/render_box.scss +++ b/src/Bundle/ChillMainBundle/Resources/public/chill/scss/render_box.scss @@ -93,7 +93,8 @@ section.chill-entity { font-style: italic; } - span.address-valid { + .address-valid { + margin-top: 2em; &.date-since {} &.date-until {} } diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue index 08089dbad..a9d721dc2 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue @@ -3,7 +3,13 @@
    - Loading... + {{ $t('loading') }} +
    +
    + {{ errorMsg }} +
    +
    + {{ $t(getSuccessText) }}
    @@ -68,13 +74,6 @@ aria-describedby="validFrom" />
    - -
    - {{ errorMsg }} -
    -
    - {{ $t(getSuccessText) }} -
    From 1c7e1b55f8c55851d4543f4cf4512d05670cbf33 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Sun, 8 Aug 2021 12:28:11 +0200 Subject: [PATCH 13/17] standard successText seems better --- .../Resources/public/vuejs/Address/components/ShowAddress.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue index a9d721dc2..437a4d9d2 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue @@ -137,10 +137,12 @@ export default { }, getSuccessText() { switch (this.context.entity.type) { + /* case 'household': return (this.context.edit) ? 'household_address_edit_success' : 'household_address_move_success'; case 'person': return (this.context.edit) ? 'person_address_edit_success' : 'person_address_creation_success'; + */ default: return (this.context.edit) ? 'address_edit_success' : 'address_new_success'; } From 21957846b0c06ecd97e34a81cb88fb22859cc848 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Sun, 8 Aug 2021 12:28:54 +0200 Subject: [PATCH 14/17] fix more precise condition --- .../Resources/public/vuejs/Address/components/AddAddress.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue index afe1d8528..b32f308f0 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue @@ -237,9 +237,11 @@ export default { */ openShowPane() { console.log('open the Show Panel'); - if (this.context.addressId) { + + if (this.context.edit) { this.getInitialAddress(this.context.addressId); } + // when create new address, start first with editPane if ( this.context.edit === false && this.flag.editPane === false From f6a02e157d46c7f5b95bd9ef4ce9d02ab8194dd7 Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Sun, 8 Aug 2021 21:56:48 +0200 Subject: [PATCH 15/17] manage validFrom date, wip (patchAddress return 500) --- .../vuejs/Address/components/AddAddress.vue | 6 ++++-- .../vuejs/Address/components/ShowAddress.vue | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue index b32f308f0..724aeef51 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue @@ -29,6 +29,7 @@ v-bind:options="this.options" v-bind:default="this.default" v-bind:entity="this.entity" + v-bind:valid="this.valid" v-bind:flag="this.flag" ref="showAddress"> @@ -54,6 +55,7 @@ v-bind:options="this.options" v-bind:default="this.default" v-bind:entity="this.entity" + v-bind:valid="this.valid" v-bind:flag="this.flag" ref="showAddress" v-bind:insideModal="false" @openEditPane="openEditPane" @@ -181,7 +183,7 @@ export default { }, }, valid: { - from: null, + from: new Date(), to: null }, errorMsg: [] @@ -506,7 +508,7 @@ export default { addressId: this.entity.address.address_id, body: { validFrom: { - datetime: `${this.$refs.showAddress.validFrom}T00:00:00+0100` + datetime: this.valid.from.toISOString().split('T')[0] } }, backUrl: this.context.backUrl diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue index 437a4d9d2..cfd137e51 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue @@ -100,6 +100,7 @@