2
2
/**
3
3
* @file controllers/grid/users/reviewer/form/ResendRequestReviewerForm.php
4
4
*
5
- * Copyright (c) 2014-2022 Simon Fraser University
6
- * Copyright (c) 2003-2022 John Willinsky
5
+ * Copyright (c) 2014-2024 Simon Fraser University
6
+ * Copyright (c) 2003-2024 John Willinsky
7
7
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
8
8
*
9
9
* @class ResendRequestReviewerForm
21
21
use APP \notification \NotificationManager ;
22
22
use APP \submission \Submission ;
23
23
use PKP \context \Context ;
24
+ use PKP \controllers \grid \users \reviewer \form \traits \HasReviewDueDate ;
24
25
use PKP \core \Core ;
25
26
use PKP \core \PKPApplication ;
26
27
use PKP \log \event \PKPSubmissionEventLogEntry ;
33
34
34
35
class ResendRequestReviewerForm extends ReviewerNotifyActionForm
35
36
{
37
+ use HasReviewDueDate;
38
+
36
39
/**
37
40
* Constructor
38
- *
39
41
*/
40
42
public function __construct (ReviewAssignment $ reviewAssignment , ReviewRound $ reviewRound , Submission $ submission )
41
43
{
@@ -45,21 +47,64 @@ public function __construct(ReviewAssignment $reviewAssignment, ReviewRound $rev
45
47
$ submission ,
46
48
'controllers/grid/users/reviewer/form/resendRequestReviewerForm.tpl '
47
49
);
50
+
51
+ // Validation checks for this form
52
+ $ this ->addCheck (new \PKP \form \validation \FormValidator ($ this , 'responseDueDate ' , 'required ' , 'editor.review.errorAddingReviewer ' ));
53
+ $ this ->addCheck (new \PKP \form \validation \FormValidator ($ this , 'reviewDueDate ' , 'required ' , 'editor.review.errorAddingReviewer ' ));
54
+ $ this ->addCheck (
55
+ new \PKP \form \validation \FormValidatorDateCompare (
56
+ $ this ,
57
+ 'reviewDueDate ' ,
58
+ \Carbon \Carbon::parse (Application::get ()->getRequest ()->getUserVar ('responseDueDate ' )),
59
+ \PKP \validation \enums \DateComparisonRule::GREATER_OR_EQUAL ,
60
+ 'required ' ,
61
+ 'editor.review.errorAddingReviewer.dateValidationFailed '
62
+ )
63
+ );
48
64
}
49
65
66
+ /**
67
+ * @copydoc \PKP\controllers\grid\users\reviewer\form\ReviewerNotifyActionForm::getMailable()
68
+ */
50
69
protected function getMailable (Context $ context , Submission $ submission , ReviewAssignment $ reviewAssignment ): Mailable
51
70
{
52
71
return new ReviewerResendRequest ($ context , $ submission , $ reviewAssignment );
53
72
}
54
73
55
74
/**
56
- * @copydoc ReviewerNotifyActionForm::getEmailKey()
75
+ * @copydoc \PKP\controllers\grid\users\reviewer\form\ ReviewerNotifyActionForm::getEmailKey()
57
76
*/
58
77
protected function getEmailKey ()
59
78
{
60
79
return 'REVIEW_RESEND_REQUEST ' ;
61
80
}
62
81
82
+ /**
83
+ * @copydoc \PKP\controllers\grid\users\reviewer\form\ReviewerNotifyActionForm::initData()
84
+ */
85
+ public function initData ()
86
+ {
87
+ parent ::initData ();
88
+
89
+ [$ reviewDueDate , $ responseDueDate ] = $ this ->getDueDates (Application::get ()->getRequest ()->getContext ());
90
+
91
+ $ this ->setData ('responseDueDate ' , $ responseDueDate );
92
+ $ this ->setData ('reviewDueDate ' , $ reviewDueDate );
93
+ }
94
+
95
+ /**
96
+ * @copydoc \PKP\controllers\grid\users\reviewer\form\ReviewerNotifyActionForm::readInputData()
97
+ */
98
+ public function readInputData ()
99
+ {
100
+ parent ::readInputData ();
101
+
102
+ $ this ->readUserVars ([
103
+ 'responseDueDate ' ,
104
+ 'reviewDueDate ' ,
105
+ ]);
106
+ }
107
+
63
108
/**
64
109
* @copydoc Form::execute()
65
110
*
@@ -84,6 +129,8 @@ public function execute(...$functionArgs)
84
129
'declined ' => false ,
85
130
'requestResent ' => true ,
86
131
'dateConfirmed ' => null ,
132
+ 'dateDue ' => $ this ->getData ('reviewDueDate ' ), // Set the review due date
133
+ 'dateResponseDue ' => $ this ->getData ('responseDueDate ' ), // Set the response due date
87
134
]);
88
135
89
136
// Stamp the modification date
0 commit comments