Add assignment result link for teacher view
This commit is contained in:
parent
e23dc4a9f0
commit
6591958546
|
|
@ -5,61 +5,67 @@
|
|||
{{assignment.assignment}}
|
||||
</p>
|
||||
|
||||
<final-submission :submission="assignment.submission" v-if="final"></final-submission>
|
||||
<template v-if="isStudent">
|
||||
<final-submission :submission="assignment.submission" v-if="final"></final-submission>
|
||||
|
||||
<div class="assignment__submission" v-if="!final">
|
||||
<div class="assignment__toggle-input-container">
|
||||
<button
|
||||
class="assignment__toggle-input"
|
||||
@click="inputType = 'text'"
|
||||
:class="{'assignment__toggle-input--active': inputType === 'text'}"
|
||||
>Text
|
||||
erfassen
|
||||
</button>
|
||||
<button
|
||||
class="assignment__toggle-input"
|
||||
@click="inputType = 'file'"
|
||||
:class="{'assignment__toggle-input--active': inputType === 'file'}"
|
||||
>Dokument hochladen
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="assignment__inputs">
|
||||
<submission-form
|
||||
@input="saveInput"
|
||||
:submission="submission"
|
||||
:saved="!unsaved"
|
||||
v-if="inputType === 'text'"
|
||||
></submission-form>
|
||||
<div
|
||||
class="assignment__file-upload"
|
||||
v-if="inputType === 'file'">
|
||||
<div v-if="assignment.submission.document">
|
||||
<document-block
|
||||
:value="{url: assignment.submission.document}"
|
||||
show-trash-icon
|
||||
v-on:trash="changeDocumentUrl('')"
|
||||
></document-block>
|
||||
</div>
|
||||
<document-form
|
||||
v-if="!assignment.submission.document"
|
||||
:value="{url: ''}"
|
||||
v-on:link-change-url="changeDocumentUrl"
|
||||
></document-form>
|
||||
<div class="assignment__submission" v-if="!final">
|
||||
<div class="assignment__toggle-input-container">
|
||||
<button
|
||||
class="assignment__toggle-input"
|
||||
@click="inputType = 'text'"
|
||||
:class="{'assignment__toggle-input--active': inputType === 'text'}"
|
||||
>Text
|
||||
erfassen
|
||||
</button>
|
||||
<button
|
||||
class="assignment__toggle-input"
|
||||
@click="inputType = 'file'"
|
||||
:class="{'assignment__toggle-input--active': inputType === 'file'}"
|
||||
>Dokument hochladen
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="assignment__submit button button--primary button--white-bg"
|
||||
@click="turnIn"
|
||||
>Ergebnis mit Lehrperson teilen
|
||||
</button>
|
||||
</div>
|
||||
<div class="assignment__inputs">
|
||||
<submission-form
|
||||
@input="saveInput"
|
||||
:submission="submission"
|
||||
:saved="!unsaved"
|
||||
v-if="inputType === 'text'"
|
||||
></submission-form>
|
||||
<div
|
||||
class="assignment__file-upload"
|
||||
v-if="inputType === 'file'">
|
||||
<div v-if="assignment.submission.document">
|
||||
<document-block
|
||||
:value="{url: assignment.submission.document}"
|
||||
show-trash-icon
|
||||
v-on:trash="changeDocumentUrl('')"
|
||||
></document-block>
|
||||
</div>
|
||||
<document-form
|
||||
v-if="!assignment.submission.document"
|
||||
:value="{url: ''}"
|
||||
v-on:link-change-url="changeDocumentUrl"
|
||||
></document-form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="assignment__submit button button--primary button--white-bg"
|
||||
@click="turnIn"
|
||||
>Ergebnis mit Lehrperson teilen
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="!isStudent">
|
||||
<router-link class="button" :to="{name: 'submissions', params: { id: assignment.id }}">Zu den Ergebnissen</router-link>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
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_WITH_SUCCESS from '@/graphql/gql/mutations/updateAssignmentMutationWithSuccess.gql';
|
||||
import debounce from 'lodash/debounce';
|
||||
|
|
@ -86,6 +92,9 @@
|
|||
},
|
||||
submission() {
|
||||
return this.assignment.submission ? this.assignment.submission : {}
|
||||
},
|
||||
isStudent() {
|
||||
return !this.me.permissions.includes('users.can_manage_school_class_content');
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -167,11 +176,14 @@
|
|||
id: this.value.id
|
||||
}
|
||||
},
|
||||
result ({ data }) {
|
||||
result({data}) {
|
||||
this.assignment = cloneDeep(data.assignment);
|
||||
this.assignment.submission = Object.assign(this.initialSubmission(), this.assignment.submission);
|
||||
}
|
||||
},
|
||||
me: {
|
||||
query: ME_QUERY
|
||||
}
|
||||
},
|
||||
|
||||
data() {
|
||||
|
|
@ -179,6 +191,9 @@
|
|||
assignment: {
|
||||
submission: this.initialSubmission(),
|
||||
},
|
||||
me: {
|
||||
permissions: []
|
||||
},
|
||||
inputType: 'text',
|
||||
unsaved: false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<div class="module-navigation__anchors">
|
||||
<router-link
|
||||
:to="submissionsLink(assignment)"
|
||||
v-for="assignment in module.assignments"
|
||||
v-for="assignment in assignments"
|
||||
:key="assignment.id"
|
||||
class="module-navigation__anchor"
|
||||
exact-active-class="module-navigation__anchor--active"
|
||||
|
|
@ -62,12 +62,19 @@
|
|||
},
|
||||
showResults() {
|
||||
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() {
|
||||
return {
|
||||
module: {},
|
||||
module: {
|
||||
assignments: []
|
||||
},
|
||||
me: {
|
||||
permissions: []
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue