Fixed rooms for new SchoolClass model

This commit is contained in:
Daniel Egger 2018-10-05 14:38:51 +02:00
parent 67f303f46f
commit 1d29cc51ec
8 changed files with 26 additions and 18 deletions

View File

@ -34,8 +34,8 @@
},
methods: {
visibleFor(contentBlock, userGroup) {
return !contentBlock.hiddenFor.map(entry => entry.id).includes(userGroup);
visibleFor(contentBlock, schoolClassId) {
return !contentBlock.hiddenFor.map(entry => entry.id).includes(schoolClassId);
}
}
}

View File

@ -28,7 +28,7 @@
title: room.title,
appearance: room.appearance,
description: room.description,
userGroup: room.userGroup
schoolClass: room.schoolClass,
}
}
}

View File

@ -24,7 +24,7 @@
appearance: defaultColor,
title: '',
description: '',
userGroup: {}
schoolClass: {}
}
}
},

View File

@ -12,14 +12,14 @@
<select
class="skillbox-input room-form__input"
id="room-class"
v-model="localRoom.userGroup"
v-model="localRoom.schoolClass"
>
<option disabled value="">-</option>
<option
v-for="userGroup in userGroups"
:key="userGroup.id"
v-bind:value="userGroup"
>{{userGroup.name}}
v-for="schoolClass in schoolClasses"
:key="schoolClass.id"
v-bind:value="schoolClass"
>{{schoolClass.name}}
</option>
</select>
<h2 class="room-form__property-heading">Farbe</h2>
@ -42,7 +42,7 @@
<script>
import RoomColors from '@/components/rooms/RoomColors';
// import {userGroupsQuery} from '@/helpers/user-groups'
import ME_QUERY from '@/graphql/gql/meQuery.gql';
export default {
props: ['room'],
@ -54,7 +54,13 @@
data() {
return {
localRoom: Object.assign({}, this.room),
userGroups: []
me: {}
}
},
computed: {
schoolClasses() {
return this.$getRidOfEdges(this.me.schoolclassSet);
}
},
@ -66,7 +72,9 @@
},
apollo: {
// userGroupsQuery: userGroupsQuery
me: {
query: ME_QUERY,
}
},
created() {

View File

@ -2,7 +2,7 @@
<div class="room-widget" :class="roomClass">
<router-link :to="{name: 'room', params: {slug: slug}}" tag="div" class="room-widget__content">
<h2 class="room-widget__title">{{title}}</h2>
<room-group-widget v-bind="userGroup"></room-group-widget>
<room-group-widget v-bind="schoolClass"></room-group-widget>
<room-entry-count-widget :entryCount="entryCount"></room-entry-count-widget>
</router-link>
<div class="room-widget__footer">
@ -26,7 +26,7 @@
import RoomPopover from '@/components/rooms/RoomPopover';
export default {
props: ['slug', 'title', 'entryCount', 'appearance', 'userGroup', 'id'],
props: ['slug', 'title', 'entryCount', 'appearance', 'schoolClass', 'id'],
components: {
RoomEntryCountWidget,

View File

@ -6,7 +6,7 @@ fragment RoomParts on RoomNode {
entryCount
appearance
description
userGroup {
schoolClass {
...SchoolClassParts
}
}

View File

@ -6,7 +6,7 @@
{{room.description}}
</p>
<div class="room__meta">
<room-group-widget v-bind="room.userGroup"></room-group-widget>
<room-group-widget v-bind="room.schoolClass"></room-group-widget>
<room-entry-count-widget :entry-count="roomEntryCount"></room-entry-count-widget>
</div>
</div>

View File

@ -27,8 +27,8 @@
},
methods: {
visibleFor(room, userGroup) {
return !userGroup || room.userGroup.id === userGroup;
visibleFor(room, schoolClass) {
return !schoolClass || room.schoolClass.id === schoolClass;
}
},