From 57da84e33f275d7822f83fe810115408fe953e6c Mon Sep 17 00:00:00 2001 From: dserafim1999 Date: Sat, 4 Jul 2020 15:59:26 +0100 Subject: [PATCH] set up routing and page for QS_4 closes #49 --- frontend/src/components/TopBar.vue | 50 +++++++++++++++---- frontend/src/router.ts | 10 ++++ frontend/src/services/RemoteServices.ts | 18 ++++++- .../submissions/AllSubmissionsView.vue | 13 +++++ 4 files changed, 80 insertions(+), 11 deletions(-) create mode 100644 frontend/src/views/student/submissions/AllSubmissionsView.vue diff --git a/frontend/src/components/TopBar.vue b/frontend/src/components/TopBar.vue index e0c9776f2..a3df86a15 100644 --- a/frontend/src/components/TopBar.vue +++ b/frontend/src/components/TopBar.vue @@ -155,10 +155,32 @@ - - Submissions - fas fa-user-edit - + + + + + + fas fa-user-edit + + + My Submissions + + + + + fas fa-users + + + All Submissions + + + + Stats @@ -331,19 +353,27 @@ Solved Quizzes - + - fas fa-user + fas fa-user-edit - Stats + My Submissions - + - fas fa-user-edit + fas fa-users - Submissions + All Submissions + + + + fas fa-user + + Stats + + diff --git a/frontend/src/router.ts b/frontend/src/router.ts index 9c2182dbb..6fccd4286 100644 --- a/frontend/src/router.ts +++ b/frontend/src/router.ts @@ -28,6 +28,7 @@ import CoursesView from '@/views/admin/Courses/CoursesView.vue'; import StudentSubmissionView from '@/views/student/submissions/SubmissionView.vue' import TeacherSubmissionView from '@/views/teacher/submissions/SubmissionView.vue' +import AllSubmissionsView from '@/views/student/submissions/AllSubmissionsView.vue' Vue.use(Router); @@ -207,6 +208,15 @@ let router = new Router({ title: APP_NAME + ' - Submissions', requiredAuth: 'Student' } + }, + { + path: 'all-submissions', + name: 'all-submissions', + component: AllSubmissionsView, + meta: { + title: process.env.VUE_APP_NAME + ' - All Submissions', + requiredAuth: 'Student' + } } ] diff --git a/frontend/src/services/RemoteServices.ts b/frontend/src/services/RemoteServices.ts index 1759b92cf..4d0e0c75b 100644 --- a/frontend/src/services/RemoteServices.ts +++ b/frontend/src/services/RemoteServices.ts @@ -656,7 +656,23 @@ export default class RemoteServices { throw Error(await this.errorMessage(error)); }); } - + + static async getAllStudentSubmissions(): Promise { + return httpClient + .get( + `/student/submission/all?executionId=${Store.getters.getCurrentCourse.courseExecutionId}` + ) + .then(response => { + return response.data.map((submission: any) => { + return new Submission(submission); + }); + }) + .catch(async error => { + throw Error(await this.errorMessage(error)); + }); + } + + static async exportAll() { return httpClient .get('/admin/export', { diff --git a/frontend/src/views/student/submissions/AllSubmissionsView.vue b/frontend/src/views/student/submissions/AllSubmissionsView.vue new file mode 100644 index 000000000..29fd49347 --- /dev/null +++ b/frontend/src/views/student/submissions/AllSubmissionsView.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file