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: { methods: {
visibleFor(contentBlock, userGroup) { visibleFor(contentBlock, schoolClassId) {
return !contentBlock.hiddenFor.map(entry => entry.id).includes(userGroup); return !contentBlock.hiddenFor.map(entry => entry.id).includes(schoolClassId);
} }
} }
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -6,7 +6,7 @@
{{room.description}} {{room.description}}
</p> </p>
<div class="room__meta"> <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> <room-entry-count-widget :entry-count="roomEntryCount"></room-entry-count-widget>
</div> </div>
</div> </div>

View File

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