From a965aaf6296f8f6826f40c564f3f1df042e189bf Mon Sep 17 00:00:00 2001 From: Taslan Graham Date: Wed, 4 Sep 2024 12:23:01 -0500 Subject: [PATCH] fix missing varibale value in ORCID email template --- classes/mail/mailables/OrcidCollectAuthorId.php | 4 ++-- .../OrcidRequestAuthorAuthorization.php | 5 ++--- classes/mail/traits/OrcidVariables.php | 9 +++++++-- classes/orcid/actions/AuthorizeUserData.php | 2 +- templates/form/orcidProfile.tpl | 4 ++-- templates/frontend/pages/orcidVerify.tpl | 16 +++++++++++----- templates/user/identityForm.tpl | 3 +-- 7 files changed, 26 insertions(+), 17 deletions(-) diff --git a/classes/mail/mailables/OrcidCollectAuthorId.php b/classes/mail/mailables/OrcidCollectAuthorId.php index 2f1bbb8fd2a..dc9dd13f10f 100644 --- a/classes/mail/mailables/OrcidCollectAuthorId.php +++ b/classes/mail/mailables/OrcidCollectAuthorId.php @@ -14,11 +14,11 @@ namespace PKP\mail\mailables; -use PKP\mail\traits\OrcidVariables; use APP\submission\Submission; use PKP\context\Context; use PKP\mail\Mailable; use PKP\mail\traits\Configurable; +use PKP\mail\traits\OrcidVariables; use PKP\mail\traits\Recipient; use PKP\security\Role; @@ -36,7 +36,7 @@ class OrcidCollectAuthorId extends Mailable public function __construct(Context $context, Submission $submission, string $oauthUrl) { parent::__construct([$context, $submission]); - $this->setupOrcidVariables($oauthUrl); + $this->setupOrcidVariables($oauthUrl, $context); } /** diff --git a/classes/mail/mailables/OrcidRequestAuthorAuthorization.php b/classes/mail/mailables/OrcidRequestAuthorAuthorization.php index 8c6a24b4bcd..4eff4e1b850 100644 --- a/classes/mail/mailables/OrcidRequestAuthorAuthorization.php +++ b/classes/mail/mailables/OrcidRequestAuthorAuthorization.php @@ -12,14 +12,13 @@ * @brief An automatic email sent to the authors to add ORCIDs to a submission and request permission to push metadata to ORCID. */ - namespace PKP\mail\mailables; -use PKP\mail\traits\OrcidVariables; use APP\submission\Submission; use PKP\context\Context; use PKP\mail\Mailable; use PKP\mail\traits\Configurable; +use PKP\mail\traits\OrcidVariables; use PKP\mail\traits\Recipient; use PKP\security\Role; @@ -37,7 +36,7 @@ class OrcidRequestAuthorAuthorization extends Mailable public function __construct(Context $context, Submission $submission, string $oauthUrl) { parent::__construct([$context, $submission]); - $this->setupOrcidVariables($oauthUrl); + $this->setupOrcidVariables($oauthUrl, $context); } /** diff --git a/classes/mail/traits/OrcidVariables.php b/classes/mail/traits/OrcidVariables.php index 7a454520810..3188ef2ec04 100644 --- a/classes/mail/traits/OrcidVariables.php +++ b/classes/mail/traits/OrcidVariables.php @@ -17,13 +17,15 @@ namespace PKP\mail\traits; use APP\core\Application; +use APP\facades\Repo; +use PKP\context\Context; use PKP\mail\Mailable; trait OrcidVariables { protected static string $authorOrcidUrl = 'authorOrcidUrl'; protected static string $orcidAboutUrl = 'orcidAboutUrl'; - + protected static string $principalContactSignature = 'principalContactSignature'; abstract public function addData(array $data): Mailable; /** @@ -40,13 +42,16 @@ public static function getOrcidDataDescriptions(): array /** * Set values for additional email template variables */ - protected function setupOrcidVariables(string $oauthUrl): void + protected function setupOrcidVariables(string $oauthUrl, Context $context): void { $request = Application::get()->getRequest(); $dispatcher = Application::get()->getDispatcher(); + $principalContact = Repo::user()->getByEmail($context->getData('contactEmail')); + $this->addData([ self::$authorOrcidUrl => $oauthUrl, self::$orcidAboutUrl => $dispatcher->url($request, Application::ROUTE_PAGE, null, 'orcid', 'about', urlLocaleForPage: ''), + self::$principalContactSignature => $principalContact->getLocalizedSignature(), ]); } } diff --git a/classes/orcid/actions/AuthorizeUserData.php b/classes/orcid/actions/AuthorizeUserData.php index f297d840b7d..d376819393a 100644 --- a/classes/orcid/actions/AuthorizeUserData.php +++ b/classes/orcid/actions/AuthorizeUserData.php @@ -151,7 +151,7 @@ public function execute(): void echo ' '; diff --git a/templates/form/orcidProfile.tpl b/templates/form/orcidProfile.tpl index 3d700435ebd..54dd288a91b 100644 --- a/templates/form/orcidProfile.tpl +++ b/templates/form/orcidProfile.tpl @@ -18,7 +18,7 @@
{$orcidIcon} {translate key='orcid.connect'}
{/if} - {translate key='orcid.about.title'} + {translate key='orcid.about.title'} {/capture} @@ -44,7 +44,7 @@ console.log(status + ", error: " + error); {rdelim} {rdelim}); - var oauthWindow = window.open("{$orcidOAuthUrl}", "_blank", "toolbar=no, scrollbars=yes, width=500, height=700, top=500, left=500"); + var oauthWindow = window.open("{$orcidOAuthUrl}", "_blank", "toolbar=no, scrollbars=yes, width=540, height=700, top=500, left=500"); oauthWindow.opener = self; return false; {rdelim} diff --git a/templates/frontend/pages/orcidVerify.tpl b/templates/frontend/pages/orcidVerify.tpl index a3e8d951207..46c90438de6 100644 --- a/templates/frontend/pages/orcidVerify.tpl +++ b/templates/frontend/pages/orcidVerify.tpl @@ -36,9 +36,9 @@ {elseif $submissionNotPublished} {translate key="orcid.verify.sendSubmissionToOrcid.notpublished"} {/if} - +
{translate key="orcid.verify.success.redirect" contextName=$contextName} - +
{else}
{if $orcidAPIError} @@ -65,8 +65,14 @@ {if $verifySuccess} + {/if} diff --git a/templates/user/identityForm.tpl b/templates/user/identityForm.tpl index 5e838668f9e..66806679b66 100644 --- a/templates/user/identityForm.tpl +++ b/templates/user/identityForm.tpl @@ -52,7 +52,7 @@ {if $orcidEnabled} -
+
{* FIXME: The form element is still required for "connect ORCID" functionality to work. *} {fbvFormSection } {fbvElement type="text" label="user.orcid" name="orcid" id="orcid" value=$orcid maxlength="46"} @@ -60,7 +60,6 @@ {include file="form/orcidProfile.tpl"} {if $orcid && $orcidAuthenticated} {include file="linkAction/buttonConfirmationLinkAction.tpl" titleIcon="modal_delete" buttonSelector="#deleteOrcidButton" dialogText="orcid.field.deleteOrcidModal.message"} -{* {fbvElement type="button" label="common.delete" class="pkp_button pkp_button_offset"}*} {/if} {/fbvFormSection}