Open yoruyenturk opened 3 months ago
I cannot reproduce the bug described here. Just to confirm, the editorial reminder is sent but it doesn't contain the "A review is overdue" message or the whole editorial reminder email isn't sent?
I cannot reproduce the bug described here. Just to confirm, the editorial reminder is sent but it doesn't contain the "A review is overdue" message or the whole editorial reminder email isn't sent?
Hi @Vitaliy-1 ,
“A review is overdue” is going. However, cases with a status of 7 or 8 in the database and one or more reviewers are overdue are not included in the e-mail.
For example, in the article in Picture 1, a referee is displayed as overdue. However, it is not included in the editorial task mail. Because in Picture 2, the status in the database is 7. Editorial Reminder only includes those with status 10 in the list.
Hmm, review round status 7 and 8 shouldn't be assigned if the review is overdue...
Hmm, review round status 7 and 8 shouldn't be assigned if the review is overdue...
You are right, but I can see a similar situation in many articles.
When I updated the code in jobs/email/EditorialReminder.php as determineStatus instead of getStatus, it worked. It may be a bug that the status stays at 7 and 8.
Probably our implementation approach has some issue here. Here we are making decision based on last review round's status but we probably need to check the any active review assignment associated with that review round and make decision based on those review assignments' status . Another approach can be replace the getStatus
with determineStatus
for checking as @yoruyenturk has described but not possible to confirm without some testing .
About the review round get the status 7 or 8, if I am not mistaken , it will be updated to those value for a review round when any one the review assignment in that review round is pending or any review is submitted for editor to look at . Seems like this checking is bit confusing .
I am able to reproduce the issue where getStatus
and determineStatus
return value . When a reviewer get assigned and accepted the review request , the both the getStatus
and determineStatus
return REVIEW_ROUND_STATUS_PENDING_REVIEWS ==> 7
that is Waiting for reviews to be submitted by reviewers
. But once the review submission due date exceed , the getStatus
still returns REVIEW_ROUND_STATUS_PENDING_REVIEWS ==> 7
but the determineStatus
return REVIEW_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 .
Also in the EditorialReminder
job , we are deciding if outstanding based on the following statuses of review round
so it does not consider the REVIEW_ROUND_STATUS_PENDING_REVIEWS ==> 7 (Waiting for reviews to be submitted by reviewers)
and REVIEW_ROUND_STATUS_REVIEWS_READY --> 8 (One or more reviews is ready for an editor to view)
.
One way to solve it to include the REVIEW_ROUND_STATUS_PENDING_REVIEWS ==> 7
and REVIEW_ROUND_STATUS_REVIEWS_READY --> 8
in the list of status based on which the outstanding get calculated . And that seems easy one .
Another approach can be to have a scheduler to update the review round status to REVIEW_ROUND_STATUS_REVIEWS_OVERDUE --> 10
when due dates exceeds .
@Vitaliy-1 what do you think ?
Describe the bug Dear @asmecher, @touhidurabir
The Editorial Reminder task email does not return the correct list. Is it possible to update this using the determineStatus function?
To Reproduce Steps to reproduce the behavior:
What application are you using? OJS version 3.4.0-5
Additional information Picture 1.
Picture 2.
Picture 3.
Picture 4.
PRs
Stable 3.4.0
pkp-lib --> https://github.com/pkp/pkp-lib/pull/10332 ojs --> https://github.com/pkp/ojs/pull/4407 [TEST ONLY]