Hide "Alles"-RadioButton when user is student

This commit is contained in:
Daniel Egger 2018-10-05 14:23:53 +02:00
parent bd4a9fded3
commit 67f303f46f
4 changed files with 23 additions and 12 deletions

View File

@ -29,7 +29,7 @@
: [];
},
currentFilter() {
return this.$store.state.filterForGroup;
return this.$store.state.filterForSchoolClass;
},
},

View File

@ -1,7 +1,7 @@
<template>
<div class="filter-bar">
<radiobutton label="Alles" :checked="!currentFilter" v-on:input="updateFilter(false)"></radiobutton>
<radiobutton v-if="showEverythingRadioButton" label="Alles" :checked="!currentFilter" v-on:input="updateFilter(false)"></radiobutton>
<radiobutton
v-for="schoolClass in schoolClasses"
:key="schoolClass.id"
@ -23,6 +23,12 @@
Radiobutton
},
beforeUpdate() {
if (!this.showEverythingRadioButton && !this.currentFilter) {
this.updateFilter(this.schoolClasses && this.schoolClasses.length > 0 ? this.schoolClasses[0].id : null);
}
},
apollo: {
me: {
query: ME_QUERY
@ -31,22 +37,27 @@
data() {
return {
me: {}
me: {
permissions: []
}
}
},
computed: {
currentFilter() {
return this.$store.state.filterForGroup;
return this.$store.state.filterForSchoolClass;
},
schoolClasses() {
return this.$getRidOfEdges(this.me.schoolclassSet);
}
},
showEverythingRadioButton() {
return this.me.permissions.includes('user.can_edit_modules');
},
},
methods: {
...mapActions({
updateFilter: 'setFilterForGroup'
updateFilter: 'setfilterForSchoolClass'
})
}
}

View File

@ -22,7 +22,7 @@
return this.rooms.filter(room => this.visibleFor(room, this.currentFilter));
},
currentFilter() {
return this.$store.state.filterForGroup;
return this.$store.state.filterForSchoolClass;
}
},

View File

@ -12,7 +12,7 @@ export default new Vuex.Store({
contentBlockPosition: {},
scrollPosition: 0,
moduleSlug: 'geld',
filterForGroup: false,
filterForSchoolClass: false,
currentContentBlock: '',
parentRoom: null
},
@ -49,8 +49,8 @@ export default new Vuex.Store({
document.body.classList.add('no-scroll'); // won't get at the body any other way
commit('setModal', payload);
},
setFilterForGroup({commit}, payload) {
commit('setFilterForGroup', payload);
setfilterForSchoolClass({commit}, payload) {
commit('setfilterForSchoolClass', payload);
}
},
@ -73,8 +73,8 @@ export default new Vuex.Store({
setCurrentContentBlock(state, payload) {
state.currentContentBlock = payload;
},
setFilterForGroup(state, payload) {
state.filterForGroup = payload;
setfilterForSchoolClass(state, payload) {
state.filterForSchoolClass = payload;
},
setParentRoom(state, payload) {
state.parentRoom = payload;