mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
further conversions to general makeFetch and toasts
This commit is contained in:
parent
fb9df1dba0
commit
e94bbc1271
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import AddAddress from './components/AddAddress.vue';
|
import AddAddress from './components/AddAddress.vue';
|
||||||
import { postAddressToHousehold, postAddressToPerson } from "ChillPersonAssets/vuejs/_api/AddAddress";
|
import { makeFetch } from 'ChillMainAssets/lib/api/apiMethods.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "App",
|
name: "App",
|
||||||
@ -31,25 +31,17 @@ export default {
|
|||||||
: this.context.target.name + '_' + this.context.target.id ;
|
: this.context.target.name + '_' + this.context.target.id ;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
|
||||||
//console.log('AddAddress: data context', this.context);
|
|
||||||
//console.log('AddAddress: data options', this.options);
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
displayErrors() {
|
displayErrors() {
|
||||||
return this.$refs.addAddress.errorMsg;
|
return this.$refs.addAddress.errorMsg;
|
||||||
},
|
},
|
||||||
submitAddress(payload) {
|
submitAddress(payload) {
|
||||||
console.log('@@@ click on Submit Address Button', payload);
|
|
||||||
|
|
||||||
// Existing address
|
// Existing address
|
||||||
if (this.context.edit) {
|
if (this.context.edit) {
|
||||||
|
|
||||||
// address is already linked, just finish !
|
// address is already linked, just finish !
|
||||||
this.$refs.addAddress.afterLastPaneAction({});
|
this.$refs.addAddress.afterLastPaneAction({});
|
||||||
this.$emit('addressEdited', payload);
|
this.$emit('addressEdited', payload);
|
||||||
|
// New created address
|
||||||
// New created address
|
|
||||||
} else {
|
} else {
|
||||||
this.postAddressTo(payload);
|
this.postAddressTo(payload);
|
||||||
}
|
}
|
||||||
@ -60,51 +52,39 @@ export default {
|
|||||||
*/
|
*/
|
||||||
postAddressTo(payload) {
|
postAddressTo(payload) {
|
||||||
this.$emit('addressCreated', payload);
|
this.$emit('addressCreated', payload);
|
||||||
|
let url = '';
|
||||||
|
|
||||||
console.log('postAddress', payload.addressId, 'To', payload.target, payload.targetId);
|
|
||||||
switch (payload.target) {
|
switch (payload.target) {
|
||||||
case 'household':
|
case 'household':
|
||||||
postAddressToHousehold(payload.targetId, payload.addressId)
|
url = `/api/1.0/person/household/${payload.targetId}/address.json`
|
||||||
.then(address => new Promise((resolve, reject) => {
|
|
||||||
console.log('..household address', address);
|
|
||||||
this.$refs.addAddress.flag.loading = false;
|
|
||||||
this.$refs.addAddress.flag.success = true;
|
|
||||||
|
|
||||||
// finish
|
|
||||||
this.$refs.addAddress.afterLastPaneAction({ addressId: address.address_id });
|
|
||||||
|
|
||||||
resolve();
|
|
||||||
}))
|
|
||||||
.catch((error) => {
|
|
||||||
this.$refs.addAddress.errorMsg.push(error);
|
|
||||||
this.$refs.addAddress.flag.loading = false;
|
|
||||||
})
|
|
||||||
;
|
|
||||||
break;
|
break;
|
||||||
case 'person':
|
case 'person':
|
||||||
postAddressToPerson(payload.targetId, payload.addressId)
|
url = `/api/1.0/person/person/${payload.targetId}/address.json`
|
||||||
.then(address => new Promise((resolve, reject) => {
|
|
||||||
console.log('..person address', address);
|
|
||||||
this.$refs.addAddress.flag.loading = false;
|
|
||||||
this.$refs.addAddress.flag.success = true;
|
|
||||||
|
|
||||||
// finish
|
|
||||||
this.$refs.addAddress.afterLastPaneAction({ addressId: address.address_id });
|
|
||||||
|
|
||||||
resolve();
|
|
||||||
}))
|
|
||||||
.catch((error) => {
|
|
||||||
this.$refs.addAddress.errorMsg.push(error);
|
|
||||||
this.$refs.addAddress.flag.loading = false;
|
|
||||||
})
|
|
||||||
;
|
|
||||||
break;
|
break;
|
||||||
case 'thirdparty':
|
case 'thirdparty':
|
||||||
console.log('TODO write postAddressToThirdparty');
|
// TODO write postAddressToThirdparty;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
this.$refs.addAddress.errorMsg.push('That entity is not managed by address !');
|
this.$refs.addAddress.errorMsg.push('This entity is not managed by address !');
|
||||||
}
|
}
|
||||||
|
const body = {
|
||||||
|
'id': payload.addressId
|
||||||
|
};
|
||||||
|
|
||||||
|
makeFetch('POST', url, body)
|
||||||
|
.then((response) => {
|
||||||
|
this.$refs.addAddress.flag.loading = false;
|
||||||
|
this.$refs.addAddress.flag.success = true;
|
||||||
|
this.$refs.addAddress.afterLastPaneAction({ addressId: response.address_id });
|
||||||
|
})
|
||||||
|
.catch(({name, violations}) => {
|
||||||
|
if (name === 'ValidationException' || name === 'AccessException') {
|
||||||
|
violations.forEach((violation) => this.$toast.open({message: violation}));
|
||||||
|
} else {
|
||||||
|
this.$toast.open({message: 'An error occurred'})
|
||||||
|
}
|
||||||
|
this.$refs.addAddress.flag.loading = false;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,12 +36,12 @@ const fetchCities = (country) => {
|
|||||||
*/
|
*/
|
||||||
const fetchReferenceAddresses = (postalCode) => {
|
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}`;
|
const url = `/api/1.0/main/address-reference.json?item_per_page=1000&postal_code=${postalCode.id}`;
|
||||||
return fetch(url)
|
return fetch(url)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
if (response.ok) { return response.json(); }
|
if (response.ok) { return response.json(); }
|
||||||
throw Error('Error with request resource response');
|
throw Error('Error with request resource response');
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -87,18 +87,18 @@ const postAddress = (address) => {
|
|||||||
* @returns {Promise<Response>}
|
* @returns {Promise<Response>}
|
||||||
*/
|
*/
|
||||||
const duplicateAddress = (address) => {
|
const duplicateAddress = (address) => {
|
||||||
const url = `/api/1.0/main/address/${address.address_id}/duplicate.json`;
|
const url = `/api/1.0/main/address/${address.address_id}/duplicate.json`;
|
||||||
return fetch(url, {
|
return fetch(url, {
|
||||||
'method': 'POST',
|
'method': 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json;charset=utf-8'
|
'Content-Type': 'application/json;charset=utf-8'
|
||||||
},
|
},
|
||||||
}).then(response => {
|
}).then(response => {
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
return response.json();
|
return response.json();
|
||||||
}
|
}
|
||||||
throw Error('Error with request resource response');
|
throw Error('Error with request resource response');
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ const patchAddress = (id, body) => {
|
|||||||
return fetch(url, {
|
return fetch(url, {
|
||||||
method: 'PATCH',
|
method: 'PATCH',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json;charset=utf-8'
|
'Content-Type': 'application/json;charset=utf-8'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(body)
|
body: JSON.stringify(body)
|
||||||
})
|
})
|
||||||
|
@ -220,16 +220,15 @@
|
|||||||
<script>
|
<script>
|
||||||
import Modal from 'ChillMainAssets/vuejs/_components/Modal';
|
import Modal from 'ChillMainAssets/vuejs/_components/Modal';
|
||||||
import {
|
import {
|
||||||
duplicateAddress,
|
duplicateAddress,
|
||||||
fetchCountries,
|
fetchCountries,
|
||||||
fetchCities,
|
fetchCities,
|
||||||
fetchReferenceAddresses,
|
fetchReferenceAddresses,
|
||||||
getAddress,
|
getAddress,
|
||||||
patchAddress,
|
patchAddress,
|
||||||
postAddress,
|
postAddress,
|
||||||
postPostalCode,
|
postPostalCode,
|
||||||
} from '../api';
|
} from '../api';
|
||||||
import { postAddressToPerson, postAddressToHousehold } from "ChillPersonAssets/vuejs/_api/AddAddress.js";
|
|
||||||
import ShowPane from './ShowPane.vue';
|
import ShowPane from './ShowPane.vue';
|
||||||
import SuggestPane from './SuggestPane.vue';
|
import SuggestPane from './SuggestPane.vue';
|
||||||
import EditPane from './EditPane.vue';
|
import EditPane from './EditPane.vue';
|
||||||
@ -246,7 +245,7 @@ export default {
|
|||||||
DatePane
|
DatePane
|
||||||
},
|
},
|
||||||
emits: {
|
emits: {
|
||||||
pickAddress: null
|
pickAddress: null
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -355,14 +354,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
||||||
//console.log('validFrom', this.validFrom);
|
|
||||||
//console.log('validTo', this.validTo);
|
|
||||||
//console.log('useDatePane', this.useDatePane);
|
|
||||||
|
|
||||||
// console.log('Mounted now !');
|
|
||||||
if (this.context.edit) {
|
if (this.context.edit) {
|
||||||
// console.log('getInitialAddress', this.context.addressId);
|
|
||||||
this.getInitialAddress(this.context.addressId);
|
this.getInitialAddress(this.context.addressId);
|
||||||
}
|
}
|
||||||
this.openShowPane();
|
this.openShowPane();
|
||||||
@ -598,9 +590,9 @@ export default {
|
|||||||
|
|
||||||
// add the address reference, if any
|
// add the address reference, if any
|
||||||
if (this.entity.selected.address.addressReference !== undefined) {
|
if (this.entity.selected.address.addressReference !== undefined) {
|
||||||
newAddress = Object.assign(newAddress, {
|
newAddress = Object.assign(newAddress, {
|
||||||
'addressReference': this.entity.selected.address.addressReference
|
'addressReference': this.entity.selected.address.addressReference
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.validFrom) {
|
if (this.validFrom) {
|
||||||
@ -678,8 +670,8 @@ export default {
|
|||||||
this.flag.loading = false;
|
this.flag.loading = false;
|
||||||
this.flag.success = true;
|
this.flag.success = true;
|
||||||
resolve({
|
resolve({
|
||||||
address,
|
address,
|
||||||
targetOrigin: this.context.target,
|
targetOrigin: this.context.target,
|
||||||
// for "legacy" use:
|
// for "legacy" use:
|
||||||
target: this.context.target.name,
|
target: this.context.target.name,
|
||||||
targetId: this.context.target.id,
|
targetId: this.context.target.id,
|
||||||
@ -729,8 +721,8 @@ export default {
|
|||||||
this.flag.loading = false;
|
this.flag.loading = false;
|
||||||
this.flag.success = true;
|
this.flag.success = true;
|
||||||
return resolve({
|
return resolve({
|
||||||
address,
|
address,
|
||||||
targetOrigin: this.context.target,
|
targetOrigin: this.context.target,
|
||||||
// for "legacy" use:
|
// for "legacy" use:
|
||||||
target: this.context.target.name,
|
target: this.context.target.name,
|
||||||
targetId: this.context.target.id,
|
targetId: this.context.target.id,
|
||||||
@ -744,7 +736,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Called when the event pick-address is emitted, which is, by the way,
|
* Called when the event pick-address is emitted, which is, by the way,
|
||||||
* called when an address suggestion is picked.
|
* called when an address suggestion is picked.
|
||||||
@ -754,19 +746,19 @@ export default {
|
|||||||
pickAddress(address) {
|
pickAddress(address) {
|
||||||
// console.log('pickAddress', address);
|
// console.log('pickAddress', address);
|
||||||
duplicateAddress(address).then(newAddress => {
|
duplicateAddress(address).then(newAddress => {
|
||||||
this.entity.address = newAddress;
|
this.entity.address = newAddress;
|
||||||
this.flag.loading = false;
|
this.flag.loading = false;
|
||||||
this.flag.success = true;
|
this.flag.success = true;
|
||||||
let payload = {
|
let payload = {
|
||||||
address: newAddress,
|
address: newAddress,
|
||||||
targetOrigin: this.context.target,
|
targetOrigin: this.context.target,
|
||||||
// for "legacy" use:
|
// for "legacy" use:
|
||||||
target: this.context.target.name,
|
target: this.context.target.name,
|
||||||
targetId: this.context.target.id,
|
targetId: this.context.target.id,
|
||||||
addressId: this.entity.address.address_id
|
addressId: this.entity.address.address_id
|
||||||
};
|
};
|
||||||
this.addressChangedCallback(payload);
|
this.addressChangedCallback(payload);
|
||||||
this.closeSuggestPane();
|
this.closeSuggestPane();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -110,15 +110,15 @@ export default {
|
|||||||
)
|
)
|
||||||
// filter persons appearing twice in requestor and resources
|
// filter persons appearing twice in requestor and resources
|
||||||
.filter(
|
.filter(
|
||||||
(e, index, suggested) => {
|
(e, index, suggested) => {
|
||||||
for (let i = 0; i < suggested.length; i = i+1) {
|
for (let i = 0; i < suggested.length; i = i+1) {
|
||||||
if (i < index && e.id === suggested[i].id) {
|
if (i < index && e.id === suggested[i].id) {
|
||||||
return false
|
return false
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}),
|
}),
|
||||||
...mapGetters([
|
...mapGetters([
|
||||||
|
@ -5,8 +5,6 @@ import { getAccompanyingCourse,
|
|||||||
getReferrersSuggested,
|
getReferrersSuggested,
|
||||||
getUsers,
|
getUsers,
|
||||||
} from '../api';
|
} from '../api';
|
||||||
import { patchPerson } from "ChillPersonAssets/vuejs/_api/OnTheFly";
|
|
||||||
import { patchThirdparty } from "ChillThirdPartyAssets/vuejs/_api/OnTheFly";
|
|
||||||
import { makeFetch } from 'ChillMainAssets/lib/api/apiMethods';
|
import { makeFetch } from 'ChillMainAssets/lib/api/apiMethods';
|
||||||
|
|
||||||
|
|
||||||
@ -17,7 +15,7 @@ let scopesPromise = fetchScopes();
|
|||||||
let accompanyingCoursePromise = getAccompanyingCourse(id);
|
let accompanyingCoursePromise = getAccompanyingCourse(id);
|
||||||
|
|
||||||
let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
|
let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
|
||||||
.then(([scopes, accompanyingCourse]) => new Promise((resolve, reject) => {
|
.then(([scopes, accompanyingCourse]) => new Promise((resolve, reject) => {
|
||||||
|
|
||||||
const store = createStore({
|
const store = createStore({
|
||||||
strict: debug,
|
strict: debug,
|
||||||
@ -355,15 +353,14 @@ let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
|
|||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* On The Fly
|
* On The Fly
|
||||||
|
* ? should be into the dedicated component, no ? JF
|
||||||
|
* I think it's better to leave it here, because this action is dispatched in 3 different components,
|
||||||
|
* so lots of code repitition if we would put this in the components themselves.
|
||||||
*/
|
*/
|
||||||
patchOnTheFly({ commit }, payload) {
|
patchOnTheFly({ commit }, payload) {
|
||||||
// TODO should be into the dedicated component, no ? JF
|
|
||||||
// console.log('## action: patch OnTheFly', payload);
|
|
||||||
let body = { type: payload.type };
|
let body = { type: payload.type };
|
||||||
|
|
||||||
if (payload.type === 'person') {
|
if (payload.type === 'person') {
|
||||||
const id = payload.data.id;
|
|
||||||
const url = `/api/1.0/person/person/${id}.json`;
|
|
||||||
body.firstName = payload.data.firstName;
|
body.firstName = payload.data.firstName;
|
||||||
body.lastName = payload.data.lastName;
|
body.lastName = payload.data.lastName;
|
||||||
if (payload.data.birthdate !== null) { body.birthdate = payload.data.birthdate; }
|
if (payload.data.birthdate !== null) { body.birthdate = payload.data.birthdate; }
|
||||||
@ -371,50 +368,27 @@ let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
|
|||||||
body.mobilenumber = payload.data.mobilenumber;
|
body.mobilenumber = payload.data.mobilenumber;
|
||||||
body.gender = payload.data.gender;
|
body.gender = payload.data.gender;
|
||||||
|
|
||||||
makeFetch('PATCH', url, body)
|
const id = payload.data.id;
|
||||||
.then((response) => {
|
const url = `/api/1.0/person/person/${id}.json`;
|
||||||
commit('updatePerson', {target: payload.target, person: response});
|
const mutation = 'updatePerson'
|
||||||
})
|
} else if (payload.type === 'thirdparty') {
|
||||||
.catch((error) => {
|
|
||||||
commit('catchError', error);
|
|
||||||
throw error;
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
// console.log('id', payload.data.id, 'and body', body);
|
|
||||||
|
|
||||||
// patchPerson(payload.data.id, body)
|
|
||||||
// .then(person => new Promise((resolve, reject) => {
|
|
||||||
// // console.log('patch person', person);
|
|
||||||
// commit('updatePerson', { target: payload.target, person: person });
|
|
||||||
// resolve();
|
|
||||||
// }));
|
|
||||||
}
|
|
||||||
else if (payload.type === 'thirdparty') {
|
|
||||||
body.name = payload.data.text;
|
body.name = payload.data.text;
|
||||||
body.email = payload.data.email;
|
body.email = payload.data.email;
|
||||||
body.telephone = payload.data.phonenumber;
|
body.telephone = payload.data.phonenumber;
|
||||||
body.address = { id: payload.data.address.address_id };
|
body.address = { id: payload.data.address.address_id };
|
||||||
|
|
||||||
// console.log('id', payload.data.id, 'and body', body);
|
|
||||||
// patchThirdparty(payload.data.id, body)
|
|
||||||
// .then(thirdparty => new Promise((resolve, reject) => {
|
|
||||||
// console.log('patch thirdparty', thirdparty);
|
|
||||||
// commit('updateThirdparty', { target: payload.target, thirdparty: thirdparty });
|
|
||||||
// resolve();
|
|
||||||
// }));
|
|
||||||
|
|
||||||
const id = payload.data.id;
|
const id = payload.data.id;
|
||||||
const url = `/api/1.0/thirdparty/thirdparty/${id}.json`;
|
const url = `/api/1.0/thirdparty/thirdparty/${id}.json`;
|
||||||
makeFetch('PATCH', url, body)
|
const mutation = 'updateThirdparty'
|
||||||
.then((response) => {
|
|
||||||
commit('updateThirdparty', {target: payload.target, thirdparty: response});
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
commit('catchError', error);
|
|
||||||
throw error;
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
makeFetch('PATCH', url, body)
|
||||||
|
.then((response) => {
|
||||||
|
commit(mutation, {target: payload.target, thirdparty: response});
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
commit('catchError', error);
|
||||||
|
throw error;
|
||||||
|
})
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* Update accompanying course intensity/emergency/confidentiality
|
* Update accompanying course intensity/emergency/confidentiality
|
||||||
@ -509,23 +483,22 @@ let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
|
|||||||
let checkedScopesIds = scopes.map(scope => scope.id);
|
let checkedScopesIds = scopes.map(scope => scope.id);
|
||||||
let removedScopesIds = currentServerScopesIds.filter(id => !checkedScopesIds.includes(id));
|
let removedScopesIds = currentServerScopesIds.filter(id => !checkedScopesIds.includes(id));
|
||||||
let addedScopesIds = checkedScopesIds.filter(id => !currentServerScopesIds.includes(id));
|
let addedScopesIds = checkedScopesIds.filter(id => !currentServerScopesIds.includes(id));
|
||||||
let lengthAfterOperation = currentServerScopesIds.length + addedScopesIds.length
|
let lengthAfterOperation = currentServerScopesIds.length + addedScopesIds.length - removedScopesIds.length;
|
||||||
- removedScopesIds.length;
|
|
||||||
|
|
||||||
return dispatch('updateScopes', {
|
return dispatch('updateScopes', {
|
||||||
addedScopesIds, removedScopesIds
|
addedScopesIds, removedScopesIds
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
throw error;
|
throw error;
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
// warning: when the operation of dispatch are too slow, the user may check / uncheck before
|
// warning: when the operation of dispatch are too slow, the user may check / uncheck before
|
||||||
// the end of the synchronisation with the server (done by dispatch operation). Then, it leads to
|
// the end of the synchronisation with the server (done by dispatch operation). Then, it leads to
|
||||||
// check/uncheck in the UI. I do not know of to avoid it.
|
// check/uncheck in the UI. I do not know of to avoid it.
|
||||||
commit('setScopes', scopes);
|
commit('setScopes', scopes);
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
return dispatch('fetchReferrersSuggested');
|
return dispatch('fetchReferrersSuggested');
|
||||||
});
|
});
|
||||||
/*
|
/*
|
||||||
@ -651,10 +624,10 @@ let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
|
|||||||
let users = await getReferrersSuggested(state.accompanyingCourse);
|
let users = await getReferrersSuggested(state.accompanyingCourse);
|
||||||
commit('setReferrersSuggested', users);
|
commit('setReferrersSuggested', users);
|
||||||
if (
|
if (
|
||||||
null === state.accompanyingCourse.user
|
null === state.accompanyingCourse.user
|
||||||
&& !state.accompanyingCourse.confidential
|
&& !state.accompanyingCourse.confidential
|
||||||
&& !state.accompanyingCourse.step === 'DRAFT'
|
&& !state.accompanyingCourse.step === 'DRAFT'
|
||||||
&& users.length === 1
|
&& users.length === 1
|
||||||
) {
|
) {
|
||||||
// set the user if unique
|
// set the user if unique
|
||||||
commit('updateReferrer', users[0]);
|
commit('updateReferrer', users[0]);
|
||||||
@ -673,11 +646,11 @@ let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
|
|||||||
"object": {
|
"object": {
|
||||||
"type": "accompanying_period",
|
"type": "accompanying_period",
|
||||||
"id": id
|
"id": id
|
||||||
},
|
},
|
||||||
"class": "Chill\\PersonBundle\\Entity\\AccompanyingPeriod",
|
"class": "Chill\\PersonBundle\\Entity\\AccompanyingPeriod",
|
||||||
"roles": [
|
"roles": [
|
||||||
"CHILL_PERSON_ACCOMPANYING_PERIOD_TOGGLE_CONFIDENTIAL"
|
"CHILL_PERSON_ACCOMPANYING_PERIOD_TOGGLE_CONFIDENTIAL"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
return makeFetch('POST', url, body)
|
return makeFetch('POST', url, body)
|
||||||
|
@ -1,51 +1,51 @@
|
|||||||
|
|
||||||
/*
|
// /*
|
||||||
* Endpoint chill_api_single_person_address
|
// * Endpoint chill_api_single_person_address
|
||||||
* method POST, post Person instance
|
// * method POST, post Person instance
|
||||||
*
|
// *
|
||||||
* @id integer - id of Person
|
// * @id integer - id of Person
|
||||||
* @body Object - dictionary with changes to post
|
// * @body Object - dictionary with changes to post
|
||||||
*/
|
// */
|
||||||
const postAddressToPerson = (personId, addressId) => {
|
// const postAddressToPerson = (personId, addressId) => {
|
||||||
//console.log(personId);
|
// //console.log(personId);
|
||||||
//console.log(addressId);
|
// //console.log(addressId);
|
||||||
const body = {
|
// const body = {
|
||||||
'id': addressId
|
// 'id': addressId
|
||||||
};
|
// };
|
||||||
const url = `/api/1.0/person/person/${personId}/address.json`
|
// const url = `/api/1.0/person/person/${personId}/address.json`
|
||||||
return fetch(url, {
|
// return fetch(url, {
|
||||||
method: 'POST',
|
// method: 'POST',
|
||||||
headers: {'Content-Type': 'application/json;charset=utf-8'},
|
// headers: {'Content-Type': 'application/json;charset=utf-8'},
|
||||||
body: JSON.stringify(body)
|
// body: JSON.stringify(body)
|
||||||
})
|
// })
|
||||||
.then(response => {
|
// .then(response => {
|
||||||
if (response.ok) { return response.json(); }
|
// if (response.ok) { return response.json(); }
|
||||||
throw Error('Error with request resource response');
|
// throw Error('Error with request resource response');
|
||||||
});
|
// });
|
||||||
};
|
// };
|
||||||
|
|
||||||
/*
|
// /*
|
||||||
* Endpoint household
|
// * Endpoint household
|
||||||
* method POST, post Household instance
|
// * method POST, post Household instance
|
||||||
*
|
// *
|
||||||
* @id integer - id of household
|
// * @id integer - id of household
|
||||||
* @body Object - dictionary with changes to post
|
// * @body Object - dictionary with changes to post
|
||||||
*/
|
// */
|
||||||
const postAddressToHousehold = (householdId, addressId) => {
|
// const postAddressToHousehold = (householdId, addressId) => {
|
||||||
const body = {
|
// const body = {
|
||||||
'id': addressId
|
// 'id': addressId
|
||||||
};
|
// };
|
||||||
const url = `/api/1.0/person/household/${householdId}/address.json`
|
// const url = `/api/1.0/person/household/${householdId}/address.json`
|
||||||
return fetch(url, {
|
// return fetch(url, {
|
||||||
method: 'POST',
|
// method: 'POST',
|
||||||
headers: {'Content-Type': 'application/json;charset=utf-8'},
|
// headers: {'Content-Type': 'application/json;charset=utf-8'},
|
||||||
body: JSON.stringify(body)
|
// body: JSON.stringify(body)
|
||||||
})
|
// })
|
||||||
.then(response => {
|
// .then(response => {
|
||||||
if (response.ok) { return response.json(); }
|
// if (response.ok) { return response.json(); }
|
||||||
throw Error('Error with request resource response');
|
// throw Error('Error with request resource response');
|
||||||
});
|
// });
|
||||||
};
|
// };
|
||||||
|
|
||||||
|
|
||||||
export { postAddressToPerson, postAddressToHousehold };
|
// export { postAddressToPerson, postAddressToHousehold };
|
||||||
|
@ -1,53 +1,53 @@
|
|||||||
/*
|
/*
|
||||||
* GET a person by id
|
* GET a person by id
|
||||||
*/
|
*/
|
||||||
const getPerson = (id) => {
|
// const getPerson = (id) => {
|
||||||
const url = `/api/1.0/person/person/${id}.json`;
|
// const url = `/api/1.0/person/person/${id}.json`;
|
||||||
return fetch(url)
|
// return fetch(url)
|
||||||
.then(response => {
|
// .then(response => {
|
||||||
if (response.ok) { return response.json(); }
|
// if (response.ok) { return response.json(); }
|
||||||
throw Error('Error with request resource response');
|
// throw Error('Error with request resource response');
|
||||||
});
|
// });
|
||||||
};
|
// };
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* POST a new person
|
* POST a new person
|
||||||
*/
|
*/
|
||||||
const postPerson = (body) => {
|
// const postPerson = (body) => {
|
||||||
const url = `/api/1.0/person/person.json`;
|
// const url = `/api/1.0/person/person.json`;
|
||||||
return fetch(url, {
|
// return fetch(url, {
|
||||||
method: 'POST',
|
// method: 'POST',
|
||||||
headers: {
|
// headers: {
|
||||||
'Content-Type': 'application/json;charset=utf-8'
|
// 'Content-Type': 'application/json;charset=utf-8'
|
||||||
},
|
// },
|
||||||
body: JSON.stringify(body)
|
// body: JSON.stringify(body)
|
||||||
})
|
// })
|
||||||
.then(response => {
|
// .then(response => {
|
||||||
if (response.ok) { return response.json(); }
|
// if (response.ok) { return response.json(); }
|
||||||
throw Error('Error with request resource response');
|
// throw Error('Error with request resource response');
|
||||||
});
|
// });
|
||||||
};
|
// };
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* PATCH an existing person
|
* PATCH an existing person
|
||||||
*/
|
*/
|
||||||
const patchPerson = (id, body) => {
|
// const patchPerson = (id, body) => {
|
||||||
const url = `/api/1.0/person/person/${id}.json`;
|
// const url = `/api/1.0/person/person/${id}.json`;
|
||||||
return fetch(url, {
|
// return fetch(url, {
|
||||||
method: 'PATCH',
|
// method: 'PATCH',
|
||||||
headers: {
|
// headers: {
|
||||||
'Content-Type': 'application/json;charset=utf-8'
|
// 'Content-Type': 'application/json;charset=utf-8'
|
||||||
},
|
// },
|
||||||
body: JSON.stringify(body)
|
// body: JSON.stringify(body)
|
||||||
})
|
// })
|
||||||
.then(response => {
|
// .then(response => {
|
||||||
if (response.ok) { return response.json(); }
|
// if (response.ok) { return response.json(); }
|
||||||
throw Error('Error with request resource response');
|
// throw Error('Error with request resource response');
|
||||||
});
|
// });
|
||||||
};
|
// };
|
||||||
|
|
||||||
export {
|
export {
|
||||||
getPerson,
|
// getPerson,
|
||||||
postPerson,
|
// postPerson,
|
||||||
patchPerson
|
// patchPerson
|
||||||
};
|
};
|
||||||
|
@ -257,28 +257,22 @@ export default {
|
|||||||
saveFormOnTheFly({ type, data }) {
|
saveFormOnTheFly({ type, data }) {
|
||||||
// console.log('saveFormOnTheFly from addPersons, type', type, ', data', data);
|
// console.log('saveFormOnTheFly from addPersons, type', type, ', data', data);
|
||||||
if (type === 'person') {
|
if (type === 'person') {
|
||||||
// console.log('type person with', data);
|
const url = `/api/1.0/person/person.json`;
|
||||||
postPerson(data)
|
|
||||||
.then(person => new Promise((resolve, reject) => {
|
|
||||||
// console.log('onthefly create: post person', person);
|
|
||||||
this.newPriorSuggestion(person);
|
|
||||||
resolve();
|
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
else if (type === 'thirdparty') {
|
else if (type === 'thirdparty') {
|
||||||
const url = `/api/1.0/thirdparty/thirdparty.json`;
|
const url = `/api/1.0/thirdparty/thirdparty.json`;
|
||||||
makeFetch('POST', url, data)
|
|
||||||
.then((response) => {
|
|
||||||
this.newPriorSuggestion(response);
|
|
||||||
})
|
|
||||||
.catch(({name, violations}) => {
|
|
||||||
if (name === 'ValidationException' || name === 'AccessException') {
|
|
||||||
violations.forEach((violation) => this.$toast.open({message: violation}));
|
|
||||||
} else {
|
|
||||||
this.$toast.open({message: 'An error occurred'})
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
makeFetch('POST', url, data)
|
||||||
|
.then((response) => {
|
||||||
|
this.newPriorSuggestion(response);
|
||||||
|
})
|
||||||
|
.catch(({name, violations}) => {
|
||||||
|
if (name === 'ValidationException' || name === 'AccessException') {
|
||||||
|
violations.forEach((violation) => this.$toast.open({message: violation}));
|
||||||
|
} else {
|
||||||
|
this.$toast.open({message: 'An error occurred'})
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -76,6 +76,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getPerson } from '../../_api/OnTheFly';
|
import { getPerson } from '../../_api/OnTheFly';
|
||||||
|
import { makeFetch } from 'ChillMainAssets/lib/api/apiMethods';
|
||||||
import PersonRenderBox from '../Entity/PersonRenderBox.vue';
|
import PersonRenderBox from '../Entity/PersonRenderBox.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -156,12 +157,18 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
loadData() {
|
loadData() {
|
||||||
getPerson(this.id)
|
const url = `/api/1.0/person/person/${this.id}.json`;
|
||||||
.then(person => new Promise((resolve, reject) => {
|
makeFetch('GET', url)
|
||||||
this.person = person;
|
.then((response) => {
|
||||||
console.log('get person', this.person);
|
this.person = response;
|
||||||
resolve();
|
})
|
||||||
}));
|
.catch(({name, violations}) => {
|
||||||
|
if (name === 'ValidationException' || name === 'AccessException') {
|
||||||
|
violations.forEach((violation) => this.$toast.open({message: violation}));
|
||||||
|
} else {
|
||||||
|
this.$toast.open({message: 'An error occurred'})
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user