From 3333a792b7aa4369495198d9c9af1a680eeb8aa9 Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Mon, 29 Jan 2024 16:04:48 +0600 Subject: [PATCH] pkp/pkp-lib#5885 Review remainder update issues fixed --- .../forms/context/PKPReviewSetupForm.php | 17 ++-------- .../validation/FormValidatorDateCompare.php | 6 ++-- ...5885_RenameReviewReminderSettingsName.php} | 10 +++--- classes/task/ReviewReminder.php | 34 +++++++++++-------- ...arison.php => ValidatorDateComparison.php} | 8 ++--- .../users/reviewer/form/EditReviewForm.php | 2 +- .../grid/users/reviewer/form/ReviewerForm.php | 4 +-- ...ReviewRemainder.php => ReviewReminder.php} | 10 +++--- locale/en/common.po | 3 ++ 9 files changed, 44 insertions(+), 50 deletions(-) rename classes/migration/upgrade/v3_5_0/{I5885_RenameReviewRemainderSettingsName.php => I5885_RenameReviewReminderSettingsName.php} (83%) rename classes/validation/{ValidatorDateConparison.php => ValidatorDateComparison.php} (92%) rename jobs/email/{ReviewRemainder.php => ReviewReminder.php} (94%) diff --git a/classes/components/forms/context/PKPReviewSetupForm.php b/classes/components/forms/context/PKPReviewSetupForm.php index 0029999fb78..ba42270e34f 100644 --- a/classes/components/forms/context/PKPReviewSetupForm.php +++ b/classes/components/forms/context/PKPReviewSetupForm.php @@ -92,21 +92,8 @@ public function __construct($action, $locales, $context) ])); if (Config::getVar('general', 'scheduled_tasks')) { - // $this->addField(new FieldText('numDaysBeforeInviteReminder', [ - // 'label' => __('manager.setup.reviewOptions.reminders.response'), - // 'description' => __('manager.setup.reviewOptions.reminders.response.description'), - // 'value' => $context->getData('numDaysBeforeInviteReminder'), - // 'size' => 'small', - // ])) - // ->addField(new FieldText('numDaysBeforeSubmitReminder', [ - // 'label' => __('manager.setup.reviewOptions.reminders.submit'), - // 'description' => __('manager.setup.reviewOptions.reminders.submit.description'), - // 'value' => $context->getData('numDaysBeforeSubmitReminder'), - // 'size' => 'small', - // ])); - $this - ->addField(new FieldHTML('reviewRequestResponseRemainder', [ + ->addField(new FieldHTML('reviewRequestResponseReminder', [ 'label' => __('manager.setup.reviewOptions.reminders.response'), 'description' => __('manager.setup.reviewOptions.reminders.response.description'), ])) @@ -120,7 +107,7 @@ public function __construct($action, $locales, $context) 'value' => $context->getData('numDaysAfterReviewResponseReminderDue'), 'size' => 'small', ])) - ->addField(new FieldHTML('submissionReviewResponseRemainder', [ + ->addField(new FieldHTML('submissionReviewResponseReminder', [ 'label' => __('manager.setup.reviewOptions.reminders.submit'), 'description' => __('manager.setup.reviewOptions.reminders.submit.description'), ])) diff --git a/classes/form/validation/FormValidatorDateCompare.php b/classes/form/validation/FormValidatorDateCompare.php index 8e549776512..c9cbe9bab9f 100644 --- a/classes/form/validation/FormValidatorDateCompare.php +++ b/classes/form/validation/FormValidatorDateCompare.php @@ -18,7 +18,7 @@ namespace PKP\form\validation; -use PKP\validation\ValidatorDateConparison; +use PKP\validation\ValidatorDateComparison; use Carbon\Carbon; use DateTimeInterface; @@ -34,9 +34,9 @@ class FormValidatorDateCompare extends FormValidator * @param string $type the type of check, either "required" or "optional" * @param string $message the error message for validation failures (i18n key) */ - public function __construct(&$form, $field, $comparingDate, $comparingRule, $type = 'optional', $message = 'email.invalid') + public function __construct(&$form, $field, $comparingDate, $comparingRule, $type = 'optional', $message = 'validator.date.comparison') { - $validator = new ValidatorDateConparison($comparingDate, $comparingRule); + $validator = new ValidatorDateComparison($comparingDate, $comparingRule); parent::__construct($form, $field, $type, $message, $validator); } } diff --git a/classes/migration/upgrade/v3_5_0/I5885_RenameReviewRemainderSettingsName.php b/classes/migration/upgrade/v3_5_0/I5885_RenameReviewReminderSettingsName.php similarity index 83% rename from classes/migration/upgrade/v3_5_0/I5885_RenameReviewRemainderSettingsName.php rename to classes/migration/upgrade/v3_5_0/I5885_RenameReviewReminderSettingsName.php index f2702357612..79300b9a588 100644 --- a/classes/migration/upgrade/v3_5_0/I5885_RenameReviewRemainderSettingsName.php +++ b/classes/migration/upgrade/v3_5_0/I5885_RenameReviewReminderSettingsName.php @@ -1,25 +1,23 @@ getDateDue())->startOfDay(); if ($reviewAssignment->getDateReminded() !== null) { - // we have a remainder sent previously + // we have a reminder sent previously $dateReminded = Carbon::parse($reviewAssignment->getDateReminded())->startOfDay(); if ($reviewAssignment->getDateConfirmed() === null) { // review request has not been responded - // previous remainder was a BEFORE REVIEW REQUEST RESPONSE remainder + // previous reminder was a BEFORE REVIEW REQUEST RESPONSE reminder - if ($dateReminded->lt($dateResponseDue) && + if ($numDaysAfterReviewResponseReminderDue && + $dateReminded->lt($dateResponseDue) && $currentDate->gte($dateResponseDue) && $currentDate->diffInDays($dateResponseDue) >= $numDaysAfterReviewResponseReminderDue) { - // ACTION:-> we need to sent a AFTER REVIEW REQUEST RESPONSE remainder + // ACTION:-> we need to sent a AFTER REVIEW REQUEST RESPONSE reminder $mailable = ReviewResponseRemindAuto::class; } } else { @@ -106,9 +107,9 @@ public function executeActions() $currentDate->lt($dateDue) && $dateDue->diffInDays($currentDate) <= $numDaysBeforeReviewSubmitReminderDue) { - // no review submit remainder has been sent + // no review submit reminder has been sent - // ACTION:-> we need to sent a BEFORE REVIEW SUBMIT remainder + // ACTION:-> we need to sent a BEFORE REVIEW SUBMIT reminder $mailable = ReviewRemindAuto::class; } else if ( $numDaysAfterReviewSubmitReminderDue && @@ -116,25 +117,25 @@ public function executeActions() $currentDate->gt($dateDue) && $currentDate->diffInDays($dateDue) >= $numDaysAfterReviewSubmitReminderDue) { - // ACTION:-> we need to sent a AFTER REVIEW SUBMIT remainder + // ACTION:-> we need to sent a AFTER REVIEW SUBMIT reminder $mailable = ReviewRemindAuto::class; } } } else if ($reviewAssignment->getDateConfirmed() != null) { // the review request has been responded - // as long review request has respnded, only need to concern with BEFORE/AFTER REVIEW SUBMIT remainder + // as long review request has respnded, only need to concern with BEFORE/AFTER REVIEW SUBMIT reminder if ($numDaysAfterReviewSubmitReminderDue && $currentDate->gt($dateDue) && $currentDate->diffInDays($dateDue) >= $numDaysAfterReviewSubmitReminderDue) { - // ACTION:-> we need to send AFTER REVIEW SUBMIT remainder + // ACTION:-> we need to send AFTER REVIEW SUBMIT reminder $mailable = ReviewRemindAuto::class; } else if ( $numDaysBeforeReviewSubmitReminderDue && $dateDue->gt($currentDate) && $dateDue->diffInDays($currentDate) <= $numDaysBeforeReviewSubmitReminderDue) { - // ACTION:-> we need to send BEFORE REVIEW SUBMIT remainder + // ACTION:-> we need to send BEFORE REVIEW SUBMIT reminder $mailable = ReviewRemindAuto::class; } } else { @@ -143,20 +144,25 @@ public function executeActions() $currentDate->gt($dateResponseDue) && $currentDate->diffInDays($dateResponseDue) >= $numDaysAfterReviewResponseReminderDue) { - // ACTION:-> we need to send AFTER REVIEW REQUEST RESPONSE remainder + // ACTION:-> we need to send AFTER REVIEW REQUEST RESPONSE reminder $mailable = ReviewResponseRemindAuto::class; } else if ( $numDaysBeforeReviewResponseReminderDue && $dateResponseDue->gt($currentDate) && $dateResponseDue->diffInDays($currentDate) <= $numDaysBeforeReviewResponseReminderDue) { - // ACTION:-> we need to send BEFORE REVIEW REQUEST RESPONSE remainder + // ACTION:-> we need to send BEFORE REVIEW REQUEST RESPONSE reminder $mailable = ReviewResponseRemindAuto::class; } } if ($mailable) { - ReviewRemainderJob::dispatch($reviewAssignment->getId(), $submission->getId(), $context->getId(), $mailable); + ReviewReminderJob::dispatch( + $reviewAssignment->getId(), + $submission->getId(), + $context->getId(), + $mailable + ); } } diff --git a/classes/validation/ValidatorDateConparison.php b/classes/validation/ValidatorDateComparison.php similarity index 92% rename from classes/validation/ValidatorDateConparison.php rename to classes/validation/ValidatorDateComparison.php index 846e311611d..ac63bf4e6de 100644 --- a/classes/validation/ValidatorDateConparison.php +++ b/classes/validation/ValidatorDateComparison.php @@ -1,13 +1,13 @@ getRequest()->getUserVar('responseDueDate')), - \PKP\validation\ValidatorDateConparison::DATE_COMPARE_RULE_GREATER_OR_EQUAL, + \PKP\validation\ValidatorDateComparison::DATE_COMPARE_RULE_GREATER_OR_EQUAL, 'optional', 'editor.review.errorAddingReviewer.dateValidationFailed' ) diff --git a/controllers/grid/users/reviewer/form/ReviewerForm.php b/controllers/grid/users/reviewer/form/ReviewerForm.php index 72ce95b4cf8..dfd3c1bf76f 100644 --- a/controllers/grid/users/reviewer/form/ReviewerForm.php +++ b/controllers/grid/users/reviewer/form/ReviewerForm.php @@ -77,8 +77,8 @@ public function __construct($submission, $reviewRound) new \PKP\form\validation\FormValidatorDateCompare( $this, 'reviewDueDate', - \Carbon\Carbon::parse(Application::get()->getRequest()->getUserVar('responseDueDate')), - \PKP\validation\ValidatorDateConparison::DATE_COMPARE_RULE_GREATER_OR_EQUAL, + \Carbon\Carbon::parse($this->getData('responseDueDate')), + \PKP\validation\ValidatorDateComparison::DATE_COMPARE_RULE_GREATER_OR_EQUAL, 'optional', 'editor.review.errorAddingReviewer.dateValidationFailed' ) diff --git a/jobs/email/ReviewRemainder.php b/jobs/email/ReviewReminder.php similarity index 94% rename from jobs/email/ReviewRemainder.php rename to jobs/email/ReviewReminder.php index 0ce8bc970c1..40ca0522c00 100644 --- a/jobs/email/ReviewRemainder.php +++ b/jobs/email/ReviewReminder.php @@ -1,17 +1,17 @@ get($this->submissionId); - $contextService = Services::get("context"); + $contextService = Services::get('context'); $context = $contextService->get($this->contextId); /** @var ReviewRemindAuto|ReviewResponseRemindAuto $mailable */ diff --git a/locale/en/common.po b/locale/en/common.po index e58901fc57b..7cc3637d0c7 100644 --- a/locale/en/common.po +++ b/locale/en/common.po @@ -2117,6 +2117,9 @@ msgstr "This is not a valid currency." msgid "validator.date" msgstr "This is not a valid date." +msgid "validator.date.comparison" +msgstr "Invalid dates provided for comparison." + msgid "validator.date_format" msgstr "This does not match the format {$format}."