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.
Merge request reports
Activity
added 2 commits
- 66b4bc18 - Allow groups to enqueue for feedback labs
- eab77ff6 - Merge branch 'feedbacklabs' of http://eipdev.ewi.tudelft.nl/gitlab/EIP/queue into feedbacklabs
added 3 commits
-
eab77ff6...4582c9a8 - 2 commits from branch
development
- 7874cc17 - Merge development into branch
-
eab77ff6...4582c9a8 - 2 commits from branch
added 1 commit
- c960a693 - Assign new timeslot if a new submission comes through the /lab/submit route
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.
Solved kind of hacky rn by revoking all pending requests for the lab and then enqueuing the groups that are in the newly uploaded file.
Edited by Maaike Visseradded 1 commit
- 7f299b90 - Revoke all existing requests when you upload a new file to mass enqueue people
mentioned in issue #119
added 15 commits
-
7f299b90...601ba7b8 - 11 commits from branch
development
- c5a65fd4 - Merge development into branch
- 6821cc19 - Commit
- 68668c24 - Get DB loader from different branch
- 360a515d - Fix issue with groups not being deleted
Toggle commit list-
7f299b90...601ba7b8 - 11 commits from branch
The course is not mentioned in the mail; might help. The kind regards could (perhaps in the future) become something along the lines of "The Team" and then end with "\n--\n This is an automated message from the Queue.\n You can not reply to this message\n"
By Administrator on 2018-09-08T12:00:09 (imported from GitLab project)
shouldn't this be an & amp ; ? (stupid gitlab comment field compresses that to an actual & )
By Administrator on 2018-09-08T12:14:33 (imported from GitLab project)
Edited by Otto VisserI used a JQuery plugin to make the select boxes when you click a timeslot on the lab page behave as desired. The plugin documentation mentioned that this license should be included somewhere in your software if you want to use it. I meant to ask how one usually does that, but I forgot
. So hereby: how does one usually include a license like this? :p