Feedbacklabs
What feature does this MR relate to?
This Merge Request closes #108 (closed).
What was done to implement this feature?
- Added functionality to CourseController and GroupService to allow mass enqueueing for a certain assignment. For each assignment in a course there is a button that allows the user to upload a CSV with groups that then are automatically enqueued for a lab in which they can sign off the assignment.
- Added a URL path (/lab/submit) to which a POST-request can be sent with an assignment ID and a netID. The student corresponding to the netID will then be automatically enqueued in a lab where they can sign of the assignment.
- Added functionality to timeslot buttons on the lab page to enroll/unenroll students to a specific slot.
What can still be done in the future?
-
Related to (1.), the mass enqueue button should only be visible when a lab is available for an assignment. -
Related to (1.), when a new file is uploaded for the same assignment, users that already have an assigned slot should not be given a new slot, and users that are not present in the new file should have their slot revoked. -
Related to (2.), some kind of authentication should be added such that only trusted IP addresses can send POST requests to the /lab/submit URL, or something along those lines. -
Related to (2.), when a new post request for the same assignment/user combination is sent, the previous slot should be revoked and a new slot should be assigned. -
Since it could happen that multiple assignments can be signed off in the same lab, in case of a different assignment id/same netid combination, a new timeslot should be assigned.
-
-
Related to (3.), currently students are given a random slot, even when a specific slot was selected. This should be changed so the selected and the assigned slot match. -
Related to (3.), the student for a slot is selected with a drop-down menu. This menu should be filterable so that someone who wants to select a student does not have to scroll through a giant list of students. -
Related to (1.) and (2.), some kind of error message should be displayed on screen/sent back to the sender of the POST request when the request fails.
Edited by Maaike Visser