diff --git a/src/Bundle/ChillMainBundle/Resources/public/chill/scss/record_actions.scss b/src/Bundle/ChillMainBundle/Resources/public/chill/scss/record_actions.scss index efedac51d..bdb3c60a6 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/chill/scss/record_actions.scss +++ b/src/Bundle/ChillMainBundle/Resources/public/chill/scss/record_actions.scss @@ -43,6 +43,7 @@ ul.record_actions { display: flex; padding: 0.8em 1.6em; border-radius: 0; + z-index: 1000; } /// EXCEPTIONS diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/App.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/App.vue index 47ca74182..a820c253d 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/App.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/App.vue @@ -1,149 +1,58 @@ diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/api.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/api.js index 0f078a2d9..5a991b57c 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/api.js +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/api.js @@ -4,7 +4,7 @@ * @returns {Promise} a promise containing all Country object */ const fetchCountries = () => { - console.log('<<< fetching countries'); + //console.log('<<< fetching countries'); const url = `/api/1.0/main/country.json?item_per_page=1000`; return fetch(url) @@ -20,7 +20,7 @@ const fetchCountries = () => { * @returns {Promise} a promise containing all Postal Code objects filtered with country */ const fetchCities = (country) => { - console.log('<<< fetching cities for', country); + //console.log('<<< fetching cities for', country); const url = `/api/1.0/main/postal-code.json?item_per_page=1000&country=${country.id}`; return fetch(url) .then(response => { @@ -35,7 +35,7 @@ const fetchCities = (country) => { * @returns {Promise} a promise containing all AddressReference objects filtered with postal code */ const fetchReferenceAddresses = (postalCode) => { - console.log('<<< fetching references addresses for', postalCode); + //console.log('<<< fetching references addresses for', postalCode); const url = `/api/1.0/main/address-reference.json?item_per_page=1000&postal_code=${postalCode.id}`; return fetch(url) .then(response => { @@ -50,7 +50,7 @@ const fetchReferenceAddresses = (postalCode) => { * @returns {Promise} a promise containing all AddressReference objects filtered with postal code */ const fetchAddresses = () => { - console.log('<<< fetching addresses'); + //console.log('<<< fetching addresses'); //TODO deal with huge number of addresses... we should do suggestion... const url = `/api/1.0/main/address.json?item_per_page=1000`; return fetch(url) @@ -133,8 +133,8 @@ const postPostalCode = (postalCode) => { * @body Object - dictionary with changes to post */ const postAddressToPerson = (personId, addressId) => { - console.log(personId); - console.log(addressId); + //console.log(personId); + //console.log(addressId); const body = { 'id': addressId }; @@ -157,7 +157,7 @@ const postAddressToPerson = (personId, addressId) => { * @returns {Promise} a promise containing a Address object */ const getAddress = (id) => { - console.log('<<< get address'); + //console.log('<< get address'); const url = `/api/1.0/main/address/${id}.json`; return fetch(url) .then(response => { 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 446985760..fc38f630b 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress.vue @@ -1,282 +1,473 @@ diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress/AddressMap.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress/AddressMap.vue index 978862d82..c6abd92d5 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress/AddressMap.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress/AddressMap.vue @@ -13,16 +13,18 @@ let marker; export default { name: 'AddressMap', - props: ['address'], + props: ['entity'], computed: { center() { - return this.address.addressMap.center; + return this.entity.selected.addressMap.center; }, }, methods:{ init() { map = L.map('address_map').setView([46.67059, -1.42683], 12); + map.scrollWheelZoom.disable(); + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '© OpenStreetMap contributors' }).addTo(map); @@ -36,9 +38,9 @@ export default { }, update() { - console.log('update map with : ', this.address.addressMap.center) - marker.setLatLng(this.address.addressMap.center); - map.setView(this.address.addressMap.center, 15); + //console.log('update map with : ', this.address.addressMap.center) + marker.setLatLng(this.entity.addressMap.center); + map.setView(this.entity.addressMap.center, 15); } }, mounted(){ diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress/AddressMore.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress/AddressMore.vue index 11c25b318..1216871ab 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress/AddressMore.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/AddAddress/AddressMore.vue @@ -74,69 +74,62 @@ diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/EditAddress.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/EditAddress.vue new file mode 100644 index 000000000..2de7cb968 --- /dev/null +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/EditAddress.vue @@ -0,0 +1,160 @@ + + + + + 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 786f0dce6..c59104aca 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/components/ShowAddress.vue @@ -1,17 +1,25 @@ diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/i18n.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/i18n.js new file mode 100644 index 000000000..e61daf738 --- /dev/null +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/i18n.js @@ -0,0 +1,42 @@ +const addressMessages = { + fr: { + add_an_address_title: 'Créer une adresse', + edit_an_address_title: 'Modifier une adresse', + create_a_new_address: 'Créer une nouvelle adresse', + edit_address: 'Modifier l\'adresse', + select_an_address_title: 'Sélectionner une adresse', + fill_an_address: 'Compléter l\'adresse', + select_country: 'Choisir le pays', + country: 'Pays', + select_city: 'Choisir une localité', + city: 'Localité', + other_city: 'Autre localité', + select_address: 'Choisir une adresse', + address: 'Adresse', + other_address: 'Autre adresse', + create_address: 'Adresse inconnue. Cliquez ici pour créer une nouvelle adresse', + isNoAddress: 'Pas d\'adresse complète', + street: 'Nom de rue', + streetNumber: 'Numéro', + floor: 'Étage', + corridor: 'Couloir', + steps: 'Escalier', + flat: 'Appartement', + buildingName: 'Nom du bâtiment', + extra: 'Complément d\'adresse', + distribution: 'Service particulier de distribution', + create_postal_code: 'Localité inconnue. Cliquez ici pour créer une nouvelle localité', + 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', + person_address_creation_success: 'La nouvelle adresse de la personne est enregistrée', + loading: 'chargement en cours...' + } +}; + +export { + addressMessages +}; diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/index.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/index.js index 27676369e..c96c35a6c 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/index.js +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/index.js @@ -1,14 +1,13 @@ import { createApp } from 'vue' -import { _createI18n } from 'ChillMainAssets/vuejs/_js/i18n' -import { addressMessages } from './js/i18n' import { store } from './store' - import App from './App.vue'; +import { _createI18n } from 'ChillMainAssets/vuejs/_js/i18n' +import { addressMessages } from './i18n' const i18n = _createI18n(addressMessages); const app = createApp({ - template: ``, + template: ``, }) .use(store) .use(i18n) diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/js/i18n.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/js/i18n.js deleted file mode 100644 index f8a7ea4d2..000000000 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/js/i18n.js +++ /dev/null @@ -1,42 +0,0 @@ -const addressMessages = { - fr: { - add_an_address_title: 'Créer une adresse', - edit_an_address_title: 'Modifier une adresse', - create_a_new_address: 'Créer une nouvelle adresse', - edit_address: 'Modifier l\'adresse', - select_an_address_title: 'Sélectionner une adresse', - fill_an_address: 'Compléter l\'adresse', - select_country: 'Choisir le pays', - country: 'Pays', - select_city: 'Choisir une localité', - city: 'Localité', - other_city: 'Autre localité', - select_address: 'Choisir une adresse', - address: 'Adresse', - other_address: 'Autre adresse', - create_address: 'Adresse inconnue. Cliquez ici pour créer une nouvelle adresse', - isNoAddress: 'Pas d\'adresse complète', - street: 'Nom de rue', - streetNumber: 'Numéro', - floor: 'Étage', - corridor: 'Couloir', - steps: 'Escalier', - flat: 'Appartement', - buildingName: 'Nom du bâtiment', - extra: 'Complément d\'adresse', - distribution: 'Service particulier de distribution', - create_postal_code: 'Localité inconnue. Cliquez ici pour créer une nouvelle localité', - 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', - person_address_creation_success: 'La nouvelle adresse de la personne est enregistrée', - loading: 'chargement en cours...' - } -}; - -export { - addressMessages -}; diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/store.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/store.js new file mode 100644 index 000000000..392d033f5 --- /dev/null +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/store.js @@ -0,0 +1,14 @@ +import 'es6-promise/auto'; +import { createStore } from 'vuex'; + +const debug = process.env.NODE_ENV !== 'production'; + +const store = createStore({ + strict: debug, + state: {}, + getters: {}, + mutations: {}, + actions: {}, +}); + +export { store }; diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/store/index.js b/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/store/index.js deleted file mode 100644 index 967675c8f..000000000 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/Address/store/index.js +++ /dev/null @@ -1,158 +0,0 @@ -import 'es6-promise/auto'; -import { createStore } from 'vuex'; - -import { patchAddress, postAddress, postPostalCode, postAddressToPerson, getAddress } from '../api' - -const debug = process.env.NODE_ENV !== 'production'; - -const store = createStore({ - strict: debug, - state: { - address: {}, - editAddress: {}, //TODO or should be address? - person: {}, - errorMsg: [], - loading: false, - success: false - }, - getters: { - }, - mutations: { - catchError(state, error) { - state.errorMsg.push(error); - }, - addAddress(state, address) { - console.log('@M addAddress address', address); - state.address = address; - }, - updateAddress(state, address) { - console.log('@M updateAddress address', address); - state.address = address; - }, - addAddressToPerson(state, person) { - console.log('@M addAddressToPerson person', person); - state.person = person; - }, - 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){ - let postalCodeBody = payload.newPostalCode; - postalCodeBody = Object.assign(postalCodeBody, {'origin': 3}); - postPostalCode(postalCodeBody) - .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); - }); - } - }, - addDateToAddressAndAddressToPerson({ commit }, payload) { - console.log('@A addDateToAddressAndAddressToPerson payload', payload); - commit('setLoading', true); - patchAddress(payload.addressId, payload.body) - .then(address => new Promise((resolve, reject) => { - commit('addDateToAddress', address.validFrom); - resolve(); - }).then( - postAddressToPerson(payload.personId, payload.addressId) - .then(person => new Promise((resolve, reject) => { - commit('addAddressToPerson', person); - commit('setLoading', false); - commit('setSuccess', true); - 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); - resolve(); - })) - .catch((error) => { - commit('catchError', error); - }); - }) - - } else { - patchAddress(payload.addressId, payload.newAddress) - .then(address => new Promise((resolve, reject) => { - commit('updateAddress', address); - 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/ChillMainBundle/Resources/public/vuejs/_components/Modal.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/Modal.vue index 44d444247..b806c4b3e 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/Modal.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/_components/Modal.vue @@ -24,16 +24,16 @@ - + + + diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Address/edit.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Address/edit.html.twig index 5f5a4a888..1868bd9de 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Address/edit.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Address/edit.html.twig @@ -18,15 +18,15 @@ {% set activeRouteKey = '' %} -{% block title 'Modify address for %name%'|trans({ '%name%': person.firstName ~ ' ' ~ person.lastName } ) %} +{% block title 'Edit an address'|trans %} {% block personcontent %} -
- - {% block content %} -

{{ block('title') }}

-
- {% endblock %} +
+ + {% block content %} +

{{ block('title') }}

+
+ {% endblock %}
{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig b/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig index 2365c2d03..cd45d66ea 100644 --- a/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig +++ b/src/Bundle/ChillPersonBundle/Resources/views/Address/new.html.twig @@ -18,16 +18,16 @@ {% set activeRouteKey = '' %} -{% block title %}{{ 'New address for %name%'|trans({ '%name%': person.firstName|capitalize ~ ' ' ~ person.lastName } )|capitalize }}{% endblock %} +{% block title %}{{ 'New address'|trans }}{% endblock %} {% block personcontent %}
- {% block content %} -

{{ block('title') }}

-
- {% endblock %} - + {% block content %} +

{{ block('title') }}

+
+ {% endblock %} +
{% endblock %} diff --git a/src/Bundle/ChillPersonBundle/chill.webpack.config.js b/src/Bundle/ChillPersonBundle/chill.webpack.config.js index ebfdef01d..1b779cb79 100644 --- a/src/Bundle/ChillPersonBundle/chill.webpack.config.js +++ b/src/Bundle/ChillPersonBundle/chill.webpack.config.js @@ -8,11 +8,11 @@ module.exports = function(encore, entries) ChillPersonAssets: __dirname + '/Resources/public' }); - 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_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'); - encore.addEntry('vue_accourse_work_edit', __dirname + '/Resources/public/vuejs/AccompanyingCourseWorkEdit/index.js'); + //encore.addEntry('vue_accourse_work_create', __dirname + '/Resources/public/vuejs/AccompanyingCourseWorkCreate/index.js'); + //encore.addEntry('vue_accourse_work_edit', __dirname + '/Resources/public/vuejs/AccompanyingCourseWorkEdit/index.js'); encore.addEntry('page_household_edit_metadata', __dirname + '/Resources/public/page/household_edit_metadata/index.js'); encore.addEntry('page_person', __dirname + '/Resources/public/page/person/index.js'); diff --git a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml index 65e1bb6bd..d030d9dc8 100644 --- a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml @@ -207,8 +207,10 @@ 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% +Edit an address: Modifier une adresse Addresses history for %name%: Historique des adresses de %name% Addresses history: Historique des adresses +New address : Nouvelle adresse New address for %name% : Nouvelle adresse pour %name% The new address was created successfully: La nouvelle adresse a été créée Add an address: Ajouter une adresse