Clean up some more code
This commit is contained in:
parent
2ecec5b344
commit
a90501d7e8
|
|
@ -44,7 +44,7 @@
|
||||||
return this.$getRidOfEdges(this.me.schoolClasses);
|
return this.$getRidOfEdges(this.me.schoolClasses);
|
||||||
},
|
},
|
||||||
isTeacher() {
|
isTeacher() {
|
||||||
return this.me.role === 'teacher';
|
return this.me.permissions.includes('users.can_manage_school_class_content');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@
|
||||||
class="skillbox-input room-form__input"
|
class="skillbox-input room-form__input"
|
||||||
id="room-class"
|
id="room-class"
|
||||||
v-model="localRoom.schoolClass"
|
v-model="localRoom.schoolClass"
|
||||||
@change="classSelectionChanged"
|
|
||||||
>
|
>
|
||||||
<option disabled value="">-</option>
|
<option disabled value="">-</option>
|
||||||
<option
|
<option
|
||||||
|
|
@ -56,14 +55,16 @@
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
localRoom: Object.assign({}, this.room),
|
localRoom: Object.assign({}, this.room),
|
||||||
me: {},
|
me: {}
|
||||||
noClassSelected: true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
schoolClasses() {
|
schoolClasses() {
|
||||||
return this.$getRidOfEdges(this.me.schoolClasses);
|
return this.$getRidOfEdges(this.me.schoolClasses);
|
||||||
|
},
|
||||||
|
noClassSelected() {
|
||||||
|
return this.localRoom.schoolClass.id === undefined;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -71,9 +72,6 @@
|
||||||
updateColor(newColor) {
|
updateColor(newColor) {
|
||||||
this.localRoom.appearance = newColor;
|
this.localRoom.appearance = newColor;
|
||||||
this.$store.dispatch('setSpecialContainerClass', newColor);
|
this.$store.dispatch('setSpecialContainerClass', newColor);
|
||||||
},
|
|
||||||
classSelectionChanged() {
|
|
||||||
this.noClassSelected = this.localRoom.schoolClass.id === undefined;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="rooms-page">
|
<div class="rooms-page">
|
||||||
<room-widget v-for="room in filteredRooms" v-bind="room" :key="room.name"></room-widget>
|
<room-widget v-for="room in filteredRooms" v-bind="room" :key="room.name"></room-widget>
|
||||||
<add-room v-if="me.role === 'teacher'"></add-room>
|
<add-room v-if="canAddRoom"></add-room>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -24,6 +24,9 @@
|
||||||
},
|
},
|
||||||
currentFilter() {
|
currentFilter() {
|
||||||
return this.$store.state.filterForSchoolClass;
|
return this.$store.state.filterForSchoolClass;
|
||||||
|
},
|
||||||
|
canAddRoom(){
|
||||||
|
this.me.permissions.includes('users.can_manage_school_class_content')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ class AddRoom(MutateRoom):
|
||||||
@classmethod
|
@classmethod
|
||||||
def mutate_and_get_payload(cls, root, info, **kwargs):
|
def mutate_and_get_payload(cls, root, info, **kwargs):
|
||||||
|
|
||||||
if info.context.user.user_roles.first().role.key != 'teacher':
|
if not info.context.user.has_perm('users.can_manage_school_class_content'):
|
||||||
return cls(room=None, errors=['not allowed'])
|
return cls(room=None, errors=['not allowed'])
|
||||||
|
|
||||||
room_data = kwargs.get('room')
|
room_data = kwargs.get('room')
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue