mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-12-16 23:33:15 +00:00
Submitting address, and validFrom field
This commit is contained in:
@@ -26,7 +26,8 @@
|
||||
v-bind:options="this.options"
|
||||
v-bind:default="this.default"
|
||||
v-bind:entity="this.entity"
|
||||
v-bind:flag="this.flag">
|
||||
v-bind:flag="this.flag"
|
||||
ref="showAddress">
|
||||
</show-address>
|
||||
</template>
|
||||
|
||||
@@ -36,7 +37,7 @@
|
||||
{{ $t('action.edit')}}
|
||||
</button>
|
||||
<button class="btn btn-save"
|
||||
@click.prevent="$emit('submitAddress', { getSubmited , flag })">
|
||||
@click="submitAddress">
|
||||
{{ $t('action.save')}}
|
||||
</button>
|
||||
</template>
|
||||
@@ -51,8 +52,9 @@
|
||||
v-bind:default="this.default"
|
||||
v-bind:entity="this.entity"
|
||||
v-bind:flag="this.flag"
|
||||
ref="showAddress"
|
||||
v-bind:insideModal="false" @openEditPane="openEditPane"
|
||||
@submitAddress="$emit('submitAddress', { getSubmited , flag })">
|
||||
@submitAddress="submitAddress">
|
||||
</show-address>
|
||||
</div>
|
||||
|
||||
@@ -122,8 +124,7 @@ import {
|
||||
|
||||
export default {
|
||||
name: "AddAddress",
|
||||
props: ['context', 'options'],
|
||||
emits: ['submitAddress'],
|
||||
props: ['context', 'options', 'result'],
|
||||
components: {
|
||||
Modal,
|
||||
ShowAddress,
|
||||
@@ -173,6 +174,10 @@ export default {
|
||||
zoom: 12
|
||||
},
|
||||
},
|
||||
valid: {
|
||||
from: null,
|
||||
to: null
|
||||
},
|
||||
errorMsg: []
|
||||
}
|
||||
},
|
||||
@@ -197,11 +202,8 @@ export default {
|
||||
return (this.context.edit) ? this.options.title.edit : this.options.title.create;
|
||||
}
|
||||
return (this.context.edit) ? this.default.title.edit : this.default.title.create;
|
||||
},
|
||||
|
||||
getSubmited() {
|
||||
return this.entity.address;
|
||||
}
|
||||
|
||||
},
|
||||
mounted() {
|
||||
if (!this.step1WithModal) {
|
||||
@@ -221,11 +223,13 @@ export default {
|
||||
}
|
||||
this.flag.showPane = true;
|
||||
},
|
||||
|
||||
openEditPane() {
|
||||
console.log('open the Edit panel');
|
||||
this.initForm();
|
||||
this.getCountries();
|
||||
},
|
||||
|
||||
closeEditPane() {
|
||||
console.log('close the Edit Panel (with validation)');
|
||||
this.applyChanges();
|
||||
@@ -373,7 +377,6 @@ export default {
|
||||
* then update existing address with backend datas when promise is resolved
|
||||
*/
|
||||
updateAddress(payload) {
|
||||
console.log('updateAddress payload', payload);
|
||||
|
||||
// TODO change the condition because it writes new postal code in edit mode now: !writeNewPostalCode
|
||||
this.flag.loading = true;
|
||||
@@ -387,7 +390,6 @@ export default {
|
||||
body.postcode = {'id': postalCode.id },
|
||||
patchAddress(payload.addressId, body)
|
||||
.then(address => new Promise((resolve, reject) => {
|
||||
console.log('update address');
|
||||
this.entity.address = address;
|
||||
this.flag.loading = false;
|
||||
resolve();
|
||||
@@ -401,7 +403,6 @@ export default {
|
||||
} else {
|
||||
patchAddress(payload.addressId, payload.newAddress)
|
||||
.then(address => new Promise((resolve, reject) => {
|
||||
console.log('update address');
|
||||
this.entity.address = address;
|
||||
this.flag.loading = false;
|
||||
resolve();
|
||||
@@ -418,7 +419,6 @@ export default {
|
||||
* creating new address, and receive backend datas when promise is resolved
|
||||
*/
|
||||
addAddress(payload) {
|
||||
console.log('addAddress payload', payload);
|
||||
|
||||
this.flag.loading = true;
|
||||
if('newPostcode' in payload){
|
||||
@@ -431,7 +431,6 @@ export default {
|
||||
body.postcode = {'id': postalCode.id},
|
||||
postAddress(body)
|
||||
.then(address => new Promise((resolve, reject) => {
|
||||
console.log('add address');
|
||||
this.entity.address = address;
|
||||
resolve();
|
||||
this.flag.loading = false;
|
||||
@@ -445,7 +444,6 @@ export default {
|
||||
} else {
|
||||
postAddress(payload)
|
||||
.then(address => new Promise((resolve, reject) => {
|
||||
console.log('add address');
|
||||
this.entity.address = address;
|
||||
resolve();
|
||||
this.flag.loading = false;
|
||||
@@ -455,9 +453,52 @@ export default {
|
||||
this.flag.loading = false;
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* When submited
|
||||
*/
|
||||
submitAddress() {
|
||||
console.log('@@@ CLICK button submitAddress');
|
||||
this.addDateToAddressAndAddressToPerson({
|
||||
personId: this.context.personId,
|
||||
addressId: this.entity.address.address_id,
|
||||
body: { validFrom: { datetime: `${this.$refs.showAddress.validFrom}T00:00:00+0100`}},
|
||||
backUrl: this.context.backUrl
|
||||
});
|
||||
this.initForm();
|
||||
this.flag.showPane = false;
|
||||
},
|
||||
|
||||
addDateToAddressAndAddressToPerson(payload) {
|
||||
console.log('addDateToAddressAndAddressToPerson payload', payload);
|
||||
this.flag.loading = true;
|
||||
patchAddress(payload.addressId, payload.body)
|
||||
.then(address => new Promise((resolve, reject) => {
|
||||
this.valid.from = address.validFrom;
|
||||
resolve();
|
||||
}).then(
|
||||
postAddressToPerson(payload.personId, payload.addressId)
|
||||
.then(person => new Promise((resolve, reject) => {
|
||||
|
||||
console.log('commit addAddressToPerson !!!', person);
|
||||
this.result = person;
|
||||
|
||||
this.flag.loading = false;
|
||||
this.flag.success = true;
|
||||
window.location.assign(payload.backUrl);
|
||||
resolve();
|
||||
}))
|
||||
.catch((error) => {
|
||||
this.errorMsg.push(error);
|
||||
this.flag.loading = false;
|
||||
})
|
||||
))
|
||||
.catch((error) => {
|
||||
this.errorMsg.push(error);
|
||||
this.flag.loading = false;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user