From fe37d04b098a7837ca45e3e16eb5208c5de3a9b5 Mon Sep 17 00:00:00 2001 From: Aurora Virmasalo Date: Wed, 11 Sep 2024 14:16:35 +0300 Subject: [PATCH] Fix history button inconsistensy and translation --- app/controllers/ReviewController.java | 17 +++++++---------- conf/routes | 2 +- ui/src/app/exam/editor/exam-tabs.component.html | 6 ++---- ui/src/app/exam/editor/exam-tabs.component.ts | 2 ++ .../basequestion/question.component.html | 2 +- .../question/basequestion/question.component.ts | 10 +++++++++- .../app/review/listing/review-list.component.ts | 4 +++- .../shared/history/history-back.component.ts | 11 +++++++++-- 8 files changed, 34 insertions(+), 20 deletions(-) diff --git a/app/controllers/ReviewController.java b/app/controllers/ReviewController.java index 7237c653f..3fff0bd51 100644 --- a/app/controllers/ReviewController.java +++ b/app/controllers/ReviewController.java @@ -437,8 +437,8 @@ public Result sendInspectionMessage(Long eid, Http.Request request) { @Authenticated @Restrict({ @Group("TEACHER"), @Group("ADMIN") }) @Anonymous(filteredProperties = { "user" }) - public Result listNoShows(Long eid, Http.Request request) { - List enrolments = DB + public Result listNoShows(Long eid, Optional collaborative, Http.Request request) { + ExpressionList el = DB .find(ExamEnrolment.class) .fetch("exam", "id, name, state, gradedTime, customCredit, trialCount, anonymous") .fetch("collaborativeExam") @@ -449,14 +449,11 @@ public Result listNoShows(Long eid, Http.Request request) { .fetch("exam.course", "code, credits") .fetch("exam.grade", "id, name") .where() - .or() - .eq("exam.id", eid) - .eq("exam.parent.id", eid) - .eq("collaborativeExam.id", eid) - .endOr() - .eq("noShow", true) - .orderBy("reservation.endAt") - .findList(); + .eq("noShow", true); + var query = collaborative.orElse(false) + ? el.eq("collaborativeExam.id", eid) + : el.or().eq("exam.id", eid).eq("exam.parent.id", eid); + var enrolments = query.findList(); final Result result = ok(enrolments); Set anonIds = enrolments .stream() diff --git a/conf/routes b/conf/routes index c814b1994..012460a7c 100644 --- a/conf/routes +++ b/conf/routes @@ -145,7 +145,7 @@ PUT /app/review/examquestion/:id/score controlle PUT /app/review/examquestion/:id/score/force controllers.ReviewController.forceScoreExamQuestion(id: Long, request: Request) PUT /app/review/:eid/comment controllers.ReviewController.updateComment(eid: Long, request: Request) PUT /app/review/:eid/comment/:cid/feedbackstatus controllers.ReviewController.setCommentStatusRead(eid: Long, cid: Long, request: Request) -GET /app/noshows/:eid controllers.ReviewController.listNoShows(eid: Long, request: Request) +GET /app/noshows/:eid controllers.ReviewController.listNoShows(eid: Long, collaborative: java.util.Optional[java.lang.Boolean], request: Request) PUT /app/reviews/archive controllers.ReviewController.archiveExams(request: Request) GET /app/review/:eid controllers.ReviewController.getExamReview(eid: Long, request: Request) GET /app/review/:id/locked controllers.ReviewController.hasLockedAssessments(id: Long) diff --git a/ui/src/app/exam/editor/exam-tabs.component.html b/ui/src/app/exam/editor/exam-tabs.component.html index e151c1685..870aa0dd8 100644 --- a/ui/src/app/exam/editor/exam-tabs.component.html +++ b/ui/src/app/exam/editor/exam-tabs.component.html @@ -1,13 +1,11 @@ - - go back - + @if (exam?.state) { - {{ 'i18n_' + exam.state | lowercase | translate }} + {{ 'i18n_' + exam.state | lowercase | translate }} } diff --git a/ui/src/app/exam/editor/exam-tabs.component.ts b/ui/src/app/exam/editor/exam-tabs.component.ts index b065422b5..6f707736a 100644 --- a/ui/src/app/exam/editor/exam-tabs.component.ts +++ b/ui/src/app/exam/editor/exam-tabs.component.ts @@ -25,6 +25,7 @@ import type { User } from 'src/app/session/session.service'; import { SessionService } from 'src/app/session/session.service'; import { PageContentComponent } from 'src/app/shared/components/page-content.component'; import { PageHeaderComponent } from 'src/app/shared/components/page-header.component'; +import { HistoryBackComponent } from 'src/app/shared/history/history-back.component'; import { CourseCodeService } from 'src/app/shared/miscellaneous/course-code.service'; import type { UpdateProps } from './exam-tabs.service'; import { ExamTabService } from './exam-tabs.service'; @@ -44,6 +45,7 @@ import { ExamTabService } from './exam-tabs.service'; TranslateModule, PageHeaderComponent, PageContentComponent, + HistoryBackComponent, ], styleUrl: './exam-tabs.component.scss', }) diff --git a/ui/src/app/question/basequestion/question.component.html b/ui/src/app/question/basequestion/question.component.html index 0c0d643d7..5476566d4 100644 --- a/ui/src/app/question/basequestion/question.component.html +++ b/ui/src/app/question/basequestion/question.component.html @@ -5,7 +5,7 @@ } - go back +
diff --git a/ui/src/app/question/basequestion/question.component.ts b/ui/src/app/question/basequestion/question.component.ts index 37328aa7e..515b810c6 100644 --- a/ui/src/app/question/basequestion/question.component.ts +++ b/ui/src/app/question/basequestion/question.component.ts @@ -27,6 +27,7 @@ import { QuestionService } from 'src/app/question/question.service'; import type { User } from 'src/app/session/session.service'; import { PageContentComponent } from 'src/app/shared/components/page-content.component'; import { PageHeaderComponent } from 'src/app/shared/components/page-header.component'; +import { HistoryBackComponent } from 'src/app/shared/history/history-back.component'; import { QuestionBodyComponent } from './question-body.component'; @Component({ @@ -34,7 +35,14 @@ import { QuestionBodyComponent } from './question-body.component'; templateUrl: './question.component.html', styleUrls: ['../question.shared.scss'], standalone: true, - imports: [FormsModule, QuestionBodyComponent, TranslateModule, PageHeaderComponent, PageContentComponent], + imports: [ + FormsModule, + QuestionBodyComponent, + TranslateModule, + PageHeaderComponent, + PageContentComponent, + HistoryBackComponent, + ], }) export class QuestionComponent implements OnInit, OnDestroy, CanComponentDeactivate { @Input() newQuestion = false; diff --git a/ui/src/app/review/listing/review-list.component.ts b/ui/src/app/review/listing/review-list.component.ts index d6d6f4d3e..06acab545 100644 --- a/ui/src/app/review/listing/review-list.component.ts +++ b/ui/src/app/review/listing/review-list.component.ts @@ -77,7 +77,9 @@ export class ReviewListComponent implements OnInit, OnChanges { this.exam = this.Tabs.getExam(); this.collaborative = this.Tabs.isCollaborative(); this.refreshLists(); - this.http.get(`/app/noshows/${this.exam.id}`).subscribe((resp) => (this.noShows = resp)); + this.http + .get(`/app/noshows/${this.exam.id}`, { params: { collaborative: this.collaborative } }) + .subscribe((resp) => (this.noShows = resp)); this.Tabs.notifyTabChange(5); }); } diff --git a/ui/src/app/shared/history/history-back.component.ts b/ui/src/app/shared/history/history-back.component.ts index 8a4499ccf..2a8b678eb 100644 --- a/ui/src/app/shared/history/history-back.component.ts +++ b/ui/src/app/shared/history/history-back.component.ts @@ -14,15 +14,22 @@ * */ import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; @Component({ selector: 'xm-history-back', template: ` - `, standalone: true, + imports: [TranslateModule], }) export class HistoryBackComponent { goBack = (event: Event) => {