diff --git a/JatsParserPlugin.inc.php b/JatsParserPlugin.inc.php index d97ac74..80c7d72 100644 --- a/JatsParserPlugin.inc.php +++ b/JatsParserPlugin.inc.php @@ -400,6 +400,7 @@ function editPublicationFullText(string $hookname, array $args) { foreach ($localePare as $localeKey => $fileId) { if (empty($fileId)) { $newPublication->setData('jatsParser::fullText', null, $localeKey); + $newPublication->setData('jatsParser::fullTextFileId', null, $localeKey); continue; } $submissionFile = $submissionFileDao->getLatestRevision($fileId, SUBMISSION_FILE_PRODUCTION_READY); diff --git a/classes/components/forms/PublicationJATSUploadForm.inc.php b/classes/components/forms/PublicationJATSUploadForm.inc.php index aeb2de1..99c2652 100644 --- a/classes/components/forms/PublicationJATSUploadForm.inc.php +++ b/classes/components/forms/PublicationJATSUploadForm.inc.php @@ -62,6 +62,11 @@ public function __construct($action, $locales, $publication, $submissionFiles, $ ); } + // Update the values so the proper option is selected on thr form initiation if full-text isn't selected for the specific locale + $values = $publication->getData('jatsParser::fullTextFileId'); + $emptyValues = array_fill_keys(array_keys($options), null); + empty($values) ? $values = $emptyValues : $values = array_merge($emptyValues, $values); + if (!empty($options)) { $this->addField(new FieldOptions('jatsParser::fullTextFileId', [ 'label' => __('plugins.generic.jatsParser.publication.jats.label'), @@ -69,7 +74,7 @@ public function __construct($action, $locales, $publication, $submissionFiles, $ 'isMultilingual' => true, 'type' => 'radio', 'options' => $options, - 'value' => $publication->getData('jatsParser::fullTextFileId'), + 'value' => $values, ]))->addField(new FieldOptions('jatsParser::pdfGalley', [ 'label' => __('plugins.generic.jatsParser.publication.jats.pdf.label'), 'type' => 'checkbox',