Description
Describe the bug
When a review assignment's due date exceed associated with a review round, the review round status in database table does not update . This cause the getStatus
and determineStatus
from \PKP\submission\reviewRound\ReviewRound
to get 2 different result at some point . more details at #10214 (comment) . As short summary
to reproduce the issue where
getStatus
anddetermineStatus
return value . When a reviewer get assigned and accepted the review request , then both thegetStatus
anddetermineStatus
returnREVIEW_ROUND_STATUS_PENDING_REVIEWS ==> 7
that is Waiting for reviews to be submitted by reviewers . But once the review submission due date exceed , thegetStatus
still returnsREVIEW_ROUND_STATUS_PENDING_REVIEWS ==> 7
but thedetermineStatus
returnREVIEW_ROUND_STATUS_REVIEWS_OVERDUE ==> 10
. This mainly happens as we do not have any schedule/cron to automatically update the review round status once the due date exceed . However as the determineStatus get to check based on review assignment at run time , it returns different result .
To Reproduce
Steps to reproduce the behavior:
- In OJS/OMP, for a review round, add few review assignments
- Let the review assignment due date exceed .
- Check that review round
getStatus
anddetermineStatus
return different value
What application are you using?
OJS and OMP version 3.4 and 3.5(upcoming)
Additional information
This is an continuation of #10214 where due to lack of time, we decided to move this for 3.6 to have a more general solution .
Possible solution
we need to have some sort of schedule(with queue jobs) task that will check once a day for to active review assignment with review round and update the status information for review round . But also need to consider the cases when a review assignment's due dates update . There may be few more case that need to consider to get a final error free solution .