Add assignment result link for teacher view

This commit is contained in:
Ramon Wenger 2018-10-25 15:24:48 +02:00
parent e23dc4a9f0
commit 6591958546
2 changed files with 72 additions and 50 deletions

View File

@ -5,6 +5,7 @@
{{assignment.assignment}} {{assignment.assignment}}
</p> </p>
<template v-if="isStudent">
<final-submission :submission="assignment.submission" v-if="final"></final-submission> <final-submission :submission="assignment.submission" v-if="final"></final-submission>
<div class="assignment__submission" v-if="!final"> <div class="assignment__submission" v-if="!final">
@ -55,11 +56,16 @@
>Ergebnis mit Lehrperson teilen >Ergebnis mit Lehrperson teilen
</button> </button>
</div> </div>
</template>
<template v-if="!isStudent">
<router-link class="button" :to="{name: 'submissions', params: { id: assignment.id }}">Zu den Ergebnissen</router-link>
</template>
</div> </div>
</template> </template>
<script> <script>
import ASSIGNMENT_QUERY from '@/graphql/gql/assignmentQuery.gql'; import ASSIGNMENT_QUERY from '@/graphql/gql/assignmentQuery.gql';
import ME_QUERY from '@/graphql/gql/meQuery.gql';
import UPDATE_ASSIGNMENT_MUTATION from '@/graphql/gql/mutations/updateAssignmentMutation.gql'; import UPDATE_ASSIGNMENT_MUTATION from '@/graphql/gql/mutations/updateAssignmentMutation.gql';
import UPDATE_ASSIGNMENT_MUTATION_WITH_SUCCESS from '@/graphql/gql/mutations/updateAssignmentMutationWithSuccess.gql'; import UPDATE_ASSIGNMENT_MUTATION_WITH_SUCCESS from '@/graphql/gql/mutations/updateAssignmentMutationWithSuccess.gql';
import debounce from 'lodash/debounce'; import debounce from 'lodash/debounce';
@ -86,6 +92,9 @@
}, },
submission() { submission() {
return this.assignment.submission ? this.assignment.submission : {} return this.assignment.submission ? this.assignment.submission : {}
},
isStudent() {
return !this.me.permissions.includes('users.can_manage_school_class_content');
} }
}, },
@ -172,6 +181,9 @@
this.assignment.submission = Object.assign(this.initialSubmission(), this.assignment.submission); this.assignment.submission = Object.assign(this.initialSubmission(), this.assignment.submission);
} }
}, },
me: {
query: ME_QUERY
}
}, },
data() { data() {
@ -179,6 +191,9 @@
assignment: { assignment: {
submission: this.initialSubmission(), submission: this.initialSubmission(),
}, },
me: {
permissions: []
},
inputType: 'text', inputType: 'text',
unsaved: false unsaved: false
} }

View File

@ -27,7 +27,7 @@
<div class="module-navigation__anchors"> <div class="module-navigation__anchors">
<router-link <router-link
:to="submissionsLink(assignment)" :to="submissionsLink(assignment)"
v-for="assignment in module.assignments" v-for="assignment in assignments"
:key="assignment.id" :key="assignment.id"
class="module-navigation__anchor" class="module-navigation__anchor"
exact-active-class="module-navigation__anchor--active" exact-active-class="module-navigation__anchor--active"
@ -62,12 +62,19 @@
}, },
showResults() { showResults() {
return this.me.permissions.includes('users.can_manage_school_class_content'); return this.me.permissions.includes('users.can_manage_school_class_content');
},
assignments() {
return [...this.module.assignments].sort((a, b) => {
return a.title.toLowerCase() > b.title.toLowerCase() ? 1 : -1;
})
} }
}, },
data() { data() {
return { return {
module: {}, module: {
assignments: []
},
me: { me: {
permissions: [] permissions: []
} }