accompanying course: filter referrer by job

This commit is contained in:
nobohan 2022-01-19 17:48:00 +01:00
parent 040c5f8847
commit d1918e4be0

View File

@ -3,24 +3,6 @@
<h2><a id="section-80"></a>{{ $t('referrer.title') }}</h2>
<div>
<label class="col-form-label" for="selectReferrer">
{{ $t('referrer.label') }}
</label>
<VueMultiselect
name="selectReferrer"
label="text"
track-by="id"
:multiple="false"
:searchable="true"
:placeholder="$t('referrer.placeholder')"
v-model="value"
:options="users"
:select-label="$t('multiselect.select_label')"
:deselect-label="$t('multiselect.deselect_label')"
:selected-label="$t('multiselect.selected_label')"
@select="updateReferrer">
</VueMultiselect>
<label class="col-form-label" for="selectJob">
{{ $t('job.label') }}
@ -42,6 +24,25 @@
@select="updateJob">
</VueMultiselect>
<label class="col-form-label" for="selectReferrer">
{{ $t('referrer.label') }}
</label>
<VueMultiselect
name="selectReferrer"
label="text"
track-by="id"
:multiple="false"
:searchable="true"
:placeholder="$t('referrer.placeholder')"
v-model="value"
:options="users"
:select-label="$t('multiselect.select_label')"
:deselect-label="$t('multiselect.deselect_label')"
:selected-label="$t('multiselect.selected_label')"
@select="updateReferrer">
</VueMultiselect>
<template v-if="referrersSuggested.length > 0">
<ul class="list-suggest add-items inline">
<li v-for="(u, i) in referrersSuggested" @click="updateReferrer(u)" :key="`referrer-${i}`">
@ -95,15 +96,23 @@ export default {
...mapState({
value: state => state.accompanyingCourse.user,
valueJob: state => state.accompanyingCourse.job,
users: state => state.users,
referrersSuggested: state => {
return state.referrersSuggested.filter(u => {
users: state => state.users.filter(u => {
if (u.user_job && state.accompanyingCourse.job) {
return u.user_job.id === state.accompanyingCourse.job.id;
} else {
return false;
}
}),
referrersSuggested: state => state.referrersSuggested.filter(u => {
if (u.user_job && state.accompanyingCourse.job) {
return u.user_job.id === state.accompanyingCourse.job.id && state.accompanyingCourse.user.id !== u.id
} else {
if (null === state.accompanyingCourse.user) {
return true;
}
return state.accompanyingCourse.user.id !== u.id;
})
},
}
}),
}),
...mapGetters([
'isJobValid'