Skip to content

Commit

Permalink
Merge branch 'removeHasDoiField-725' into 'main'
Browse files Browse the repository at this point in the history
Remove campo para informar se documento original possui DOI

See merge request softwares-pkp/plugins_ojs/scieloTranslationsFields!3
  • Loading branch information
JhonathanLepidus committed Dec 5, 2024
2 parents 5106a3f + ec55fcc commit 1305f57
Show file tree
Hide file tree
Showing 11 changed files with 37 additions and 130 deletions.
18 changes: 6 additions & 12 deletions ScieloTranslationsFieldsPlugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,6 @@ public function addOurFieldsToPublicationSchema($hookName, $params)
{
$schema = &$params[0];

$schema->properties->{'originalDocumentHasDoi'} = (object) [
'type' => 'integer',
'apiSummary' => true,
'validation' => ['nullable'],
];
$schema->properties->{'originalDocumentDoi'} = (object) [
'type' => 'string',
'apiSummary' => true,
Expand Down Expand Up @@ -182,16 +177,15 @@ public function validateSubmissionFields($hookName, $params)
$submission = $params[1];
$publication = $submission->getCurrentPublication();

$originalDocumentHasDoi = $publication->getData('originalDocumentHasDoi');
if (is_null($originalDocumentHasDoi)) {
$errors['originalDocumentHasDoi'] = [__('plugins.generic.scieloTranslationsFields.error.originalDocumentHasDoi.required')];
$originalDocumentDoi = $publication->getData('originalDocumentDoi');
if (empty($originalDocumentDoi)) {
$errors['originalDocumentDoi'] = [__('plugins.generic.scieloTranslationsFields.error.originalDocumentDoi.required')];
return Hook::CONTINUE;
}

$doiValidator = new DoiValidator();
$originalDocumentDoi = $publication->getData('originalDocumentDoi');

if ($originalDocumentHasDoi && !$doiValidator->validate($originalDocumentDoi)) {
$errors['originalDocumentDoi'] = [__('plugins.generic.scieloTranslationsFields.originalDocumentDoi.invalidDoi')];
if (!$doiValidator->validate($originalDocumentDoi)) {
$errors['originalDocumentDoi'] = [__('plugins.generic.scieloTranslationsFields.error.originalDocumentDoi.invalidDoi')];
}

return Hook::CONTINUE;
Expand Down
6 changes: 2 additions & 4 deletions api/v1/translationsFields/TranslationsFieldsHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,23 +62,21 @@ public function saveTranslationFields($slimRequest, $response, $args)
$submission = $this->getSubmission($slimRequest);
$publication = $submission->getCurrentPublication();

$originalDocumentHasDoi = $requestParams['originalDocumentHasDoi'];
$originalDocumentDoi = $requestParams['originalDocumentDoi'];
$originalDocumentCitation = null;

if ($originalDocumentHasDoi) {
if (!empty($originalDocumentDoi)) {
if ($this->validateOriginalDoi($originalDocumentDoi)) {
$doiClient = new DoiClient();
$originalDocumentCitation = $doiClient->getApaCitation($originalDocumentDoi);
} elseif ($placedOn == 'workflow') {
return $response->withStatus(400)->withJson([
'originalDocumentDoi' => [__('plugins.generic.scieloTranslationsFields.originalDocumentDoi.invalidDoi')]
'originalDocumentDoi' => [__('plugins.generic.scieloTranslationsFields.error.originalDocumentDoi.invalidDoi')]
]);
}
}

Repo::publication()->edit($publication, [
'originalDocumentHasDoi' => $originalDocumentHasDoi,
'originalDocumentDoi' => $originalDocumentDoi,
'originalDocumentCitation' => $originalDocumentCitation
]);
Expand Down
22 changes: 2 additions & 20 deletions classes/components/forms/TranslationDataForm.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,29 +18,12 @@ public function __construct($action, $submission, $placedOn)
$originalDocumentDoi = $publication->getData('originalDocumentDoi');

$this->action = $action . "&placedOn=$placedOn";
$this->addField(new FieldOptions('originalDocumentHasDoi', [
'label' => __('plugins.generic.scieloTranslationsFields.originalDocumentHasDoi'),
'description' => __('plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.description'),
'type' => 'radio',
'isRequired' => true,
'value' => $publication->getData('originalDocumentHasDoi'),
'options' => [
[
'value' => 1,
'label' => __('plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.yes')
],
[
'value' => 0,
'label' => __('plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.no')
]
],
]))
->addField(new FieldText('originalDocumentDoi', [
$this->addField(new FieldText('originalDocumentDoi', [
'label' => __('plugins.generic.scieloTranslationsFields.originalDocumentDoi'),
'description' => __('plugins.generic.scieloTranslationsFields.originalDocumentDoi.description'),
'isMultilingual' => false,
'isRequired' => true,
'value' => $originalDocumentDoi,
'showWhen' => ['originalDocumentHasDoi', 1]
]));

if (!empty($originalDocumentDoi) && $placedOn == 'workflow') {
Expand All @@ -53,7 +36,6 @@ public function __construct($action, $submission, $placedOn)
$this->addField(new FieldHTML('originalDocumentDoi', [
'label' => __('plugins.generic.scieloTranslationsFields.originalDocumentCitation'),
'description' => "<p style=\"text-align: justify\">{$originalDocumentCitation}</p>",
'showWhen' => ['originalDocumentHasDoi', 1]
]));
}
}
Expand Down
3 changes: 2 additions & 1 deletion cypress/tests/Test1_relationsField.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ function detailsStep(submissionData) {
cy.wait(500);
cy.get('#titleAbstract-keywords-control-en').type('{enter}', {delay: 0});
});
cy.get('input[name="originalDocumentHasDoi"][value="0"]').check();
cy.get('input[name="originalDocumentDoi"]').type(submissionData.originalDoi, {delay: 0});
cy.contains('button', 'Continue').click();
}

Expand All @@ -43,6 +43,7 @@ describe('SciELO Translations Fields - Relations field features', function () {
title: "Living a boy's adventure tale",
abstract: 'Describes an adventure tale created and narrated by a boy',
keywords: ['adventure tale', 'boyhood'],
originalDoi: '10.4567/OriginalDoiTranslated',
contributors: [
{
'given': 'Morten',
Expand Down
14 changes: 3 additions & 11 deletions cypress/tests/Test2_originalDoiField.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ describe('SciELO Translations Fields - Original DOI features', function () {

cy.contains('h2', 'Translation data');
cy.contains('Please provide the following data regarding the translation you are submitting.')
cy.contains('legend', 'Original document DOI');
cy.contains('Does the original document this submission is translating have a DOI?');
cy.contains('Original document DOI');
cy.contains('Please insert the DOI of the original document this submission is translating');

detailsStep(submissionData);
cy.addSubmissionGalleys(submissionData.files);
Expand All @@ -82,14 +82,10 @@ describe('SciELO Translations Fields - Original DOI features', function () {
cy.wait(1000);
cy.contains('h3', 'Translation data');
cy.contains('h4', 'Original document DOI');
cy.get('h4').contains(/^DOI$/).should('not.exist');
cy.contains('You must inform if the original document has a DOI');
cy.contains('You must inform the DOI of the original document this submission is translating');
cy.contains('button', 'Submit').should('be.disabled');

cy.contains('.pkpSteps__step__label', 'Details').click();
cy.get('input[name="originalDocumentHasDoi"][value="1"]').check();
cy.contains('label', 'DOI');
cy.contains('Please insert the DOI of the original document this submission is translating');
cy.get('input[name="originalDocumentDoi"]').type('Invalid DOI', {delay: 0});
Cypress._.times(4, () => {
cy.contains('button', 'Continue').click();
Expand All @@ -102,8 +98,6 @@ describe('SciELO Translations Fields - Original DOI features', function () {
cy.contains('button', 'Continue').click();
});

cy.contains('The original document has a DOI');
cy.contains('h4', 'DOI');
cy.contains(submissionData.originalDoi);

cy.contains('button', 'Submit').click();
Expand All @@ -121,8 +115,6 @@ describe('SciELO Translations Fields - Original DOI features', function () {
cy.get('#translationData-button').click();

cy.contains('Original document DOI');
cy.get('input[name="originalDocumentHasDoi"][value="1"]').should('be.checked');
cy.contains('DOI')
cy.get('input[name="originalDocumentDoi"]').should('have.value', submissionData.originalDoi);

cy.get('input[name="originalDocumentDoi"]').clear().type('Invalid DOI', {delay: 0});
Expand Down
2 changes: 0 additions & 2 deletions cypress/tests/Test3_originalCitation.cy.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ describe('SciELO Translations Fields - Original document citation features', fun
cy.get('div#myQueue a:contains("New Submission")').click();

beginSubmission(submissionData);
cy.get('input[name="originalDocumentHasDoi"][value="1"]').check();
cy.get('input[name="originalDocumentDoi"]').type('Invalid DOI', {delay: 0});
detailsStep(submissionData);
cy.addSubmissionGalleys(submissionData.files);
Expand All @@ -85,7 +84,6 @@ describe('SciELO Translations Fields - Original document citation features', fun
cy.contains('button', 'Continue').click();
});

cy.contains('The original document has a DOI');
cy.contains(submissionData.originalDoi);
cy.contains(submissionData.originalDoiCitationPart);

Expand Down
24 changes: 6 additions & 18 deletions locale/en/locale.po
Original file line number Diff line number Diff line change
Expand Up @@ -23,32 +23,20 @@ msgstr "Translation data"
msgid "plugins.generic.scieloTranslationsFields.translationData.description"
msgstr "Please provide the following data regarding the translation you are submitting."

msgid "plugins.generic.scieloTranslationsFields.originalDocumentHasDoi"
msgstr "Original document DOI"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.description"
msgstr "Does the original document this submission is translating have a DOI?"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.yes"
msgstr "The original document has a DOI"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.no"
msgstr "The original document does not have a DOI"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentDoi"
msgstr "DOI"
msgstr "Original document DOI"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentDoi.description"
msgstr "Please insert the DOI of the original document this submission is translating"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentDoi.invalidDoi"
msgstr "The DOI entered is invalid. Please include only the identifier (e.g. \"10.1234/ExampleDOI\")"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentCitation"
msgstr "Original document citation"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentCitation.couldntRetrieve"
msgstr "It was not possible to obtain the citation of the DOI informed"

msgid "plugins.generic.scieloTranslationsFields.error.originalDocumentHasDoi.required"
msgstr "You must inform if the original document has a DOI"
msgid "plugins.generic.scieloTranslationsFields.error.originalDocumentDoi.required"
msgstr "You must inform the DOI of the original document this submission is translating"

msgid "plugins.generic.scieloTranslationsFields.error.originalDocumentDoi.invalidDoi"
msgstr "The DOI entered is invalid. Please include only the identifier (e.g. \"10.1234/ExampleDOI\")"
24 changes: 6 additions & 18 deletions locale/es/locale.po
Original file line number Diff line number Diff line change
Expand Up @@ -23,32 +23,20 @@ msgstr "Data de traducción"
msgid "plugins.generic.scieloTranslationsFields.translationData.description"
msgstr "Proporcione los siguientes datos sobre la traducción que está enviando"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentHasDoi"
msgstr "DOI del documento original"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.description"
msgstr "¿El documento original que este envío está traduciendo tiene un DOI?"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.yes"
msgstr "El documento original tiene un DOI"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.no"
msgstr "El documento original no tiene un DOI"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentDoi"
msgstr "DOI"
msgstr "DOI del documento original"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentDoi.description"
msgstr "Por favor ingresse el DOI del documento original que este envío está traduciendo"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentDoi.invalidDoi"
msgstr "El DOI introducido no es válido. Por favor, introduzca sólo el identificador (ex.: \"10.1234/ExemploDOI\")"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentCitation"
msgstr "Cita del documento original"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentCitation.couldntRetrieve"
msgstr "No fue posible obtener la cita del DOI informado"

msgid "plugins.generic.scieloTranslationsFields.error.originalDocumentHasDoi.required"
msgstr "Debe informar si el documento original tiene DOI"
msgid "plugins.generic.scieloTranslationsFields.error.originalDocumentDoi.required"
msgstr "Debe informar el DOI del documento original que este envío está traduciendo"

msgid "plugins.generic.scieloTranslationsFields.error.originalDocumentDoi.invalidDoi"
msgstr "El DOI introducido no es válido. Por favor, introduzca sólo el identificador (ex.: \"10.1234/ExemploDOI\")"
24 changes: 6 additions & 18 deletions locale/pt_BR/locale.po
Original file line number Diff line number Diff line change
Expand Up @@ -23,32 +23,20 @@ msgstr "Dados da tradução"
msgid "plugins.generic.scieloTranslationsFields.translationData.description"
msgstr "Forneça os seguintes dados relativos a tradução que você está submetendo"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentHasDoi"
msgstr "DOI do documento original"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.description"
msgstr "O documento original que esta submissão está traduzindo possui DOI?"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.yes"
msgstr "O documento original possui um DOI"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.no"
msgstr "O documento original não possui um DOI"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentDoi"
msgstr "DOI"
msgstr "DOI do documento original"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentDoi.description"
msgstr "Por favor, insira o DOI do documento original que esta submissão está traduzindo"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentDoi.invalidDoi"
msgstr "O DOI inserido é inválido. Por favor, insira apenas o identificador (ex.: \"10.1234/ExemploDOI\")"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentCitation"
msgstr "Citação do documento original"

msgid "plugins.generic.scieloTranslationsFields.originalDocumentCitation.couldntRetrieve"
msgstr "Não foi possível obter a citação do DOI informado"

msgid "plugins.generic.scieloTranslationsFields.error.originalDocumentHasDoi.required"
msgstr "Você deve informar se o documento original possui um DOI"
msgid "plugins.generic.scieloTranslationsFields.error.originalDocumentDoi.required"
msgstr "Você deve informar o DOI do documento original que esta submissão está traduzindo"

msgid "plugins.generic.scieloTranslationsFields.error.originalDocumentDoi.invalidDoi"
msgstr "O DOI inserido é inválido. Por favor, insira apenas o identificador (ex.: \"10.1234/ExemploDOI\")"
26 changes: 2 additions & 24 deletions templates/review/translationDataFields.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -12,29 +12,7 @@
</pkp-button>
</div>
<div class="submissionWizard__reviewPanel__body">
<div class="submissionWizard__reviewPanel__item">
<h4 class="submissionWizard__reviewPanel__item__header">
{translate key="plugins.generic.scieloTranslationsFields.originalDocumentHasDoi"}
</h4>
<div class="submissionWizard__reviewPanel__item__value">
<notification v-if="errors.originalDocumentHasDoi" type="warning">
<icon icon="exclamation-triangle" :inline="true"></icon>
{translate key="plugins.generic.scieloTranslationsFields.error.originalDocumentHasDoi.required"}
</notification>
<template v-else>
<div v-if="publication.originalDocumentHasDoi">
{translate key="plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.yes"}
</div>
<div v-else>
{translate key="plugins.generic.scieloTranslationsFields.originalDocumentHasDoi.no"}
</div>
</template>
</div>
</div>
<div
v-if="publication.originalDocumentHasDoi"
class="submissionWizard__reviewPanel__item"
>
<div class="submissionWizard__reviewPanel__item">
<h4 class="submissionWizard__reviewPanel__item__header">
{translate key="plugins.generic.scieloTranslationsFields.originalDocumentDoi"}
</h4>
Expand All @@ -49,7 +27,7 @@
</div>
</div>
<div
v-if="publication.originalDocumentHasDoi && !errors.originalDocumentDoi"
v-if="!errors.originalDocumentDoi"
class="submissionWizard__reviewPanel__item"
>
<h4 class="submissionWizard__reviewPanel__item__header">
Expand Down
4 changes: 2 additions & 2 deletions version.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<application>scieloTranslationsFields</application>
<type>plugins.generic</type>
<lazy-load>0</lazy-load>
<release>1.1.0.0</release>
<date>2024-12-04</date>
<release>1.2.0.0</release>
<date>2024-12-05</date>
<class>ScieloTranslationsFieldsPlugin</class>
</version>

0 comments on commit 1305f57

Please sign in to comment.