Add assignment result link for teacher view
This commit is contained in:
parent
e23dc4a9f0
commit
6591958546
|
|
@ -5,61 +5,67 @@
|
||||||
{{assignment.assignment}}
|
{{assignment.assignment}}
|
||||||
</p>
|
</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__submission" v-if="!final">
|
||||||
<div class="assignment__toggle-input-container">
|
<div class="assignment__toggle-input-container">
|
||||||
<button
|
<button
|
||||||
class="assignment__toggle-input"
|
class="assignment__toggle-input"
|
||||||
@click="inputType = 'text'"
|
@click="inputType = 'text'"
|
||||||
:class="{'assignment__toggle-input--active': inputType === 'text'}"
|
:class="{'assignment__toggle-input--active': inputType === 'text'}"
|
||||||
>Text
|
>Text
|
||||||
erfassen
|
erfassen
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
class="assignment__toggle-input"
|
class="assignment__toggle-input"
|
||||||
@click="inputType = 'file'"
|
@click="inputType = 'file'"
|
||||||
:class="{'assignment__toggle-input--active': inputType === 'file'}"
|
:class="{'assignment__toggle-input--active': inputType === 'file'}"
|
||||||
>Dokument hochladen
|
>Dokument hochladen
|
||||||
</button>
|
</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>
|
||||||
</div>
|
|
||||||
|
|
||||||
<button
|
<div class="assignment__inputs">
|
||||||
class="assignment__submit button button--primary button--white-bg"
|
<submission-form
|
||||||
@click="turnIn"
|
@input="saveInput"
|
||||||
>Ergebnis mit Lehrperson teilen
|
:submission="submission"
|
||||||
</button>
|
:saved="!unsaved"
|
||||||
</div>
|
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>
|
</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');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -167,11 +176,14 @@
|
||||||
id: this.value.id
|
id: this.value.id
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
result ({ data }) {
|
result({data}) {
|
||||||
this.assignment = cloneDeep(data.assignment);
|
this.assignment = cloneDeep(data.assignment);
|
||||||
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
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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: []
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue