-
Notifications
You must be signed in to change notification settings - Fork 297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exam mode
: Enable changing working time in exam edit screen
#7284
Conversation
Exam
: Enable changing working time in exam edit screen
…, fix linter warnings
src/main/java/de/tum/in/www1/artemis/web/rest/ExamResource.java
Outdated
Show resolved
Hide resolved
src/main/java/de/tum/in/www1/artemis/web/rest/ExamResource.java
Outdated
Show resolved
Hide resolved
src/main/java/de/tum/in/www1/artemis/web/rest/ExamResource.java
Outdated
Show resolved
Hide resolved
src/main/java/de/tum/in/www1/artemis/web/rest/ExamResource.java
Outdated
Show resolved
Hide resolved
Co-authored-by: Johannes Stöhr <[email protected]>
…ime' into feature/exam-mode/edit-working-time
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks good overall, left two optional comments:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
code lgtm
d360e6c
Co-authored-by: Johannes Stöhr <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code lgtm!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
reapprove
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re-approve
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for incorporating my optional suggestions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
client tests fail
72205fc
Sorry, 2 failing client tests sneaked in without noticing in the last commits. They're fixed now. |
Checklist
General
Server
Client
Changes affecting Programming Exercises
Motivation and Context
We've introduced extending the working time using a quick-access dialog in #7119. This is causing inconsistent UI behaviour, as updating the working time in the exam edit screen does not trigger programming exercise re-scheduling.
Description
This PR is a follow-up of #7119. It adds the same programming exercise rescheduling behaviour when changing the working time on the exam edit screen, and adds tests which verify the expected behaviour.
Time change confirmation during exam
When the working time was changed while the exam is ongoing, a confirmation dialog is presented to the instructor.
Negative working time change
It's now possible to input negative numbers in the working time change dialog.
Working time change display
In both the working time change dialog as well as the confirmation dialog, the old and new working times are shown.
Other changes
Besides the changes regarding the motivation, this PR includes general improvements to UX and code.
Exam update component refactoring
The data flow in the exam update component was very complex, UI elements triggered recomputation of values, which in turn influenced other UI elements. This caused client tests to fail. Also, subscriptions were created within subscriptions, and data races occured. This PR pulls all of these issues straight, while also reducing the LOC and overall complexity.
Date input behaviour
Date inputs in the exam form now depend on each other, i.e. the end time picker now automatically starts w/ the current value of the start time.
Minor changes
Testing
As this PR changes multiple things in the exam update component, we also have to test these changes.
Exam create/update
Prerequisites:
Exam import
Prerequisites:
Change exam dates
Prerequisites:
Change exam working time
Prerequisites:
Review Progress
Performance Review
Code Review
Manual Tests
Exam Mode Test
Test Coverage
Screenshots
If an exam is in progress, the following warning is now shown to the educators:
If start or end date are changed, upon saving, this confirmation dialog is shown:
When changing the working in the dedicated dialog from the exam summary, it looks like this:
And if the exam dates are changed despite the warning, the students get to see this: