Open chris21k opened 4 years ago
This problem also appears on our Praktomat instance. A fix would be nice.
Today I found out that .../admin/tasks/task/ -> Action: Run all checkers -> Go after selecting the respective task does set the flag, so that attestation then is possible. However, this should imho be an optional step to enable attestation (i.e. be auftomatically possible after the task expires) and at least attestation should also possible after running the checkers from the solution page.
Chris
I think a small change in python or template could solve the issue. But I have to much "open H-BRS pullrequests" which I had to update all the time, so that they stay mergeable in case KITPraktomatTeam want to merge them suddenly... If I find time for your issue than I, at H-BRS, create a fix.
Although a task is expired, no attestation is possible. The .../task/
/attestation/ page shows "Not all checker have yet been run." Note, this is also true after selecting all solutions and "Run Checker for selected solutions" on .../admin/solutions/solution/ . After setting "UPDATE tasks_task SET all_checker_finished=true WHERE id= ;" in the db, attestation is possible. Thx for Praktomat and its maintenance, Chris
Inside the template attestation_list.html
there are several places which depends on unattested_solutions
.
I had a look to the corresponding code inside function attestation_list
how unattested_solutions
are determined.
Those where all final solutions not having an attestation of a task).
But your point is independent from the way to determine the unattested_solutions
.
If you do not start "run_all_checkers" for a task and want to attest final solutions of a task after task.expired
, than only the template code from attestation_list.html
needs to be changed.
@chris21k @kfriedberger If you remove the lines 78 to 80 from attestation_list.html
https://github.com/KITPraktomatTeam/Praktomat/blob/aafbeb16c8200c48c0e89074bf22b162ab329d96/src/templates/attestation/attestation_list.html#L78-L80
than you should be able to attest the solutions without having to run task.run_all_checkers
.
But why do you want to attest a solution without having the checker outputs?
Well, I can only answer this from my perspective: if a task only contains checkers that run at submission time, there's no need to run all checkers again after the task expired. All the checker outputs are present already. In this case, it makes sense that all_checker_finished
is set to true as soon as the task expires.
if a task only contains checkers that run at submission time, there's no need to run all checkers again after the task expired.
I see, that is true.
In our setting we are using "Pretests" and "Posttests". Our Pretests show students if they are on the right way.
And after submission time is over and no student can change their solutions any more, than we start the "Posttests" via task.run_all_checkers
.
(I wish an cron-job or at-job could trigger running the posttests ...)
I hink, this issue is light connected to https://github.com/KITPraktomatTeam/Praktomat/issues/219 .
Although a task is expired, no attestation is possible. The .../task//attestation/ page shows "Not all checker have yet been run." Note, this is also true after selecting all solutions and "Run Checker for selected solutions" on .../admin/solutions/solution/ .
After setting "UPDATE tasks_task SET all_checker_finished=true WHERE id=;" in the db, attestation is possible.
Thx for Praktomat and its maintenance, Chris