mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-13 05:44:24 +00:00
Vue HouseHoldAddress is now unused and can be dropped
This commit is contained in:
parent
0075fed9a5
commit
028af50dbc
@ -1,160 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class='chill-entity entity-address'>
|
|
||||||
|
|
||||||
<div class="my-3">
|
|
||||||
<h2 v-if="!edit">{{ $t('create_a_new_address') }}</h2>
|
|
||||||
<h2 v-else>{{ $t('edit_address') }}</h2>
|
|
||||||
|
|
||||||
<show-address
|
|
||||||
v-if="newAddress"
|
|
||||||
v-bind:address="newAddress">
|
|
||||||
</show-address>
|
|
||||||
|
|
||||||
<add-address
|
|
||||||
modalAddTitle="add_an_address_title"
|
|
||||||
modalEditTitle="edit_address"
|
|
||||||
@addNewAddress="addNewAddress">
|
|
||||||
</add-address>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="!edit" class='address-valid'>
|
|
||||||
<h2>{{ $t('move_date') }}</h2>
|
|
||||||
<div class="input-group mb-3">
|
|
||||||
<span class="input-group-text" id="validFrom"><i class="fa fa-fw fa-calendar"></i></span>
|
|
||||||
<input type="date" class="form-control form-control-lg" name="validFrom"
|
|
||||||
v-bind:placeholder="$t('validFrom')"
|
|
||||||
v-model="validFrom"
|
|
||||||
aria-describedby="validFrom" />
|
|
||||||
</div>
|
|
||||||
<div v-if="errors.length > 0">
|
|
||||||
{{ errors }}
|
|
||||||
</div>
|
|
||||||
<div v-if="loading">
|
|
||||||
{{ $t('loading') }}
|
|
||||||
</div>
|
|
||||||
<div v-if="success && !edit">
|
|
||||||
{{ $t('household_address_move_success') }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="success && edit">
|
|
||||||
{{ $t('household_address_edit_success') }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<ul class="record_actions sticky-form-buttons">
|
|
||||||
<li class="cancel">
|
|
||||||
<a :href="backUrl" class="btn btn-cancel">{{ $t('back_to_the_list') }}</a>
|
|
||||||
</li>
|
|
||||||
<li v-if="!edit">
|
|
||||||
<button type="submit" class="btn btn-update" @click="addToHousehold">
|
|
||||||
{{ $t('add_an_address_to_household') }}
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import AddAddress from 'ChillMainAssets/vuejs/Address/components/AddAddress.vue';
|
|
||||||
import ShowAddress from 'ChillMainAssets/vuejs/Address/components/ShowAddress.vue';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'App',
|
|
||||||
components: {
|
|
||||||
AddAddress,
|
|
||||||
ShowAddress
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
edit: window.mode === 'edit',
|
|
||||||
householdId: window.householdId,
|
|
||||||
addressId: window.addressId,
|
|
||||||
backUrl: `/fr/person/household/${householdId}/addresses`, //TODO better way to pass this
|
|
||||||
validFrom: new Date().toISOString().split('T')[0]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
newAddress() {
|
|
||||||
return this.$store.state.newAddress;
|
|
||||||
},
|
|
||||||
errors() {
|
|
||||||
return this.$store.state.errorMsg;
|
|
||||||
},
|
|
||||||
loading() {
|
|
||||||
return this.$store.state.loading;
|
|
||||||
},
|
|
||||||
success() {
|
|
||||||
return this.$store.state.success;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
addNewAddress({ address, modal }) {
|
|
||||||
console.log('@@@ CLICK button addNewAdress', address);
|
|
||||||
|
|
||||||
let createdAddress = {
|
|
||||||
'isNoAddress': address.isNoAddress,
|
|
||||||
'street': address.isNoAddress ? '' : address.street,
|
|
||||||
'streetNumber': address.isNoAddress ? '' : address.streetNumber,
|
|
||||||
'postcode': {'id': address.selected.city.id},
|
|
||||||
'floor': address.floor,
|
|
||||||
'corridor': address.corridor,
|
|
||||||
'steps': address.steps,
|
|
||||||
'flat': address.flat,
|
|
||||||
'buildingName': address.buildingName,
|
|
||||||
'distribution': address.distribution,
|
|
||||||
'extra': address.extra
|
|
||||||
};
|
|
||||||
|
|
||||||
if (address.selected.address.point !== undefined){
|
|
||||||
createdAddress = Object.assign(createdAddress, {
|
|
||||||
'point': address.selected.address.point.coordinates
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if(address.writeNewPostalCode){
|
|
||||||
let newPostalCode = address.newPostalCode;
|
|
||||||
newPostalCode = Object.assign(newPostalCode, {
|
|
||||||
'country': {'id': address.selected.country.id },
|
|
||||||
});
|
|
||||||
createdAddress = Object.assign(createdAddress, {
|
|
||||||
'newPostalCode': newPostalCode
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.edit){
|
|
||||||
this.$store.dispatch('updateAddress', {
|
|
||||||
addressId: this.addressId,
|
|
||||||
newAddress: createdAddress
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.$store.dispatch('addAddress', createdAddress);
|
|
||||||
}
|
|
||||||
|
|
||||||
modal.showModal = false;
|
|
||||||
},
|
|
||||||
addToHousehold() {
|
|
||||||
this.$store.dispatch('addDateToAddressAndAddressToHousehold', {
|
|
||||||
householdId: this.householdId,
|
|
||||||
addressId: this.$store.state.newAddress.address_id,
|
|
||||||
body: { validFrom: {datetime: `${this.validFrom}T00:00:00+0100`}},
|
|
||||||
backUrl: this.backUrl
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getEditAddress() {
|
|
||||||
this.$store.dispatch('getEditAddress', this.addressId);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
if (this.edit) {
|
|
||||||
this.getEditAddress();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss">
|
|
||||||
div.entity-address {
|
|
||||||
border: 1px dashed grey;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,47 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="container">
|
|
||||||
<VueMultiselect
|
|
||||||
v-model="value"
|
|
||||||
@select="selectAddress"
|
|
||||||
name="field"
|
|
||||||
track-by="id"
|
|
||||||
label="value"
|
|
||||||
:custom-label="transName"
|
|
||||||
:multiple="false"
|
|
||||||
:placeholder="$t('select_address')"
|
|
||||||
:options="addresses">
|
|
||||||
</VueMultiselect>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import VueMultiselect from 'vue-multiselect';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'SelectHouseholdAddress',
|
|
||||||
components: { VueMultiselect },
|
|
||||||
props: ['address'],
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
value: null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
addresses() {
|
|
||||||
return this.address.loaded.addresses;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
transName(value) {
|
|
||||||
return `${value.text} ${value.postcode.name}`
|
|
||||||
},
|
|
||||||
selectAddress(value) {
|
|
||||||
this.address.selected.address = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style src="vue-multiselect/dist/vue-multiselect.css"></style>
|
|
||||||
|
|
||||||
|
|
@ -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: `<app></app>`,
|
|
||||||
})
|
|
||||||
.use(store)
|
|
||||||
.use(i18n)
|
|
||||||
.component('app', App)
|
|
||||||
.mount('#household-address');
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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
|
|
||||||
};
|
|
@ -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 };
|
|
@ -8,9 +8,6 @@ module.exports = function(encore, entries)
|
|||||||
ChillPersonAssets: __dirname + '/Resources/public'
|
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_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', __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_create', __dirname + '/Resources/public/vuejs/AccompanyingCourseWorkCreate/index.js');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user