Auto submit job doesn't handle extended due dates
Description
Environment
Test Plan
In addition to making sure the property is set, samigo.autoSubmit.enabled=true, one also has to run the quartz job manually (or set up a cron) logging in as admin.
And also one needs to run auto submit oracle or mysql insert statements https://github.com/sakaiproject/sakai/tree/master/samigo
Seems like that is what it took. It's possibly to manually add this auto submit option to the default template type as admin, but probably easier to get these scripts run.
You will know the setup is working if you see the auto submit option under Settings (see autosubmit_option.png for screenshot).
Here is what I did:
1) Set up a simple two question exam as instructor.
2) Choose settings. Set Due date pretty soon (with 5 - 10 minutes ) . Set Late Submissions (aka Retract date) to 5 minutes past the Due Date.
3) Set up an exception for 1 student to have a due date of a day later and late submission 5 minutes passed due date.
4) Take the test as 2 students but don't complete for either of them. 1 of the students must be the one that has the exception of tomorrow. Make sure at least one of the answers is saved, if not both (I just find it interesting to see how an unanswered question is handled.)
5) After the Due date for the class (not the exception) but before the Late Submission / Retract date, run the Auto Submit job as admin.
6) Check as instructor that no exams have been submitted. Works correctly.
7) Wait till after the Late Submission/Retract date. Run the Auto submit job as admin.
8) Check as instructor if any exams have been submitted.
Expected results: The student with the exception should not have had her exam submitted, the student without the exception should have had the exam submitted.
Repeat the test, using a group instead of an individual student.
Actual results: Both students had their exam submitted. Incorrect behavior.
Attachments
duplicates
is depended on by
is related to
Activity
Neal Caidin January 8, 2018 at 9:49 AM
Based on comments , setting this to verified.

Andrea Schmidt October 12, 2017 at 8:55 PM
This no longer seems to be a problem on https://qa12-mysql.nightly.sakaiproject.org/
Sakai - 32bacc68 - Sakai 12-SNAPSHOT - Server ip-172-31-6-159
The excepted student can continue on in the quiz after the availability due date has passed and the auto-submit job ran. There is now the opposite problem..the excepted student can stay in the quiz after the excepted due date and after the auto-submit job ran.
See
I tried with a single user exception and a group exception. Both behaved the same way...the excepted student was able to stay in the test and submit it after the auto-submit job ran.

Matthew Jones February 11, 2017 at 6:11 PM
Okay it looks like the issue with the auto submit job is the ExtendedTimeService is calling AgentFacade.getAgentString() in isUserInGroup to try to figure out the userid. However when it's running as the auto submit job this value is incorrect. It should be able to be passed an agentId like the constructor is. So I'll just have to clean this up a bit.

Matthew Jones January 3, 2017 at 8:54 AM
Thanks for testing that. I didn't test out the group case either so I can focus on that.
Neal Caidin January 3, 2017 at 8:52 AM
It does work correctly with individual users, so the problem appears to be in groups!
The auto submit batch job doesn't check for extended due dates. So if you give someone an extended due date, and they've started the assessment, it will get auto submitted at the default due date.