remove entities which are present twice

This commit is contained in:
Julien Fastré 2021-11-29 14:28:24 +01:00
parent c64ab86f8e
commit eee9bff711
3 changed files with 43 additions and 7 deletions

View File

@ -109,7 +109,19 @@ export default {
.filter((e) => e !== null)
.filter((e) => e.type === 'person')
.filter(
(p) => !state.accompanyingCourse.participations.map((pa) => pa.person.id).includes(p.id)
(p) => return !state.accompanyingCourse.participations.filter(pa => pa.endDate === null).map((pa) => pa.person.id).includes(p.id)
)
// filter persons appearing twice in requestor and resources
.filter(
(e, index, suggested) => {
for (let i = 0; i < suggested.length; i = i+1) {
if (i < index && e.id === suggested[i].id) {
return false
}
}
return true;
}
)
}),
...mapGetters([

View File

@ -32,7 +32,7 @@
</third-party-render-box>
</template>
</confidential>
<confidential v-else-if="accompanyingCourse.requestor.type === 'person'">
<template v-slot:confidential-content>
<person-render-box render="bloc"
@ -190,11 +190,23 @@ export default {
},
computed: {
...mapState({
suggestedEntities: state => [
...state.accompanyingCourse.participations.map(p => p.person),
...state.accompanyingCourse.resources.map(r => r.resource)
]
.filter((e) => e !== null)
suggestedEntities: state => {
return [
...state.accompanyingCourse.participations.map(p => p.person),
...state.accompanyingCourse.resources.map(r => r.resource)
]
.filter((e) => e !== null)
// filter for same entity appearing twice
.filter((e, index, suggested) => {
for (let i = 0; i < suggested.length; i = i+1) {
if (i < index && e.id === suggested[i].id && e.type === suggested[i].type) {
return false
}
}
return true;
})
}
}),
accompanyingCourse() {
return this.$store.state.accompanyingCourse

View File

@ -89,6 +89,18 @@ export default {
}
}
)
// filter persons appearing twice in requestor and resources
.filter(
(e, index, suggested) => {
for (let i = 0; i < suggested.length; i = i+1) {
if (i < index && e.id === suggested[i].id) {
return false
}
}
return true;
}
)
}),
methods: {
removeResource(item) {