mirror of
				https://gitlab.com/Chill-Projet/chill-bundles.git
				synced 2025-11-03 18:58:24 +00:00 
			
		
		
		
	Compare commits
	
		
			5 Commits
		
	
	
		
			testing
			...
			convert_to
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 85e1754af0 | |||
| e94bbc1271 | |||
| fb9df1dba0 | |||
| a579ff96a1 | |||
| cb1002ca04 | 
@@ -10,7 +10,7 @@
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import AddAddress from './components/AddAddress.vue';
 | 
			
		||||
import { postAddressToHousehold, postAddressToPerson } from "ChillPersonAssets/vuejs/_api/AddAddress";
 | 
			
		||||
import { makeFetch } from 'ChillMainAssets/lib/api/apiMethods.js';
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
   name: "App",
 | 
			
		||||
@@ -31,24 +31,16 @@ export default {
 | 
			
		||||
            : this.context.target.name + '_' + this.context.target.id ;
 | 
			
		||||
      }
 | 
			
		||||
   },
 | 
			
		||||
   mounted() {
 | 
			
		||||
      //console.log('AddAddress: data context', this.context);
 | 
			
		||||
      //console.log('AddAddress: data options', this.options);
 | 
			
		||||
   },
 | 
			
		||||
   methods: {
 | 
			
		||||
      displayErrors() {
 | 
			
		||||
         return this.$refs.addAddress.errorMsg;
 | 
			
		||||
      },
 | 
			
		||||
      submitAddress(payload) {
 | 
			
		||||
         console.log('@@@ click on Submit Address Button', payload);
 | 
			
		||||
 | 
			
		||||
         // Existing address
 | 
			
		||||
         if (this.context.edit) {
 | 
			
		||||
 | 
			
		||||
            // address is already linked, just finish !
 | 
			
		||||
            this.$refs.addAddress.afterLastPaneAction({});
 | 
			
		||||
            this.$emit('addressEdited', payload);
 | 
			
		||||
 | 
			
		||||
            // New created address
 | 
			
		||||
         } else {
 | 
			
		||||
            this.postAddressTo(payload);
 | 
			
		||||
@@ -60,51 +52,39 @@ export default {
 | 
			
		||||
      */
 | 
			
		||||
      postAddressTo(payload) {
 | 
			
		||||
         this.$emit('addressCreated', payload);
 | 
			
		||||
         let url = '';
 | 
			
		||||
 | 
			
		||||
         console.log('postAddress', payload.addressId, 'To', payload.target, payload.targetId);
 | 
			
		||||
         switch (payload.target) {
 | 
			
		||||
            case 'household':
 | 
			
		||||
               postAddressToHousehold(payload.targetId, payload.addressId)
 | 
			
		||||
                  .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;
 | 
			
		||||
                  })
 | 
			
		||||
               ;
 | 
			
		||||
               url = `/api/1.0/person/household/${payload.targetId}/address.json`
 | 
			
		||||
               break;
 | 
			
		||||
            case 'person':
 | 
			
		||||
               postAddressToPerson(payload.targetId, payload.addressId)
 | 
			
		||||
                  .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;
 | 
			
		||||
                  })
 | 
			
		||||
               ;
 | 
			
		||||
               url = `/api/1.0/person/person/${payload.targetId}/address.json`
 | 
			
		||||
               break;
 | 
			
		||||
            case 'thirdparty':
 | 
			
		||||
               console.log('TODO write postAddressToThirdparty');
 | 
			
		||||
               // TODO write postAddressToThirdparty;
 | 
			
		||||
               break;
 | 
			
		||||
            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;
 | 
			
		||||
            });
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -229,7 +229,6 @@ import {
 | 
			
		||||
postAddress,
 | 
			
		||||
postPostalCode,
 | 
			
		||||
} from '../api';
 | 
			
		||||
import { postAddressToPerson, postAddressToHousehold } from "ChillPersonAssets/vuejs/_api/AddAddress.js";
 | 
			
		||||
import ShowPane from './ShowPane.vue';
 | 
			
		||||
import SuggestPane from './SuggestPane.vue';
 | 
			
		||||
import EditPane from './EditPane.vue';
 | 
			
		||||
@@ -329,7 +328,7 @@ export default {
 | 
			
		||||
      },
 | 
			
		||||
      hasSuggestions() {
 | 
			
		||||
         if (typeof(this.context.suggestions) !== 'undefined') {
 | 
			
		||||
            console.log('hasSuggestions', this.context.suggestions);
 | 
			
		||||
            // console.log('hasSuggestions', this.context.suggestions);
 | 
			
		||||
            return this.context.suggestions.length > 0;
 | 
			
		||||
         }
 | 
			
		||||
         return false;
 | 
			
		||||
@@ -355,14 +354,7 @@ export default {
 | 
			
		||||
      }
 | 
			
		||||
   },
 | 
			
		||||
   mounted() {
 | 
			
		||||
 | 
			
		||||
      //console.log('validFrom', this.validFrom);
 | 
			
		||||
      //console.log('validTo', this.validTo);
 | 
			
		||||
      //console.log('useDatePane', this.useDatePane);
 | 
			
		||||
 | 
			
		||||
      console.log('Mounted now !');
 | 
			
		||||
      if (this.context.edit) {
 | 
			
		||||
         console.log('getInitialAddress', this.context.addressId);
 | 
			
		||||
         this.getInitialAddress(this.context.addressId);
 | 
			
		||||
      }
 | 
			
		||||
      this.openShowPane();
 | 
			
		||||
@@ -375,32 +367,32 @@ export default {
 | 
			
		||||
      */
 | 
			
		||||
      openShowPane() {
 | 
			
		||||
         if (this.flag.editPane === false && this.bypassFirstStep) {
 | 
			
		||||
            console.log('bypassFirstStep');
 | 
			
		||||
            // console.log('bypassFirstStep');
 | 
			
		||||
            this.closeShowPane();
 | 
			
		||||
            this.openEditPane();
 | 
			
		||||
         } else {
 | 
			
		||||
            this.flag.showPane = true;
 | 
			
		||||
            console.log('step0: open the Show Panel');
 | 
			
		||||
            // console.log('step0: open the Show Panel');
 | 
			
		||||
         }
 | 
			
		||||
      },
 | 
			
		||||
      closeShowPane() {
 | 
			
		||||
         // Show pane can be closed only when openPanesInModal is false
 | 
			
		||||
         if (!this.inModal) {
 | 
			
		||||
            this.flag.showPane = false;
 | 
			
		||||
            console.log('step0: close the Show Panel');
 | 
			
		||||
            // console.log('step0: close the Show Panel');
 | 
			
		||||
         }
 | 
			
		||||
      },
 | 
			
		||||
      openSuggestPane() {
 | 
			
		||||
         this.flag.suggestPane = true;
 | 
			
		||||
         console.log('step1: open the Suggestion Panel');
 | 
			
		||||
         // console.log('step1: open the Suggestion Panel');
 | 
			
		||||
      },
 | 
			
		||||
      closeSuggestPane() {
 | 
			
		||||
         this.flag.suggestPane = false;
 | 
			
		||||
         console.log('step1: close the Suggestion Panel');
 | 
			
		||||
         // console.log('step1: close the Suggestion Panel');
 | 
			
		||||
      },
 | 
			
		||||
      openEditPane() {
 | 
			
		||||
         if (this.flag.suggestPane === false && this.displaySuggestions) {
 | 
			
		||||
            console.log('displaySuggestions');
 | 
			
		||||
            // console.log('displaySuggestions');
 | 
			
		||||
            this.openSuggestPane();
 | 
			
		||||
         } else {
 | 
			
		||||
            if (this.flag.datePane === false) {
 | 
			
		||||
@@ -411,7 +403,7 @@ export default {
 | 
			
		||||
      },
 | 
			
		||||
      closeEditPane() {
 | 
			
		||||
         this.flag.editPane = false;
 | 
			
		||||
         console.log('step2: close the Edit Panel');
 | 
			
		||||
         // console.log('step2: close the Edit Panel');
 | 
			
		||||
         if (!this.context.edit && this.useDatePane) {
 | 
			
		||||
            this.openDatePane();
 | 
			
		||||
         } else {
 | 
			
		||||
@@ -423,15 +415,15 @@ export default {
 | 
			
		||||
      },
 | 
			
		||||
      openDatePane() {
 | 
			
		||||
         this.flag.datePane = true;
 | 
			
		||||
         console.log('step3: open the Date Panel');
 | 
			
		||||
         // console.log('step3: open the Date Panel');
 | 
			
		||||
      },
 | 
			
		||||
      closeDatePane() {
 | 
			
		||||
         this.applyChanges();
 | 
			
		||||
         this.flag.datePane = false;
 | 
			
		||||
         console.log('step3: close the Date Panel');
 | 
			
		||||
         // console.log('step3: close the Date Panel');
 | 
			
		||||
      },
 | 
			
		||||
      resetPane() {
 | 
			
		||||
         console.log('resetPane');
 | 
			
		||||
         // console.log('resetPane');
 | 
			
		||||
         this.flag.suggestPane = false;
 | 
			
		||||
         this.flag.editPane = false;
 | 
			
		||||
         this.flag.datePane = false;
 | 
			
		||||
@@ -446,15 +438,15 @@ export default {
 | 
			
		||||
      afterLastPaneAction(params) {
 | 
			
		||||
         this.initForm();
 | 
			
		||||
         if (this.forceRedirect) {
 | 
			
		||||
            console.log("redirect to backUrl");
 | 
			
		||||
            // console.log("redirect to backUrl");
 | 
			
		||||
            window.location.assign(this.context.backUrl);
 | 
			
		||||
         } else {
 | 
			
		||||
            console.log("don't redirect");
 | 
			
		||||
            // console.log("don't redirect");
 | 
			
		||||
            this.resetPane();
 | 
			
		||||
            if (!this.context.edit) {
 | 
			
		||||
               this.context.edit = true;
 | 
			
		||||
               this.context.addressId = params.addressId;
 | 
			
		||||
               console.log("context is now edit, with address", params.addressId);
 | 
			
		||||
               // console.log("context is now edit, with address", params.addressId);
 | 
			
		||||
            }
 | 
			
		||||
         }
 | 
			
		||||
      },
 | 
			
		||||
@@ -490,7 +482,7 @@ export default {
 | 
			
		||||
               if (this.flag.datePane === true) {
 | 
			
		||||
                  this.flag.datePane = false;
 | 
			
		||||
               }
 | 
			
		||||
               console.log('step2: open the Edit panel');
 | 
			
		||||
               // console.log('step2: open the Edit panel');
 | 
			
		||||
               this.flag.editPane = true;
 | 
			
		||||
               this.flag.loading = false;
 | 
			
		||||
               resolve()
 | 
			
		||||
@@ -533,7 +525,7 @@ export default {
 | 
			
		||||
      *   Make form ready for new changes
 | 
			
		||||
      */
 | 
			
		||||
      initForm() {
 | 
			
		||||
         console.log('init form');
 | 
			
		||||
         // console.log('init form');
 | 
			
		||||
 | 
			
		||||
         this.entity.loaded.addresses = [];
 | 
			
		||||
         this.entity.loaded.cities = [];
 | 
			
		||||
@@ -558,7 +550,7 @@ export default {
 | 
			
		||||
 | 
			
		||||
         this.entity.selected.writeNew.address = this.context.edit;
 | 
			
		||||
         this.entity.selected.writeNew.postcode = this.context.edit;
 | 
			
		||||
         console.log('!! just set writeNew.postcode to', this.entity.selected.writeNew.postcode);
 | 
			
		||||
         // console.log('!! just set writeNew.postcode to', this.entity.selected.writeNew.postcode);
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      /*
 | 
			
		||||
@@ -568,7 +560,7 @@ export default {
 | 
			
		||||
      */
 | 
			
		||||
      applyChanges()
 | 
			
		||||
      {
 | 
			
		||||
         console.log('apply changes');
 | 
			
		||||
         // console.log('apply changes');
 | 
			
		||||
 | 
			
		||||
         let newAddress = {
 | 
			
		||||
            'isNoAddress': this.entity.selected.isNoAddress,
 | 
			
		||||
@@ -604,7 +596,7 @@ export default {
 | 
			
		||||
         }
 | 
			
		||||
 | 
			
		||||
         if (this.validFrom) {
 | 
			
		||||
            console.log('add validFrom in fetch body', this.entity.selected.valid.from);
 | 
			
		||||
            // console.log('add validFrom in fetch body', this.entity.selected.valid.from);
 | 
			
		||||
            newAddress = Object.assign(newAddress, {
 | 
			
		||||
               'validFrom': {
 | 
			
		||||
                  datetime: `${this.entity.selected.valid.from.toISOString().split('T')[0]}T00:00:00+0100`
 | 
			
		||||
@@ -612,7 +604,7 @@ export default {
 | 
			
		||||
            });
 | 
			
		||||
         }
 | 
			
		||||
         if (this.validTo && null !== this.entity.selected.valid.to) {
 | 
			
		||||
            console.log('add validTo in fetch body', this.entity.selected.valid.to);
 | 
			
		||||
            // console.log('add validTo in fetch body', this.entity.selected.valid.to);
 | 
			
		||||
            newAddress = Object.assign(newAddress, {
 | 
			
		||||
               'validTo': {
 | 
			
		||||
                  datetime: `${this.entity.selected.valid.to.toISOString().split('T')[0]}T00:00:00+0100`
 | 
			
		||||
@@ -624,7 +616,7 @@ export default {
 | 
			
		||||
            newPostcode = Object.assign(newPostcode, {
 | 
			
		||||
               'country': {'id': this.entity.selected.country.id },
 | 
			
		||||
            });//TODO why not assign postcodeBody here = Object.assign(postcodeBody, {'origin': 3}); ?
 | 
			
		||||
            console.log('writeNew postcode is true! newPostcode: ', newPostcode);
 | 
			
		||||
            // console.log('writeNew postcode is true! newPostcode: ', newPostcode);
 | 
			
		||||
            newAddress = Object.assign(newAddress, {
 | 
			
		||||
               'newPostcode': newPostcode
 | 
			
		||||
            });
 | 
			
		||||
@@ -649,17 +641,17 @@ export default {
 | 
			
		||||
      */
 | 
			
		||||
      addNewAddress(payload)
 | 
			
		||||
      {
 | 
			
		||||
         console.log('addNewAddress', payload);
 | 
			
		||||
         // console.log('addNewAddress', payload);
 | 
			
		||||
         this.flag.loading = true;
 | 
			
		||||
 | 
			
		||||
         if ('newPostcode' in payload) {
 | 
			
		||||
 | 
			
		||||
            let postcodeBody = payload.newPostcode;
 | 
			
		||||
            postcodeBody = Object.assign(postcodeBody, {'origin': 3});
 | 
			
		||||
            console.log('juste before post new postcode', postcodeBody);
 | 
			
		||||
            // console.log('juste before post new postcode', postcodeBody);
 | 
			
		||||
            return postPostalCode(postcodeBody)
 | 
			
		||||
               .then(postalCode =>  {
 | 
			
		||||
                  console.log('new postcode created', postalCode.id);
 | 
			
		||||
                  // console.log('new postcode created', postalCode.id);
 | 
			
		||||
                  payload.postcode = {'id': postalCode.id };
 | 
			
		||||
                  return this.postNewAddress(payload);
 | 
			
		||||
               });
 | 
			
		||||
@@ -671,7 +663,7 @@ export default {
 | 
			
		||||
 | 
			
		||||
      postNewAddress(payload)
 | 
			
		||||
      {
 | 
			
		||||
         console.log('postNewAddress', payload);
 | 
			
		||||
         // console.log('postNewAddress', payload);
 | 
			
		||||
         return postAddress(payload)
 | 
			
		||||
            .then(address => new Promise((resolve, reject) => {
 | 
			
		||||
               this.entity.address = address;
 | 
			
		||||
@@ -708,10 +700,10 @@ export default {
 | 
			
		||||
            let postcodeBody = payload.newAddress.newPostcode;
 | 
			
		||||
            postcodeBody = Object.assign(postcodeBody, {'origin': 3});
 | 
			
		||||
 | 
			
		||||
            console.log('juste before post new postcode', postcodeBody);
 | 
			
		||||
            // console.log('juste before post new postcode', postcodeBody);
 | 
			
		||||
            return postPostalCode(postcodeBody)
 | 
			
		||||
               .then(postalCode => {
 | 
			
		||||
                  console.log('new postcode created', postalCode.id);
 | 
			
		||||
                  // console.log('new postcode created', postalCode.id);
 | 
			
		||||
                  payload.newAddress.postcode = {'id': postalCode.id };
 | 
			
		||||
                  return this.patchExistingAddress(payload);
 | 
			
		||||
               });
 | 
			
		||||
@@ -722,7 +714,7 @@ export default {
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
      patchExistingAddress(payload) {
 | 
			
		||||
         console.log('patchExistingAddress', payload);
 | 
			
		||||
         // console.log('patchExistingAddress', payload);
 | 
			
		||||
         return patchAddress(payload.addressId, payload.newAddress)
 | 
			
		||||
            .then(address => new Promise((resolve, reject) => {
 | 
			
		||||
                  this.entity.address = address;
 | 
			
		||||
@@ -752,7 +744,7 @@ export default {
 | 
			
		||||
      * @param address the address selected
 | 
			
		||||
      */
 | 
			
		||||
      pickAddress(address) {
 | 
			
		||||
         console.log('pickAddress', address);
 | 
			
		||||
         // console.log('pickAddress', address);
 | 
			
		||||
         duplicateAddress(address).then(newAddress => {
 | 
			
		||||
            this.entity.address = newAddress;
 | 
			
		||||
            this.flag.loading = false;
 | 
			
		||||
 
 | 
			
		||||
@@ -108,7 +108,7 @@ export default {
 | 
			
		||||
   },
 | 
			
		||||
   methods: {
 | 
			
		||||
      saveFormOnTheFly(payload) {
 | 
			
		||||
         console.log('saveFormOnTheFly: type', payload.type, ', data', payload.data);
 | 
			
		||||
         // console.log('saveFormOnTheFly: type', payload.type, ', data', payload.data);
 | 
			
		||||
         payload.target = 'participation';
 | 
			
		||||
         this.$store.dispatch('patchOnTheFly', payload)
 | 
			
		||||
            .catch(({name, violations}) => {
 | 
			
		||||
 
 | 
			
		||||
@@ -58,7 +58,7 @@ export default {
 | 
			
		||||
   },
 | 
			
		||||
   methods: {
 | 
			
		||||
      saveFormOnTheFly(payload) {
 | 
			
		||||
         console.log('saveFormOnTheFly: type', payload.type, ', data', payload.data);
 | 
			
		||||
         // console.log('saveFormOnTheFly: type', payload.type, ', data', payload.data);
 | 
			
		||||
         payload.target = 'resource';
 | 
			
		||||
         this.$store.dispatch('patchOnTheFly', payload)
 | 
			
		||||
            .catch(({name, violations}) => {
 | 
			
		||||
 
 | 
			
		||||
@@ -5,8 +5,6 @@ import { getAccompanyingCourse,
 | 
			
		||||
   getReferrersSuggested,
 | 
			
		||||
   getUsers,
 | 
			
		||||
} from '../api';
 | 
			
		||||
import { patchPerson } from "ChillPersonAssets/vuejs/_api/OnTheFly";
 | 
			
		||||
import { patchThirdparty } from "ChillThirdPartyAssets/vuejs/_api/OnTheFly";
 | 
			
		||||
import { makeFetch } from 'ChillMainAssets/lib/api/apiMethods';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -121,7 +119,7 @@ let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
 | 
			
		||||
               state.accompanyingCourse.resources.push(resource);
 | 
			
		||||
            },
 | 
			
		||||
            updatePerson(state, payload) {
 | 
			
		||||
               console.log('### mutation: updatePerson', payload);
 | 
			
		||||
               // console.log('### mutation: updatePerson', payload);
 | 
			
		||||
               let i = null;
 | 
			
		||||
               switch (payload.target) {
 | 
			
		||||
                  case 'participation':
 | 
			
		||||
@@ -138,7 +136,7 @@ let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
 | 
			
		||||
               }
 | 
			
		||||
            },
 | 
			
		||||
            updateThirdparty(state, payload) {
 | 
			
		||||
               console.log('### mutation: updateThirdparty', payload);
 | 
			
		||||
               // console.log('### mutation: updateThirdparty', payload);
 | 
			
		||||
               let i = null;
 | 
			
		||||
               switch (payload.target) {
 | 
			
		||||
                  case 'requestor':
 | 
			
		||||
@@ -166,11 +164,11 @@ let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
 | 
			
		||||
               state.accompanyingCourse.initialComment = comment;
 | 
			
		||||
            },
 | 
			
		||||
            updateSocialIssues(state, value) {
 | 
			
		||||
               console.log('updateSocialIssues', value);
 | 
			
		||||
               // console.log('updateSocialIssues', value);
 | 
			
		||||
               state.accompanyingCourse.socialIssues = value;
 | 
			
		||||
            },
 | 
			
		||||
            refreshSocialIssues(state, issues) {
 | 
			
		||||
               console.log('refreshSocialIssues', issues);
 | 
			
		||||
               // console.log('refreshSocialIssues', issues);
 | 
			
		||||
               state.accompanyingCourse.socialIssues = issues;
 | 
			
		||||
            },
 | 
			
		||||
            updateOrigin(state, value) {
 | 
			
		||||
@@ -355,11 +353,16 @@ let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
 | 
			
		||||
            },
 | 
			
		||||
            /**
 | 
			
		||||
             * 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) {
 | 
			
		||||
               // TODO should be into the dedicated component, no ? JF
 | 
			
		||||
               console.log('## action: patch OnTheFly', payload);
 | 
			
		||||
               let body = { type: payload.type };
 | 
			
		||||
               const id = payload.data.id;
 | 
			
		||||
               let url = `/api/1.0/person/person/${id}.json`;
 | 
			
		||||
               let mutation = "updatePerson";
 | 
			
		||||
 | 
			
		||||
               if (payload.type === 'person') {
 | 
			
		||||
                  body.firstName = payload.data.firstName;
 | 
			
		||||
                  body.lastName = payload.data.lastName;
 | 
			
		||||
@@ -367,27 +370,22 @@ let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
 | 
			
		||||
                     body.phonenumber = payload.data.phonenumber;
 | 
			
		||||
                     body.mobilenumber = payload.data.mobilenumber;
 | 
			
		||||
                     body.gender = payload.data.gender;
 | 
			
		||||
                  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') {
 | 
			
		||||
               } else if (payload.type === 'thirdparty') {
 | 
			
		||||
                  body.name = payload.data.text;
 | 
			
		||||
                  body.email = payload.data.email;
 | 
			
		||||
                  body.telephone = payload.data.phonenumber;
 | 
			
		||||
                  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();
 | 
			
		||||
                  }));
 | 
			
		||||
 | 
			
		||||
                  url = `/api/1.0/thirdparty/thirdparty/${id}.json`;
 | 
			
		||||
                  mutation = 'updateThirdparty'
 | 
			
		||||
               }
 | 
			
		||||
               makeFetch('PATCH', url, body)
 | 
			
		||||
                  .then((response) => {
 | 
			
		||||
                     commit(mutation, {target: payload.target, thirdparty: response});
 | 
			
		||||
                  })
 | 
			
		||||
                  .catch((error) => {
 | 
			
		||||
                     throw error;
 | 
			
		||||
                  })
 | 
			
		||||
            },
 | 
			
		||||
            /**
 | 
			
		||||
             * Update accompanying course intensity/emergency/confidentiality
 | 
			
		||||
@@ -482,8 +480,7 @@ let initPromise = Promise.all([scopesPromise, accompanyingCoursePromise])
 | 
			
		||||
               let checkedScopesIds = scopes.map(scope => scope.id);
 | 
			
		||||
               let removedScopesIds = currentServerScopesIds.filter(id => !checkedScopesIds.includes(id));
 | 
			
		||||
               let addedScopesIds = checkedScopesIds.filter(id => !currentServerScopesIds.includes(id));
 | 
			
		||||
               let lengthAfterOperation = currentServerScopesIds.length + addedScopesIds.length
 | 
			
		||||
                 - removedScopesIds.length;
 | 
			
		||||
               let lengthAfterOperation = currentServerScopesIds.length + addedScopesIds.length - removedScopesIds.length;
 | 
			
		||||
 | 
			
		||||
               return dispatch('updateScopes', {
 | 
			
		||||
                  addedScopesIds, removedScopesIds
 | 
			
		||||
 
 | 
			
		||||
@@ -1,51 +1,51 @@
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
* Endpoint chill_api_single_person_address
 | 
			
		||||
* method POST, post Person instance
 | 
			
		||||
*
 | 
			
		||||
*  @id     integer - id of Person
 | 
			
		||||
*  @body   Object - dictionary with changes to post
 | 
			
		||||
*/
 | 
			
		||||
const postAddressToPerson = (personId, addressId) => {
 | 
			
		||||
    //console.log(personId);
 | 
			
		||||
    //console.log(addressId);
 | 
			
		||||
    const body = {
 | 
			
		||||
        'id': addressId
 | 
			
		||||
    };
 | 
			
		||||
    const url = `/api/1.0/person/person/${personId}/address.json`
 | 
			
		||||
    return fetch(url, {
 | 
			
		||||
        method: 'POST',
 | 
			
		||||
        headers: {'Content-Type': 'application/json;charset=utf-8'},
 | 
			
		||||
        body: JSON.stringify(body)
 | 
			
		||||
    })
 | 
			
		||||
        .then(response => {
 | 
			
		||||
            if (response.ok) { return response.json(); }
 | 
			
		||||
            throw Error('Error with request resource response');
 | 
			
		||||
        });
 | 
			
		||||
};
 | 
			
		||||
// /*
 | 
			
		||||
// * Endpoint chill_api_single_person_address
 | 
			
		||||
// * method POST, post Person instance
 | 
			
		||||
// *
 | 
			
		||||
// *  @id     integer - id of Person
 | 
			
		||||
// *  @body   Object - dictionary with changes to post
 | 
			
		||||
// */
 | 
			
		||||
// const postAddressToPerson = (personId, addressId) => {
 | 
			
		||||
//     //console.log(personId);
 | 
			
		||||
//     //console.log(addressId);
 | 
			
		||||
//     const body = {
 | 
			
		||||
//         'id': addressId
 | 
			
		||||
//     };
 | 
			
		||||
//     const url = `/api/1.0/person/person/${personId}/address.json`
 | 
			
		||||
//     return fetch(url, {
 | 
			
		||||
//         method: 'POST',
 | 
			
		||||
//         headers: {'Content-Type': 'application/json;charset=utf-8'},
 | 
			
		||||
//         body: JSON.stringify(body)
 | 
			
		||||
//     })
 | 
			
		||||
//         .then(response => {
 | 
			
		||||
//             if (response.ok) { return response.json(); }
 | 
			
		||||
//             throw Error('Error with request resource response');
 | 
			
		||||
//         });
 | 
			
		||||
// };
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
* Endpoint household
 | 
			
		||||
* method POST, post Household instance
 | 
			
		||||
*
 | 
			
		||||
*  @id     integer - id of household
 | 
			
		||||
*  @body   Object - dictionary with changes to post
 | 
			
		||||
*/
 | 
			
		||||
const postAddressToHousehold = (householdId, addressId) => {
 | 
			
		||||
    const body = {
 | 
			
		||||
        'id': addressId
 | 
			
		||||
    };
 | 
			
		||||
    const url = `/api/1.0/person/household/${householdId}/address.json`
 | 
			
		||||
    return fetch(url, {
 | 
			
		||||
        method: 'POST',
 | 
			
		||||
        headers: {'Content-Type': 'application/json;charset=utf-8'},
 | 
			
		||||
        body: JSON.stringify(body)
 | 
			
		||||
    })
 | 
			
		||||
        .then(response => {
 | 
			
		||||
            if (response.ok) { return response.json(); }
 | 
			
		||||
            throw Error('Error with request resource response');
 | 
			
		||||
        });
 | 
			
		||||
};
 | 
			
		||||
// /*
 | 
			
		||||
// * Endpoint household
 | 
			
		||||
// * method POST, post Household instance
 | 
			
		||||
// *
 | 
			
		||||
// *  @id     integer - id of household
 | 
			
		||||
// *  @body   Object - dictionary with changes to post
 | 
			
		||||
// */
 | 
			
		||||
// const postAddressToHousehold = (householdId, addressId) => {
 | 
			
		||||
//     const body = {
 | 
			
		||||
//         'id': addressId
 | 
			
		||||
//     };
 | 
			
		||||
//     const url = `/api/1.0/person/household/${householdId}/address.json`
 | 
			
		||||
//     return fetch(url, {
 | 
			
		||||
//         method: 'POST',
 | 
			
		||||
//         headers: {'Content-Type': 'application/json;charset=utf-8'},
 | 
			
		||||
//         body: JSON.stringify(body)
 | 
			
		||||
//     })
 | 
			
		||||
//         .then(response => {
 | 
			
		||||
//             if (response.ok) { return response.json(); }
 | 
			
		||||
//             throw Error('Error with request resource response');
 | 
			
		||||
//         });
 | 
			
		||||
// };
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
export { postAddressToPerson, postAddressToHousehold };
 | 
			
		||||
// export { postAddressToPerson, postAddressToHousehold };
 | 
			
		||||
 
 | 
			
		||||
@@ -1,53 +1,53 @@
 | 
			
		||||
/*
 | 
			
		||||
* GET a person by id
 | 
			
		||||
*/
 | 
			
		||||
const getPerson = (id) => {
 | 
			
		||||
   const url = `/api/1.0/person/person/${id}.json`;
 | 
			
		||||
   return fetch(url)
 | 
			
		||||
      .then(response => {
 | 
			
		||||
         if (response.ok) { return response.json(); }
 | 
			
		||||
         throw Error('Error with request resource response');
 | 
			
		||||
      });
 | 
			
		||||
};
 | 
			
		||||
// const getPerson = (id) => {
 | 
			
		||||
//    const url = `/api/1.0/person/person/${id}.json`;
 | 
			
		||||
//    return fetch(url)
 | 
			
		||||
//       .then(response => {
 | 
			
		||||
//          if (response.ok) { return response.json(); }
 | 
			
		||||
//          throw Error('Error with request resource response');
 | 
			
		||||
//       });
 | 
			
		||||
// };
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
* POST a new person
 | 
			
		||||
*/
 | 
			
		||||
const postPerson = (body) => {
 | 
			
		||||
   const url = `/api/1.0/person/person.json`;
 | 
			
		||||
   return fetch(url, {
 | 
			
		||||
         method: 'POST',
 | 
			
		||||
         headers: {
 | 
			
		||||
           'Content-Type': 'application/json;charset=utf-8'
 | 
			
		||||
         },
 | 
			
		||||
         body: JSON.stringify(body)
 | 
			
		||||
      })
 | 
			
		||||
      .then(response => {
 | 
			
		||||
         if (response.ok) { return response.json(); }
 | 
			
		||||
         throw Error('Error with request resource response');
 | 
			
		||||
      });
 | 
			
		||||
};
 | 
			
		||||
// const postPerson = (body) => {
 | 
			
		||||
//    const url = `/api/1.0/person/person.json`;
 | 
			
		||||
//    return fetch(url, {
 | 
			
		||||
//          method: 'POST',
 | 
			
		||||
//          headers: {
 | 
			
		||||
//          'Content-Type': 'application/json;charset=utf-8'
 | 
			
		||||
//          },
 | 
			
		||||
//          body: JSON.stringify(body)
 | 
			
		||||
//       })
 | 
			
		||||
//       .then(response => {
 | 
			
		||||
//          if (response.ok) { return response.json(); }
 | 
			
		||||
//          throw Error('Error with request resource response');
 | 
			
		||||
//       });
 | 
			
		||||
// };
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
* PATCH an existing person
 | 
			
		||||
*/
 | 
			
		||||
const patchPerson = (id, body) => {
 | 
			
		||||
    const url = `/api/1.0/person/person/${id}.json`;
 | 
			
		||||
    return fetch(url, {
 | 
			
		||||
        method: 'PATCH',
 | 
			
		||||
        headers: {
 | 
			
		||||
            'Content-Type': 'application/json;charset=utf-8'
 | 
			
		||||
        },
 | 
			
		||||
        body: JSON.stringify(body)
 | 
			
		||||
    })
 | 
			
		||||
        .then(response => {
 | 
			
		||||
            if (response.ok) { return response.json(); }
 | 
			
		||||
            throw Error('Error with request resource response');
 | 
			
		||||
        });
 | 
			
		||||
};
 | 
			
		||||
// const patchPerson = (id, body) => {
 | 
			
		||||
//    const url = `/api/1.0/person/person/${id}.json`;
 | 
			
		||||
//    return fetch(url, {
 | 
			
		||||
//       method: 'PATCH',
 | 
			
		||||
//       headers: {
 | 
			
		||||
//          'Content-Type': 'application/json;charset=utf-8'
 | 
			
		||||
//       },
 | 
			
		||||
//       body: JSON.stringify(body)
 | 
			
		||||
//    })
 | 
			
		||||
//       .then(response => {
 | 
			
		||||
//          if (response.ok) { return response.json(); }
 | 
			
		||||
//          throw Error('Error with request resource response');
 | 
			
		||||
//       });
 | 
			
		||||
// };
 | 
			
		||||
 | 
			
		||||
export {
 | 
			
		||||
   getPerson,
 | 
			
		||||
   postPerson,
 | 
			
		||||
   patchPerson
 | 
			
		||||
   // getPerson,
 | 
			
		||||
   // postPerson,
 | 
			
		||||
   // patchPerson
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -232,16 +232,16 @@ export default {
 | 
			
		||||
      addPriorSuggestion() {
 | 
			
		||||
         //console.log('addPriorSuggestion', this.hasPriorSuggestion);
 | 
			
		||||
         if (this.hasPriorSuggestion) {
 | 
			
		||||
            console.log('addPriorSuggestion',);
 | 
			
		||||
            // console.log('addPriorSuggestion',);
 | 
			
		||||
            this.suggested.unshift(this.priorSuggestion);
 | 
			
		||||
            this.selected.unshift(this.priorSuggestion);
 | 
			
		||||
 | 
			
		||||
            console.log('reset priorSuggestion');
 | 
			
		||||
            // console.log('reset priorSuggestion');
 | 
			
		||||
            this.newPriorSuggestion(null);
 | 
			
		||||
         }
 | 
			
		||||
      },
 | 
			
		||||
      newPriorSuggestion(entity) {
 | 
			
		||||
         console.log('newPriorSuggestion', entity);
 | 
			
		||||
         // console.log('newPriorSuggestion', entity);
 | 
			
		||||
         if (entity !== null) {
 | 
			
		||||
            let suggestion = {
 | 
			
		||||
               key: entity.type + entity.id,
 | 
			
		||||
@@ -249,31 +249,30 @@ export default {
 | 
			
		||||
               result: entity
 | 
			
		||||
            }
 | 
			
		||||
            this.search.priorSuggestion = suggestion;
 | 
			
		||||
            console.log('search priorSuggestion', this.search.priorSuggestion);
 | 
			
		||||
            // console.log('search priorSuggestion', this.search.priorSuggestion);
 | 
			
		||||
         } else {
 | 
			
		||||
            this.search.priorSuggestion = {};
 | 
			
		||||
         }
 | 
			
		||||
      },
 | 
			
		||||
      saveFormOnTheFly({ type, data }) {
 | 
			
		||||
         console.log('saveFormOnTheFly from addPersons, type', type, ', data', data);
 | 
			
		||||
         // console.log('saveFormOnTheFly from addPersons, type', type, ', data', data);
 | 
			
		||||
         if (type === 'person') {
 | 
			
		||||
            console.log('type person with', data);
 | 
			
		||||
            postPerson(data)
 | 
			
		||||
               .then(person => new Promise((resolve, reject) => {
 | 
			
		||||
                  console.log('onthefly create: post person', person);
 | 
			
		||||
                  this.newPriorSuggestion(person);
 | 
			
		||||
                  resolve();
 | 
			
		||||
               }));
 | 
			
		||||
            const url = `/api/1.0/person/person.json`;
 | 
			
		||||
         }
 | 
			
		||||
         else if (type === 'thirdparty') {
 | 
			
		||||
            console.log('type thirdparty with', data);
 | 
			
		||||
            postThirdparty(data)
 | 
			
		||||
               .then(thirdparty => new Promise((resolve, reject) => {
 | 
			
		||||
                  console.log('onthefly create: post thirdparty', thirdparty);
 | 
			
		||||
                  this.newPriorSuggestion(thirdparty);
 | 
			
		||||
                  resolve();
 | 
			
		||||
               }));
 | 
			
		||||
            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'})
 | 
			
		||||
               }
 | 
			
		||||
            });
 | 
			
		||||
      }
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -76,6 +76,7 @@
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { getPerson } from '../../_api/OnTheFly';
 | 
			
		||||
import { makeFetch } from 'ChillMainAssets/lib/api/apiMethods';
 | 
			
		||||
import PersonRenderBox from '../Entity/PersonRenderBox.vue';
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
@@ -156,12 +157,18 @@ export default {
 | 
			
		||||
   },
 | 
			
		||||
   methods: {
 | 
			
		||||
      loadData() {
 | 
			
		||||
         getPerson(this.id)
 | 
			
		||||
            .then(person => new Promise((resolve, reject) => {
 | 
			
		||||
               this.person = person;
 | 
			
		||||
               console.log('get person', this.person);
 | 
			
		||||
               resolve();
 | 
			
		||||
         }));
 | 
			
		||||
         const url = `/api/1.0/person/person/${this.id}.json`;
 | 
			
		||||
         makeFetch('GET', url)
 | 
			
		||||
            .then((response) => {
 | 
			
		||||
               this.person = 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'})
 | 
			
		||||
               }
 | 
			
		||||
            });
 | 
			
		||||
      }
 | 
			
		||||
   }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,55 +1,55 @@
 | 
			
		||||
/*
 | 
			
		||||
* GET a thirdparty by id
 | 
			
		||||
*/
 | 
			
		||||
const getThirdparty = (id) => {
 | 
			
		||||
   const url = `/api/1.0/thirdparty/thirdparty/${id}.json`;
 | 
			
		||||
   return fetch(url)
 | 
			
		||||
      .then(response => {
 | 
			
		||||
         if (response.ok) { 
 | 
			
		||||
             return response.json(); 
 | 
			
		||||
            }
 | 
			
		||||
         throw Error('Error with request resource response');
 | 
			
		||||
      });
 | 
			
		||||
};
 | 
			
		||||
// const getThirdparty = (id) => {
 | 
			
		||||
//    const url = `/api/1.0/thirdparty/thirdparty/${id}.json`;
 | 
			
		||||
//    return fetch(url)
 | 
			
		||||
//       .then(response => {
 | 
			
		||||
//          if (response.ok) { 
 | 
			
		||||
//              return response.json(); 
 | 
			
		||||
//             }
 | 
			
		||||
//          throw Error('Error with request resource response');
 | 
			
		||||
//       });
 | 
			
		||||
// };
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
* POST a new thirdparty
 | 
			
		||||
*/
 | 
			
		||||
const postThirdparty = (body) => {
 | 
			
		||||
   const url = `/api/1.0/thirdparty/thirdparty.json`;
 | 
			
		||||
   return fetch(url, {
 | 
			
		||||
         method: 'POST',
 | 
			
		||||
         headers: {
 | 
			
		||||
           'Content-Type': 'application/json;charset=utf-8'
 | 
			
		||||
         },
 | 
			
		||||
         body: JSON.stringify(body)
 | 
			
		||||
      })
 | 
			
		||||
      .then(response => {
 | 
			
		||||
         if (response.ok) { return response.json(); }
 | 
			
		||||
         throw Error('Error with request resource response');
 | 
			
		||||
      });
 | 
			
		||||
};
 | 
			
		||||
// const postThirdparty = (body) => {
 | 
			
		||||
//    const url = `/api/1.0/thirdparty/thirdparty.json`;
 | 
			
		||||
//    return fetch(url, {
 | 
			
		||||
//          method: 'POST',
 | 
			
		||||
//          headers: {
 | 
			
		||||
//            'Content-Type': 'application/json;charset=utf-8'
 | 
			
		||||
//          },
 | 
			
		||||
//          body: JSON.stringify(body)
 | 
			
		||||
//       })
 | 
			
		||||
//       .then(response => {
 | 
			
		||||
//          if (response.ok) { return response.json(); }
 | 
			
		||||
//          throw Error('Error with request resource response');
 | 
			
		||||
//       });
 | 
			
		||||
// };
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
* PATCH an existing thirdparty
 | 
			
		||||
*/
 | 
			
		||||
const patchThirdparty = (id, body) => {
 | 
			
		||||
    const url = `/api/1.0/thirdparty/thirdparty/${id}.json`;
 | 
			
		||||
    return fetch(url, {
 | 
			
		||||
        method: 'PATCH',
 | 
			
		||||
        headers: {
 | 
			
		||||
            'Content-Type': 'application/json;charset=utf-8'
 | 
			
		||||
        },
 | 
			
		||||
        body: JSON.stringify(body)
 | 
			
		||||
    })
 | 
			
		||||
        .then(response => {
 | 
			
		||||
            if (response.ok) { return response.json(); }
 | 
			
		||||
            throw Error('Error with request resource response');
 | 
			
		||||
        });
 | 
			
		||||
};
 | 
			
		||||
// const patchThirdparty = (id, body) => {
 | 
			
		||||
//     const url = `/api/1.0/thirdparty/thirdparty/${id}.json`;
 | 
			
		||||
//     return fetch(url, {
 | 
			
		||||
//         method: 'PATCH',
 | 
			
		||||
//         headers: {
 | 
			
		||||
//             'Content-Type': 'application/json;charset=utf-8'
 | 
			
		||||
//         },
 | 
			
		||||
//         body: JSON.stringify(body)
 | 
			
		||||
//     })
 | 
			
		||||
//         .then(response => {
 | 
			
		||||
//             if (response.ok) { return response.json(); }
 | 
			
		||||
//             throw Error('Error with request resource response');
 | 
			
		||||
//         });
 | 
			
		||||
// };
 | 
			
		||||
 | 
			
		||||
export {
 | 
			
		||||
   getThirdparty,
 | 
			
		||||
   postThirdparty,
 | 
			
		||||
   patchThirdparty
 | 
			
		||||
   // getThirdparty,
 | 
			
		||||
   // postThirdparty,
 | 
			
		||||
   // patchThirdparty
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -94,7 +94,7 @@
 | 
			
		||||
<script>
 | 
			
		||||
import ThirdPartyRenderBox from '../Entity/ThirdPartyRenderBox.vue';
 | 
			
		||||
import AddAddress from 'ChillMainAssets/vuejs/Address/components/AddAddress';
 | 
			
		||||
import { getThirdparty } from '../../_api/OnTheFly';
 | 
			
		||||
import { makeFetch } from 'ChillMainAssets/lib/api/apiMethods'
 | 
			
		||||
 | 
			
		||||
const i18n = {
 | 
			
		||||
    messages: {
 | 
			
		||||
@@ -165,38 +165,58 @@ export default {
 | 
			
		||||
             context.addressId = this.thirdparty.address.address_id;
 | 
			
		||||
             context.edit = true;
 | 
			
		||||
         }
 | 
			
		||||
         console.log('context', context);
 | 
			
		||||
         // console.log('context', context);
 | 
			
		||||
         //this.context = context; <--
 | 
			
		||||
         return context;
 | 
			
		||||
      },
 | 
			
		||||
   },
 | 
			
		||||
   methods: {
 | 
			
		||||
      loadData(){
 | 
			
		||||
         getThirdparty(this.id).then(thirdparty => new Promise((resolve, reject) => {
 | 
			
		||||
            this.thirdparty = thirdparty;
 | 
			
		||||
            this.thirdparty.kind = thirdparty.kind;
 | 
			
		||||
            console.log('get thirdparty', thirdparty);
 | 
			
		||||
         const url = `/api/1.0/thirdparty/thirdparty/${this.id}.json`;
 | 
			
		||||
         makeFetch('GET', url)
 | 
			
		||||
            .then((response) => {
 | 
			
		||||
               console.log(response);
 | 
			
		||||
               this.thirdparty = response;
 | 
			
		||||
               this.thirdparty.kind = response.kind
 | 
			
		||||
                  if (this.action !== 'show') {
 | 
			
		||||
                if (thirdparty.address !== null) {
 | 
			
		||||
                     if (response.address !== null) {
 | 
			
		||||
                        // bof! we force getInitialAddress because addressId not available when mounted
 | 
			
		||||
                    this.$refs.addAddress.getInitialAddress(thirdparty.address.address_id);
 | 
			
		||||
                        this.$refs.addAddress.getInitialAddress(response.address.address_id);
 | 
			
		||||
                     }
 | 
			
		||||
                  }
 | 
			
		||||
            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'})
 | 
			
		||||
               }
 | 
			
		||||
            });
 | 
			
		||||
         // getThirdparty(this.id).then(thirdparty => new Promise((resolve, reject) => {
 | 
			
		||||
         //    this.thirdparty = thirdparty;
 | 
			
		||||
         //    this.thirdparty.kind = thirdparty.kind;
 | 
			
		||||
         //    console.log('get thirdparty', thirdparty);
 | 
			
		||||
         //    if (this.action !== 'show') {
 | 
			
		||||
         //        if (thirdparty.address !== null) {
 | 
			
		||||
         //            // bof! we force getInitialAddress because addressId not available when mounted
 | 
			
		||||
         //            this.$refs.addAddress.getInitialAddress(thirdparty.address.address_id);
 | 
			
		||||
         //        }
 | 
			
		||||
         //    }
 | 
			
		||||
         //    resolve();
 | 
			
		||||
         // }));
 | 
			
		||||
      },
 | 
			
		||||
      submitAddress(payload) {
 | 
			
		||||
         console.log('submitAddress', payload);
 | 
			
		||||
         // console.log('submitAddress', payload);
 | 
			
		||||
          if (typeof payload.addressId !== 'undefined') { // <--
 | 
			
		||||
              this.context.edit = true;
 | 
			
		||||
              this.context.addressId = payload.addressId; // bof! use legacy and not legacy in payload
 | 
			
		||||
              this.thirdparty.address = payload.address;  // <--
 | 
			
		||||
              console.log('switch address to edit mode', this.context);
 | 
			
		||||
            //   console.log('switch address to edit mode', this.context);
 | 
			
		||||
          }
 | 
			
		||||
      }
 | 
			
		||||
   },
 | 
			
		||||
   mounted() {
 | 
			
		||||
       console.log('mounted', this.action);
 | 
			
		||||
      //  console.log('mounted', this.action);
 | 
			
		||||
      if (this.action !== 'create') {
 | 
			
		||||
         this.loadData();
 | 
			
		||||
      } else {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user