From 5b7c374c035d4fae98816bca5e331a5eb3d93186 Mon Sep 17 00:00:00 2001 From: ajnyga Date: Wed, 17 Aug 2022 21:57:54 +0300 Subject: [PATCH] pkp/pkp-lib#7165 Issue datePublished can be set when adding an issue --- classes/controllers/grid/issues/IssueGridHandler.php | 6 +++++- controllers/grid/issues/IssueGridRow.php | 8 ++++---- controllers/grid/issues/form/IssueForm.php | 2 +- locale/en_US/editor.po | 3 +++ templates/controllers/grid/issues/form/issueForm.tpl | 5 ++--- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/classes/controllers/grid/issues/IssueGridHandler.php b/classes/controllers/grid/issues/IssueGridHandler.php index a2b1015b3cc..7b48f4cb73f 100644 --- a/classes/controllers/grid/issues/IssueGridHandler.php +++ b/classes/controllers/grid/issues/IssueGridHandler.php @@ -546,7 +546,11 @@ public function publishIssue($args, $request) } $issue->setPublished(1); - $issue->setDatePublished(Core::getCurrentDate()); + + // If no datePublished was given, use current date + if (!$issue->getData('datePublished')) { + $issue->setDatePublished(Core::getCurrentDate()); + } // If subscriptions with delayed open access are enabled then // update open access date according to open access delay policy diff --git a/controllers/grid/issues/IssueGridRow.php b/controllers/grid/issues/IssueGridRow.php index 7111da852ad..0d18ef34227 100644 --- a/controllers/grid/issues/IssueGridRow.php +++ b/controllers/grid/issues/IssueGridRow.php @@ -61,16 +61,16 @@ public function initialize($request, $template = null) $dispatcher = $request->getDispatcher(); $this->addAction( new LinkAction( - $issue->getDatePublished() ? 'viewIssue' : 'previewIssue', + $issue->getPublished() ? 'viewIssue' : 'previewIssue', new OpenWindowAction( $dispatcher->url($request, PKPApplication::ROUTE_PAGE, null, 'issue', 'view', [$issueId]) ), - __($issue->getDatePublished() ? 'grid.action.viewIssue' : 'grid.action.previewIssue'), + __($issue->getPublished() ? 'grid.action.viewIssue' : 'grid.action.previewIssue'), 'information' ) ); - if ($issue->getDatePublished()) { + if ($issue->getPublished()) { $this->addAction( new LinkAction( 'unpublish', @@ -109,7 +109,7 @@ public function initialize($request, $template = null) $currentIssue = Repo::issue()->getCurrent($issue->getJournalId()); $isCurrentIssue = $currentIssue != null && $issue->getId() == $currentIssue->getId(); - if ($issue->getDatePublished() && !$isCurrentIssue) { + if ($issue->getPublished() && !$isCurrentIssue) { $this->addAction( new LinkAction( 'setCurrentIssue', diff --git a/controllers/grid/issues/form/IssueForm.php b/controllers/grid/issues/form/IssueForm.php index fc51f41fd93..30e544f1533 100644 --- a/controllers/grid/issues/form/IssueForm.php +++ b/controllers/grid/issues/form/IssueForm.php @@ -241,7 +241,7 @@ public function execute(...$functionArgs) $issue->setVolume(empty($volume) ? null : $volume); $issue->setNumber(empty($number) ? null : $number); $issue->setYear(empty($year) ? null : $year); - if (!$isNewIssue) { + if ($this->getData('datePublished')) { $issue->setDatePublished($this->getData('datePublished')); } $issue->setDescription($this->getData('description'), null); // Localized diff --git a/locale/en_US/editor.po b/locale/en_US/editor.po index 723b6b9ca4a..ae54a758deb 100644 --- a/locale/en_US/editor.po +++ b/locale/en_US/editor.po @@ -120,6 +120,9 @@ msgstr "Unpublished" msgid "editor.issues.datePublished" msgstr "Date Published" +msgid "editor.issues.datePublished.notPublished.description" +msgstr "If no date is given, the date of publishing will be used" + msgid "editor.issues.volumeRequired" msgstr "Volume is required and must be a positive, numeric value." diff --git a/templates/controllers/grid/issues/form/issueForm.tpl b/templates/controllers/grid/issues/form/issueForm.tpl index aa4d0f8c72f..45a6ef9b3ce 100644 --- a/templates/controllers/grid/issues/form/issueForm.tpl +++ b/templates/controllers/grid/issues/form/issueForm.tpl @@ -41,16 +41,15 @@ {assign var=issuePublished value=false} {/if} - {if $issuePublished} {fbvFormArea id="datePublishedArea" title="editor.issues.datePublished"} {fbvFormSection} {if $issuePublished} {fbvElement type="text" id="datePublished" value=$datePublished size=$fbvStyles.size.SMALL class="datepicker"} + {else} + {fbvElement type="text" id="datePublished" value=$datePublished size=$fbvStyles.size.SMALL class="datepicker" label="editor.issues.datePublished.notPublished.description"} {/if} {/fbvFormSection} {/fbvFormArea} - {/if} - {fbvFormArea id="identificationArea" title="editor.issues.identification"} {fbvFormSection}