diff --git a/AuthorVersionPlugin.inc.php b/AuthorVersionPlugin.inc.php
index 59fc9ba..c2bb8a3 100755
--- a/AuthorVersionPlugin.inc.php
+++ b/AuthorVersionPlugin.inc.php
@@ -93,11 +93,11 @@ public function addWorkflowModifications($hookName, $params)
$request = PKPApplication::get()->getRequest();
$requestedPage = $templateMgr->getTemplateVars('requestedPage');
- if($requestedPage == 'authorDashboard') {
+ if ($requestedPage == 'authorDashboard') {
$templateMgr->registerFilter("output", array($this, 'addVersionJustificationButtonFilter'));
}
- if($requestedPage == 'workflow') {
+ if ($requestedPage == 'workflow') {
$templateMgr->registerFilter("output", array($this, 'addVersionJustificationButtonFilter'));
$templateMgr->registerFilter("output", array($this, 'addDeleteVersionButtonFilter'));
}
diff --git a/api/v1/authorVersion/AuthorVersionHandler.inc.php b/api/v1/authorVersion/AuthorVersionHandler.inc.php
index 9cc83cf..cb547e1 100644
--- a/api/v1/authorVersion/AuthorVersionHandler.inc.php
+++ b/api/v1/authorVersion/AuthorVersionHandler.inc.php
@@ -52,7 +52,7 @@ public function submitVersion($slimRequest, $response, $args)
$submission = $this->getSubmission($slimRequest);
$publication = $submission->getLatestPublication();
- if(!is_null($publication->getData('versionJustification'))
+ if (!is_null($publication->getData('versionJustification'))
|| $publication->getData('status') == STATUS_PUBLISHED
|| $publication->getData('version') == 1
) {
@@ -74,7 +74,7 @@ public function deleteVersion($slimRequest, $response, $args)
$submission = $this->getSubmission($slimRequest);
$publication = $submission->getLatestPublication();
- if($publication->getData('status') == STATUS_PUBLISHED or $publication->getData('version') == 1) {
+ if ($publication->getData('status') == STATUS_PUBLISHED or $publication->getData('version') == 1) {
return $response->withStatus(400);
}
@@ -91,7 +91,7 @@ public function updateVersionJustification($slimRequest, $response, $args)
$submission = $this->getSubmission($slimRequest);
$publication = $submission->getLatestPublication();
- if($publication->getData('status') == STATUS_PUBLISHED || $publication->getData('version') == 1) {
+ if ($publication->getData('status') == STATUS_PUBLISHED || $publication->getData('version') == 1) {
return $response->withStatus(400);
}
@@ -119,13 +119,21 @@ private function sendSubmittedVersionEmail($publication, $versionJustification)
private function sendDeletedVersionEmail($publication, $deletingJustification)
{
+ if (empty($authors)) {
+ return;
+ }
+
$request = $this->getRequest();
$context = $request->getContext();
-
$emailTemplate = 'DELETED_VERSION_NOTIFICATION';
- $primaryAuthor = $publication->getPrimaryAuthor();
+ $recipientAuthor = $publication->getPrimaryAuthor();
+
+ if (!$recipientAuthor) {
+ $recipientAuthor = $publication->getData('authors')[0];
+ }
+
$recipients = [
- ['email' => $primaryAuthor->getData('email'), 'name' => $primaryAuthor->getFullName()]
+ ['email' => $recipientAuthor->getData('email'), 'name' => $recipientAuthor->getFullName()]
];
$params = [
@@ -145,7 +153,7 @@ private function sendEmailTemplate(string $templateName, array $recipients, arra
$email = new MailTemplate($templateName, null, $context, false);
$email->setFrom($context->getData('contactEmail'), $context->getData('contactName'));
- foreach($recipients as $recipient) {
+ foreach ($recipients as $recipient) {
$email->addRecipient($recipient['email'], $recipient['name']);
}
@@ -171,7 +179,7 @@ private function getManagersAssigned($publication): array
while ($assignment = $allAssignments->next()) {
$userId = $assignment->getUserId();
- if($this->userIsManager($userId)) {
+ if ($this->userIsManager($userId)) {
$manager = $userDao->getById($userId);
$managers[] = [
'email' => $manager->getEmail(),
@@ -189,8 +197,8 @@ private function userIsManager($userId): bool
$userGroupsOfUser = $userGroupDao->getByUserId($userId);
$managerGroupName = 'preprint server manager';
- while($userGroup = $userGroupsOfUser->next()) {
- if(strtolower($userGroup->getName('en_US')) == $managerGroupName) {
+ while ($userGroup = $userGroupsOfUser->next()) {
+ if (strtolower($userGroup->getName('en_US')) == $managerGroupName) {
return true;
}
}
diff --git a/classes/services/queryBuilders/AuthorVersionQueryBuilder.inc.php b/classes/services/queryBuilders/AuthorVersionQueryBuilder.inc.php
index 01cc3ae..14be4cc 100644
--- a/classes/services/queryBuilders/AuthorVersionQueryBuilder.inc.php
+++ b/classes/services/queryBuilders/AuthorVersionQueryBuilder.inc.php
@@ -28,7 +28,7 @@ public function appGet($q)
->where('setting_name', '=', 'versionJustification');
};
- if($this->submittedVersion) {
+ if ($this->submittedVersion) {
$q->whereIn('nvp.publication_id', $submittedVersionSubQuery);
} else {
$q->whereNotIn('nvp.publication_id', $submittedVersionSubQuery);
diff --git a/index.php b/index.php
index 9352ee6..4d80171 100755
--- a/index.php
+++ b/index.php
@@ -1,4 +1,5 @@
authorVersion
plugins.generic
- 1.5.4.0
- 2024-08-12
+ 1.5.5.0
+ 2025-01-20
1
AuthorVersionPlugin