From f7c08f02c22a1bab8d8c32a720a796a915a00eaf Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Mon, 10 May 2021 18:46:21 +0200 Subject: [PATCH] add and remove requestor functions --- .../public/vuejs/AccompanyingCourse/api.js | 34 +++++++++++++++- .../components/Requestor.vue | 40 +++++++++++++------ .../vuejs/AccompanyingCourse/store/index.js | 28 +++++++++++-- 3 files changed, 83 insertions(+), 19 deletions(-) diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/api.js b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/api.js index 9c5b4cf8a..e44bfcda5 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/api.js +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/api.js @@ -28,7 +28,36 @@ const postParticipation = (id, person_id, method) => { headers: { 'Content-Type': 'application/json;charset=utf-8' }, - body: JSON.stringify({id: person_id}) + body: JSON.stringify({person_id: person_id}) + }) + .then(response => { + if (response.ok) { return response.json(); } + throw Error('Error with request resource response'); + }); +}; + +/* +* Endpoint v.2 chill_api_single_accompanying_course_requestor, +* method POST/DELETE, add/close a requestor to the accompanyingCourse +* +* @id integer - id of accompanyingCourse +* @payload object of type person|thirdparty +* @method string - POST or DELETE +*/ +const postRequestor = (id, payload, method) => { + const body = {}; + if (payload !== null) { + const typeId = `${payload.result.type}_id`; + body[typeId] = payload.result[typeId]; + }; + console.log(body); + const url = `/api/1.0/person/accompanying-course/${id}/requestor.json`; + return fetch(url, { + method: method, + headers: { + 'Content-Type': 'application/json;charset=utf-8' + }, + body: JSON.stringify(body) }) .then(response => { if (response.ok) { return response.json(); } @@ -38,5 +67,6 @@ const postParticipation = (id, person_id, method) => { export { getAccompanyingCourse, - postParticipation + postParticipation, + postRequestor }; diff --git a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Requestor.vue b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Requestor.vue index abb1cc784..9b6c0b2e3 100644 --- a/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Requestor.vue +++ b/src/Bundle/ChillPersonBundle/Resources/public/vuejs/AccompanyingCourse/components/Requestor.vue @@ -4,33 +4,36 @@

{{ $t('requestor.title') }}

-
{{ $t('requestor.person_id') }}
-
{{ accompanyingCourse.requestor.person_id }}
+
{{ $t('requestor.type') }}
{{ accompanyingCourse.requestor.type }}
{{ $t('requestor.text') }}
{{ accompanyingCourse.requestor.text }}
-
{{ $t('requestor.firstName') }}
-
{{ accompanyingCourse.requestor.firstName }}
-
{{ $t('requestor.lastName') }}
-
{{ accompanyingCourse.requestor.lastName }}
-
{{ $t('requestor.phonenumber') }}
-
{{ accompanyingCourse.requestor.phonenumber }}
-
{{ $t('requestor.mobilenumber') }}
-
{{ accompanyingCourse.requestor.mobilenumber }}
-
{{ $t('requestor.altNames') }}
-
{{ accompanyingCourse.requestor.altNames }}
{{ $t('requestor.anonymous') }}
{{ accompanyingCourse.requestorAnonymous }}
+
{{ $t('requestor.person_id') }}
+
{{ accompanyingCourse.requestor.person_id }}
{{ $t('requestor.birthdate') }}
{{ $d(accompanyingCourse.requestor.birthdate.datetime, 'short') }}
{{ $t('requestor.center') }}
{{ accompanyingCourse.requestor.center.name }}
+
{{ $t('requestor.firstName') }}
+
{{ accompanyingCourse.requestor.firstName }}
+
{{ $t('requestor.lastName') }}
+
{{ accompanyingCourse.requestor.lastName }}
+
{{ $t('requestor.phonenumber') }}
+
{{ accompanyingCourse.requestor.phonenumber }}
+
{{ $t('requestor.mobilenumber') }}
+
{{ accompanyingCourse.requestor.mobilenumber }}
+
{{ $t('requestor.altNames') }}
+
{{ accompanyingCourse.requestor.altNames }}
+
{{ $t('requestor.person_id') }}
+
{{ accompanyingCourse.requestor.thirdparty_id }}
{{ $t('requestor.address') }}
{{ accompanyingCourse.requestor.address.text }}
{{ $t('requestor.location') }}
@@ -38,7 +41,14 @@
- + + + new Promise((resolve, reject) => { commit('addParticipation', participation); - //addPersons.commit('resetState', payload); + resolve(); + })) + .catch((error) => { + state.errorMsg.push(error.message); + }); + }, + removeRequestor({ commit }) { + postRequestor(id, null, 'DELETE') + .then(requestor => new Promise((resolve, reject) => { + commit('removeRequestor'); resolve(); })) .catch((error) => { @@ -67,7 +80,14 @@ let initPromise = getAccompanyingCourse(id) }, addRequestor({ commit }, payload) { console.log(payload); - commit('addRequestor', payload); + postRequestor(id, payload, 'POST') + .then(requestor => new Promise((resolve, reject) => { + commit('addRequestor', requestor); + resolve(); + })) + .catch((error) => { + state.errorMsg.push(error.message); + }); } } });