admin front doleance add new groupe interet
This commit is contained in:
parent
86bd454791
commit
e0651f9ac9
@ -103,6 +103,8 @@ fragment ConcernementFields on Concernement {
|
||||
leprobleme
|
||||
lenquete
|
||||
groupesinterets {
|
||||
id
|
||||
revision_id
|
||||
date {
|
||||
end
|
||||
start
|
||||
@ -119,6 +121,8 @@ fragment ConcernementFields on Concernement {
|
||||
comment_ennonce_doleance
|
||||
aqui_addresse_doleance
|
||||
reception_traitement {
|
||||
id
|
||||
revision_id
|
||||
date {
|
||||
end
|
||||
start
|
||||
@ -135,6 +139,8 @@ fragment ConcernementFields on Concernement {
|
||||
entites_decisionnaires
|
||||
decision_formule
|
||||
mise_en_oeuvre_decision {
|
||||
id
|
||||
revision_id
|
||||
date {
|
||||
end
|
||||
start
|
||||
@ -151,6 +157,8 @@ fragment ConcernementFields on Concernement {
|
||||
aqui_adresse_decision
|
||||
comment_formule_decision
|
||||
receptions_et_applications {
|
||||
id
|
||||
revision_id
|
||||
date {
|
||||
end
|
||||
start
|
||||
|
@ -1298,9 +1298,13 @@ div.add-ressource-btn{
|
||||
@include add-btn();
|
||||
}
|
||||
|
||||
div.add-cerclepo-btn{
|
||||
div.add-cerclepo-btn,
|
||||
div.add-groupinteret-btn{
|
||||
@include add-btn();
|
||||
margin: 0 0 1em;
|
||||
height: 60px;
|
||||
line-height: 50px;
|
||||
>svg{
|
||||
width:30px; height:30px;
|
||||
}
|
||||
}
|
@ -138,6 +138,7 @@ export default {
|
||||
};
|
||||
}(this)), 2000)
|
||||
},
|
||||
// cercle po
|
||||
addCerclePo(e){
|
||||
console.log('add cerclepo');
|
||||
this.reloading_concernements = true;
|
||||
@ -181,6 +182,102 @@ export default {
|
||||
})
|
||||
})
|
||||
},
|
||||
// groupe interet
|
||||
addgroupInteret(e){
|
||||
console.log('add groupe interet');
|
||||
this.reloading_concernements = true;
|
||||
// 1 create paragraphe
|
||||
this.createGroupinteretParag()
|
||||
.then((parag) => {
|
||||
console.log('createGroupinteretParag then parag', parag);
|
||||
// 3 record on concernement field_entites
|
||||
this.recordCerclepoGroupesinteretsField(parag)
|
||||
.then((cercle_politique) => {
|
||||
console.log('cercle_politique', cercle_politique);
|
||||
// reload concernement doleances
|
||||
this.reloadConcernementCerclePol(this.concernement.id)
|
||||
.then(() => {
|
||||
this.reloading_concernements = false;
|
||||
});
|
||||
})
|
||||
})
|
||||
|
||||
},
|
||||
createGroupinteretParag(){
|
||||
return new Promise((resolve, reject) => {
|
||||
// 2 create paragraphe
|
||||
const params_parag = {
|
||||
type: [{target_id: 'groupes_interets'}],
|
||||
parent_type:{value: 'node'},
|
||||
parent_id:{value: this.opened_concernement.opened_doleance.id},
|
||||
parent_field_name:{value: 'field_groupes'}, // entity reference revision
|
||||
};
|
||||
|
||||
const configs = {
|
||||
headers: {'X-CSRF-Token': this.csrf_token}
|
||||
};
|
||||
|
||||
REST.post(`/entity/paragraph?_format=json`, params_parag, configs)
|
||||
.then(({ data }) => {
|
||||
console.log('REST post new parag', data);
|
||||
resolve(data)
|
||||
})
|
||||
.catch(error => {
|
||||
console.warn(`Issue with post new paragraph`, error)
|
||||
reject(error)
|
||||
})
|
||||
})
|
||||
},
|
||||
recordCerclepoGroupesinteretsField(parag){
|
||||
return new Promise((resolve, reject) => {
|
||||
// 3 record concernement field_entite
|
||||
|
||||
// get all the field_entite values, we don't want to ersae everything
|
||||
let groupes = [];
|
||||
|
||||
this.concernement.doleances.forEach((doleance) =>{
|
||||
if (doleance.id === this.opened_concernement.opened_doleance.id) {
|
||||
doleance.groupesinterets.forEach((group) => {
|
||||
console.log('group',group);
|
||||
|
||||
groupes.push({
|
||||
target_id: group.id,
|
||||
target_revision_id: group.revision_id
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
console.log('groupes', groupes);
|
||||
|
||||
// add the new field value
|
||||
groupes.push({
|
||||
target_id: parag.id[0].value,
|
||||
target_revision_id: parag.revision_id[0].value
|
||||
})
|
||||
console.log('groupes', groupes);
|
||||
|
||||
const params_node = {
|
||||
type: 'cercle_politique',
|
||||
nid: [{value: this.opened_concernement.opened_doleance.id}],
|
||||
'field_groupes': groupes
|
||||
};
|
||||
|
||||
const configs = {
|
||||
headers: {'X-CSRF-Token': this.csrf_token}
|
||||
};
|
||||
|
||||
REST.patch(`/node/${this.opened_concernement.opened_doleance.id}?_format=json`, params_node, configs)
|
||||
.then(({ data }) => {
|
||||
console.log('REST patch cercle_politique new field_group', data)
|
||||
resolve(data)
|
||||
})
|
||||
.catch(error => {
|
||||
console.warn(`Issue with patch cercle_politique new field_group`, error)
|
||||
reject(error)
|
||||
})
|
||||
// resolve('test')
|
||||
})
|
||||
},
|
||||
recordConcernementDoleancerField(node){
|
||||
return new Promise((resolve, reject) => {
|
||||
// 2 record concernement field_doleancer
|
||||
@ -496,14 +593,30 @@ export default {
|
||||
</template>
|
||||
|
||||
<template v-slot:footer>
|
||||
|
||||
<template v-if="concernement.can_update">
|
||||
<div v-if="!reloading_concernements" @click="addCerclePo" class="add-cerclepo-btn btn">
|
||||
<span>Ajouter un crecle politique</span>
|
||||
<svg-icon type="mdi" :path="mdiStickerPlusOutline_path"/>
|
||||
</div>
|
||||
<div v-else class="add-cerclepo-btn btn">
|
||||
<div class="loading">Chargement</div>
|
||||
</div>
|
||||
<template v-if="opened_concernement.opened_doleance.field === 'lenquete' || opened_concernement.opened_doleance.field === 'groupesinterets'">
|
||||
<div
|
||||
v-if="!reloading_concernements"
|
||||
@click="addgroupInteret"
|
||||
class="add-groupinteret-btn btn">
|
||||
<span>Ajouter un group d'intérêt</span>
|
||||
<svg-icon type="mdi" :path="mdiStickerPlusOutline_path"/>
|
||||
</div>
|
||||
<div v-else class="add-groupinteret-btn btn">
|
||||
<div class="loading">Chargement</div>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="opened_concernement.opened_doleance.field === 'lenquete'">
|
||||
<div v-if="!reloading_concernements" @click="addCerclePo" class="add-cerclepo-btn btn">
|
||||
<span>Ajouter un crecle politique</span>
|
||||
<svg-icon type="mdi" :path="mdiStickerPlusOutline_path"/>
|
||||
</div>
|
||||
<div v-else class="add-cerclepo-btn btn">
|
||||
<div class="loading">Chargement</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</template>
|
||||
|
||||
|
||||
|
@ -548,7 +548,7 @@ export const ConcernementsStore = defineStore({
|
||||
},
|
||||
reloadConcernementCerclePol(nid){
|
||||
// let tmp_conc = this.concernementsByID[nid];
|
||||
// console.log(`reloadConcernementCerclePol nid: ${nid} ${Math.random()*10000}`);
|
||||
console.log(`reloadConcernementCerclePol nid: ${nid} ${Math.random()*10000}`);
|
||||
return new Promise((resolve, reject) => {
|
||||
const ast = gql`{
|
||||
concernement(id:${nid}) {
|
||||
@ -567,6 +567,8 @@ export const ConcernementsStore = defineStore({
|
||||
leprobleme
|
||||
lenquete
|
||||
groupesinterets {
|
||||
id
|
||||
revision_id
|
||||
date {
|
||||
end
|
||||
start
|
||||
@ -583,6 +585,8 @@ export const ConcernementsStore = defineStore({
|
||||
comment_ennonce_doleance
|
||||
aqui_addresse_doleance
|
||||
reception_traitement {
|
||||
id
|
||||
revision_id
|
||||
date {
|
||||
end
|
||||
start
|
||||
@ -599,6 +603,8 @@ export const ConcernementsStore = defineStore({
|
||||
entites_decisionnaires
|
||||
decision_formule
|
||||
mise_en_oeuvre_decision {
|
||||
id
|
||||
revision_id
|
||||
date {
|
||||
end
|
||||
start
|
||||
@ -615,6 +621,8 @@ export const ConcernementsStore = defineStore({
|
||||
aqui_adresse_decision
|
||||
comment_formule_decision
|
||||
receptions_et_applications {
|
||||
id
|
||||
revision_id
|
||||
date {
|
||||
end
|
||||
start
|
||||
|
Loading…
x
Reference in New Issue
Block a user