first commit

This commit is contained in:
CHIEFSOFT\ameye
2024-06-08 17:09:23 -04:00
commit df3a033196
17887 changed files with 8637778 additions and 0 deletions
@@ -0,0 +1,60 @@
{**
* templates/controllers/grid/users/reviewer/authorReadReview.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Screen to let an author read an open review.
*
*}
{* Form handler attachment implemented in application-specific versions of this template. *}
<form class="pkp_form" id="readReviewForm" method="post" action="">
{csrf}
{fbvFormSection}
<div id="reviewAssignment-{$reviewAssignment->getId()|escape}">
<h2>{$reviewAssignment->getReviewerFullName()|escape}</h2>
{if $reviewAssignment->getDateCompleted()}
{fbvFormSection}
<div class="pkp_controllers_informationCenter_itemLastEvent">
{translate key="common.completed.date" dateCompleted=$reviewAssignment->getDateCompleted()|date_format:$datetimeFormatShort}
</div>
{/fbvFormSection}
{if $reviewAssignment->getRecommendation()}
{fbvFormSection}
<div class="pkp_controllers_informationCenter_itemLastEvent">
{translate key="submission.recommendation" recommendation=$reviewAssignment->getLocalizedRecommendation()}
</div>
{/fbvFormSection}
{/if}
{if $reviewAssignment->getReviewFormId()}
{include file="reviewer/review/reviewFormResponse.tpl"}
{elseif $comments->getCount()}
<h3>{translate key="editor.review.reviewerComments"}</h3>
{iterate from=comments item=comment}
<h4>{translate key="submission.comments.canShareWithAuthor"}</h4>
{include file="controllers/revealMore.tpl" content=$comment->getComments()|strip_unsafe_html}
{/iterate}
{/if}
{/if}
</div>
{/fbvFormSection}
<div class="pkp_notification" id="noFilesWarning" style="display: none;">
{include file="controllers/notification/inPlaceNotificationContent.tpl" notificationId=noFilesWarningContent notificationStyleClass=notifyWarning notificationTitle="editor.review.noReviewFilesUploaded"|translate notificationContents="editor.review.noReviewFilesUploaded.details"|translate}
</div>
{fbvFormArea id="readReview"}
{fbvFormSection title="reviewer.submission.reviewerFiles"}
{capture assign="reviewAttachmentsGridUrl"}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="grid.files.attachment.AuthorOpenReviewAttachmentsGridHandler" op="fetchGrid" submissionId=$submission->getId() reviewId=$reviewAssignment->getId() stageId=$reviewAssignment->getStageId() reviewRoundId=$reviewAssignment->getReviewRoundId() escape=false}{/capture}
{load_url_in_div id="readReviewAttachmentsGridContainer" url=$reviewAttachmentsGridUrl}
{/fbvFormSection}
{/fbvFormArea}
</form>
@@ -0,0 +1,30 @@
{**
* templates/controllers/grid/user/reviewer/form/advancedSearchReviewerAssignmentForm.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Assigns the reviewer (selected from the reviewerSelect grid) to review the submission.
*
*}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler for second form.
$('#advancedSearchReviewerForm').pkpHandler('$.pkp.controllers.grid.users.reviewer.form.AddReviewerFormHandler',
{ldelim}
templateUrl: {url|json_encode router=\PKP\core\PKPApplication::ROUTE_COMPONENT component='grid.users.reviewer.ReviewerGridHandler' op='fetchTemplateBody' stageId=$stageId reviewRoundId=$reviewRoundId submissionId=$submissionId escape=false}
{rdelim}
);
{rdelim});
</script>
{* The form that will create the review assignment. A reviewer ID must be loaded in here via the grid above. *}
<form class="pkp_form" id="advancedSearchReviewerForm" method="post" action="{url op="updateReviewer"}" >
{csrf}
{fbvElement type="hidden" id="reviewerId"}
{include file="controllers/grid/users/reviewer/form/reviewerFormFooter.tpl"}
{fbvFormButtons submitText="editor.submission.addReviewer"}
</form>
@@ -0,0 +1,70 @@
{**
* templates/controllers/grid/user/reviewer/form/advancedSearchReviewerForm.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Advanced Search and assignment reviewer form.
*
*}
<script type="text/javascript">
$(function() {ldelim}
// Handle moving the reviewer ID from the grid to the second form
$('#advancedReviewerSearch').pkpHandler(
'$.pkp.controllers.grid.users.reviewer.AdvancedReviewerSearchHandler',
{ldelim}
lastRoundReviewerIds: {$lastRoundReviewerIds|json_encode},
reviewerMessages: {$reviewerMessages|json_encode}
{rdelim}
);
{rdelim});
</script>
<div id="advancedReviewerSearch" class="pkp_form pkp_form_advancedReviewerSearch">
<div id="searchGridAndButton">
{assign var="uuid" value=""|uniqid|escape}
<div id="select-reviewer-{$uuid}">
<select-reviewer-list-panel
v-bind="components.selectReviewer"
@set="set"
/>
</div>
<script type="text/javascript">
pkp.registry.init('select-reviewer-{$uuid}', 'Container', {$selectReviewerListData|@json_encode});
</script>
{** This button will get the reviewer selected in the grid and insert their ID into the form below **}
{fbvFormSection class="form_buttons"}
{foreach from=$reviewerActions item=action}
{if $action->getId() == 'advancedSearch'}
{continue}
{/if}
{include file="linkAction/linkAction.tpl" action=$action contextId="createReviewerForm"}
{/foreach}
{/fbvFormSection}
</div>
<div id="regularReviewerForm" class="pkp_reviewer_form">
{** Display the name of the selected reviewer **}
<div class="selected_reviewer">
<div class="label">
{translate key="editor.submission.selectedReviewer"}
</div>
<div class="value">
<span id="selectedReviewerName" class="name"></span>
<span class="actions">
{foreach from=$reviewerActions item=action}
{if $action->getId() == 'advancedSearch'}
{include file="linkAction/linkAction.tpl" action=$action contextId="createReviewerForm"}
{/if}
{/foreach}
</span>
</div>
</div>
{include file="controllers/grid/users/reviewer/form/advancedSearchReviewerAssignmentForm.tpl"}
</div>
</div>
@@ -0,0 +1,76 @@
{**
* templates/controllers/grid/users/reviewer/createReviewerForm.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Create a reviewer and assign to a submission form.
*
*}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler.
$('#createReviewerForm').pkpHandler('$.pkp.controllers.grid.users.reviewer.form.AddReviewerFormHandler',
{ldelim}
fetchUsernameSuggestionUrl: {url|json_encode router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="api.user.UserApiHandler" op="suggestUsername" givenName="GIVEN_NAME_PLACEHOLDER" familyName="FAMILY_NAME_PLACEHOLDER" escape=false},
usernameSuggestionTextAlert: {translate|json_encode key="grid.user.mustProvideName"},
templateUrl: {url|json_encode router=\PKP\core\PKPApplication::ROUTE_COMPONENT component='grid.users.reviewer.ReviewerGridHandler' op='fetchTemplateBody' stageId=$stageId reviewRoundId=$reviewRoundId submissionId=$submissionId escape=false}
{rdelim}
);
{rdelim});
</script>
<form class="pkp_form" id="createReviewerForm" method="post" action="{url op="createReviewer"}" >
<input type="hidden" name="sitePrimaryLocale" value="{$sitePrimaryLocale|escape}">
{csrf}
{include file="controllers/notification/inPlaceNotification.tpl" notificationId="createReviewerFormNotification"}
<div class="action_links">
{foreach from=$reviewerActions item=action}
{include file="linkAction/linkAction.tpl" action=$action contextId="createReviewerForm"}
{/foreach}
</div>
<h3>{translate key="editor.review.createReviewer"}</h3>
{if count($userGroups)>1}
{fbvFormSection title="user.group" required="true"}
{fbvElement type="select" name="userGroupId" id="userGroupId" from=$userGroups translate=false label="editor.review.userGroupSelect" required="true"}
{/fbvFormSection}
{elseif count($userGroups)==1}
{foreach from=$userGroups key=userGroupId item=userGroupName}
{fbvElement type="hidden" id="userGroupId" value=$userGroupId}
{/foreach}
{/if}
{fbvFormSection title="common.name"}
{fbvElement type="text" label="user.givenName" multilingual="true" name="givenName" id="givenName" value=$givenName maxlength="255" inline=true size=$fbvStyles.size.MEDIUM required="true"}
{fbvElement type="text" label="user.familyName" multilingual="true" name="familyName" id="familyName" value=$familyName maxlength="255" inline=true size=$fbvStyles.size.MEDIUM}
{/fbvFormSection}
{fbvFormSection title="user.username" required="true"}
{fbvElement type="text" label="user.register.usernameRestriction" id="username" required="true" value=$username size=$fbvStyles.size.MEDIUM inline=true}
{fbvElement type="button" label="common.suggest" id="suggestUsernameButton" inline=true class="default"}
{/fbvFormSection}
{fbvFormSection title="user.email" required="true"}
{fbvElement type="email" id="email" required="true" value=$email maxlength="90" size=$fbvStyles.size.MEDIUM}
{/fbvFormSection}
{fbvFormSection title="manager.reviewerSearch.interests" for="interests"}
{fbvElement type="interests" id="interests" interests=$interests}
{/fbvFormSection}
{fbvFormSection title="user.affiliation"}
{fbvElement type="text" multilingual="true" name="affiliation" id="affiliation" value=$affiliation size=$fbvStyles.size.LARGE}
{/fbvFormSection}
{include file="controllers/grid/users/reviewer/form/reviewerFormFooter.tpl"}
<p><span class="formRequired">{translate key="common.requiredField"}</span></p>
{fbvFormButtons submitText="editor.submission.addReviewer"}
</form>
@@ -0,0 +1,29 @@
{**
* templates/controllers/grid/user/reviewer/form/defaultReviewerForm.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* A default reviewer selection form.
*
*}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler.
$('#defaultReviewerForm').pkpHandler('$.pkp.controllers.grid.users.reviewer.form.AddReviewerFormHandler',
{ldelim}
templateUrl: {url|json_encode router=\PKP\core\PKPApplication::ROUTE_COMPONENT component='grid.users.reviewer.ReviewerGridHandler' op='fetchTemplateBody' stageId=$stageId reviewRoundId=$reviewRoundId submissionId=$submissionId escape=false}
{rdelim}
);
{rdelim});
</script>
<form class="pkp_form" id="defaultReviewerForm" method="post" action="{url op="updateReviewer"}" >
{csrf}
{include file="controllers/grid/users/reviewer/form/reviewerFormFooter.tpl"}
{fbvFormButtons submitText="editor.submission.addReviewer"}
</form>
@@ -0,0 +1,58 @@
{**
* templates/controllers/grid/user/reviewer/form/editReviewForm.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Limit the review files available to a reviewer who has already been
* assigned to a submission.
*
*}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler.
$('#editReviewForm').pkpHandler('$.pkp.controllers.grid.users.reviewer.form.EditReviewFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="editReviewForm" method="post" action="{url op="updateReview"}">
{csrf}
<input type="hidden" name="reviewAssignmentId" value="{$reviewAssignmentId|escape}" />
<input type="hidden" name="stageId" value="{$stageId|escape}" />
<input type="hidden" name="submissionId" value="{$submissionId|escape}" />
<input type="hidden" name="reviewRoundId" value="{$reviewRoundId|escape}" />
{fbvFormSection title="editor.review.importantDates"}
{fbvElement type="text" id="responseDueDate" name="responseDueDate" label="submission.task.responseDueDate" value=$responseDueDate inline=true size=$fbvStyles.size.MEDIUM class="datepicker"}
{fbvElement type="text" id="reviewDueDate" name="reviewDueDate" label="editor.review.reviewDueDate" value=$reviewDueDate inline=true size=$fbvStyles.size.MEDIUM class="datepicker"}
{/fbvFormSection}
{fbvFormSection list=true title="editor.submissionReview.reviewType"}
{foreach from=$reviewMethods key=methodId item=methodTranslationKey}
{assign var=elementId value="reviewMethod"|concat:"-"|concat:$methodId}
{if $reviewMethod == $methodId}
{assign var=elementChecked value=true}
{else}
{assign var=elementChecked value=false}
{/if}
{fbvElement type="radio" name="reviewMethod" id=$elementId value=$methodId checked=$elementChecked label=$methodTranslationKey}
{/foreach}
{/fbvFormSection}
{include file="controllers/grid/users/reviewer/form/noFilesWarning.tpl"}
<h3>{translate key="editor.submissionReview.restrictFiles"}</h3>
{capture assign=limitReviewFilesGridUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="grid.files.review.LimitReviewFilesGridHandler" op="fetchGrid" submissionId=$submissionId stageId=$stageId reviewRoundId=$reviewRoundId reviewAssignmentId=$reviewAssignmentId escape=false}{/capture}
{load_url_in_div id="limitReviewFilesGrid" url=$limitReviewFilesGridUrl}
{if $reviewForms}
{if count($reviewForms)>0}
{fbvFormSection title="submission.reviewForm"}
{fbvElement type="select" name="reviewFormId" id="reviewFormId" defaultLabel="manager.reviewForms.noneChosen"|translate defaultValue="0" translate=false from=$reviewForms selected=$reviewFormId}
{/fbvFormSection}
{/if}
{/if}
{fbvFormButtons}
</form>
@@ -0,0 +1,34 @@
{**
* templates/controllers/grid/users/reviewer/form/emailReviewerForm.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Display form to send user an email.
*}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler.
$('#emailReviewerForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="emailReviewerForm" method="post" action="{url op="sendEmail" params=$requestArgs}" >
{csrf}
<input type="hidden" name="reviewAssignmentId" value="{$reviewAssignmentId|escape}" />
{fbvFormSection title="email.to" size=$fbvStyles.size.MEDIUM}
{fbvElement type="text" id="user" value=$userFullName disabled="true"}
{/fbvFormSection}
{fbvFormSection title="email.subject" for="subject" required="true"}
{fbvElement type="text" id="subject" value=$subject required="true"}
{/fbvFormSection}
{fbvFormSection title="email.body" for="message" required="true"}
{fbvElement type="textarea" id="message" value=$message rich=true required="true"}
{/fbvFormSection}
<p><span class="formRequired">{translate key="common.requiredField"}</span></p>
{fbvFormButtons submitText="common.sendEmail"}
</form>
@@ -0,0 +1,48 @@
{**
* templates/controllers/grid/user/reviewer/form/enrollExistingReviewerForm.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Enroll existing user and assignment reviewer form.
*
*}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler.
$('#enrollExistingReviewerForm').pkpHandler('$.pkp.controllers.grid.users.reviewer.form.AddReviewerFormHandler',
{ldelim}
templateUrl: {url|json_encode router=\PKP\core\PKPApplication::ROUTE_COMPONENT component='grid.users.reviewer.ReviewerGridHandler' op='fetchTemplateBody' stageId=$stageId reviewRoundId=$reviewRoundId submissionId=$submissionId escape=false}
{rdelim}
);
{rdelim});
</script>
<form class="pkp_form" id="enrollExistingReviewerForm" method="post" action="{url op="enrollReviewer"}" >
{csrf}
{include file="controllers/notification/inPlaceNotification.tpl" notificationId="enrollExistingReviewerFormNotification"}
<div class="action_links">
{foreach from=$reviewerActions item=action}
{include file="linkAction/linkAction.tpl" action=$action contextId="enrollExistingReviewerForm"}
{/foreach}
</div>
<h3>{translate key="editor.review.enrollReviewer"}</h3>
{fbvFormSection}
{fbvElement type="select" name="userGroupId" id="userGroupId" from=$userGroups translate=false label="editor.review.userGroupSelect" required="true"}
{/fbvFormSection}
{fbvFormSection}
{capture assign=autocompleteUrl}{url op="getUsersNotAssignedAsReviewers" submissionId=$submissionId stageId=$stageId reviewRoundId=$reviewRoundId escape=false}{/capture}
{fbvElement type="autocomplete" disableSync="true" required="true" autocompleteUrl=$autocompleteUrl id="userId" label="manager.reviewerSearch.searchByName.short"}
{/fbvFormSection}
{include file="controllers/grid/users/reviewer/form/reviewerFormFooter.tpl"}
<p><span class="formRequired">{translate key="common.requiredField"}</span></p>
{fbvFormButtons submitText="editor.submission.addReviewer"}
</form>
@@ -0,0 +1,13 @@
{**
* templates/controllers/grid/user/reviewer/form/noFilesWarning.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Warning indicating that no files were selected.
*
*}
<div class="pkp_notification" id="noFilesWarning" style="display: none;">
{include file="controllers/notification/inPlaceNotificationContent.tpl" notificationId=noFilesWarningContent notificationStyleClass=notifyWarning notificationTitle="editor.submission.noReviewerFilesSelected"|translate notificationContents="editor.submission.noReviewerFilesSelected.details"|translate}
</div>
@@ -0,0 +1,39 @@
{**
* templates/controllers/grid/user/reviewer/form/reinstateReviewerForm.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Enroll existing user and assignment reviewer form.
*
*}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler.
$('#reinstateReviewerForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="reinstateReviewerForm" method="post" action="{url op="updateReinstateReviewer"}" >
{csrf}
<input type="hidden" name="reviewAssignmentId" value="{$reviewAssignmentId|escape}" />
<input type="hidden" name="reviewRoundId" value="{$reviewRoundId|escape}" />
<input type="hidden" name="reviewerId" value="{$reviewerId|escape}" />
<input type="hidden" name="stageId" value="{$stageId|escape}" />
<input type="hidden" name="submissionId" value="{$submissionId|escape}" />
<!-- Message to reviewer textarea -->
{fbvFormSection title="editor.review.personalMessageToReviewer" for="personalMessage"}
{fbvElement type="textarea" name="personalMessage" id="personalMessage" value=$personalMessage rich=true}
{/fbvFormSection}
<!-- Skip email checkbox -->
{fbvFormSection for="skipEmail" size=$fbvStyles.size.MEDIUM list=true}
{fbvElement type="checkbox" id="skipEmail" name="skipEmail" label="editor.review.skipEmail"}
{/fbvFormSection}
{fbvFormButtons submitText="editor.review.reinstateReviewer"}
</form>
@@ -0,0 +1,39 @@
{**
* templates/controllers/grid/user/reviewer/form/resendRequestReviewerForm.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Enroll existing user and assignment reviewer form.
*
*}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler.
$('#resendRequestReviewerForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="resendRequestReviewerForm" method="post" action="{url op="updateResendRequestReviewer"}" >
{csrf}
<input type="hidden" name="reviewAssignmentId" value="{$reviewAssignmentId|escape}" />
<input type="hidden" name="reviewRoundId" value="{$reviewRoundId|escape}" />
<input type="hidden" name="reviewerId" value="{$reviewerId|escape}" />
<input type="hidden" name="stageId" value="{$stageId|escape}" />
<input type="hidden" name="submissionId" value="{$submissionId|escape}" />
<!-- Message to reviewer textarea -->
{fbvFormSection title="editor.review.personalMessageToReviewer" for="personalMessage"}
{fbvElement type="textarea" name="personalMessage" id="personalMessage" value=$personalMessage rich=true}
{/fbvFormSection}
<!-- Skip email checkbox -->
{fbvFormSection for="skipEmail" size=$fbvStyles.size.MEDIUM list=true}
{fbvElement type="checkbox" id="skipEmail" name="skipEmail" label="editor.review.skipEmail"}
{/fbvFormSection}
{fbvFormButtons submitText="editor.review.resendRequestReviewer"}
</form>
@@ -0,0 +1,43 @@
{**
* templates/controllers/grid/users/reviewer/reviewReminderForm.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Display the form to send a review reminder--Contains a user-editable message field (all other fields are static)
*
*}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler.
$('#sendReminderForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="sendReminderForm" method="post" action="{url op="sendReminder"}" >
{csrf}
{fbvFormArea id="sendReminder"}
<input type="hidden" name="submissionId" value="{$submissionId|escape}" />
<input type="hidden" name="stageId" value="{$stageId|escape}" />
<input type="hidden" name="reviewAssignmentId" value="{$reviewAssignmentId|escape}" />
{fbvFormSection title="user.role.reviewer"}
{fbvElement type="text" id="reviewerName" value=$reviewerName disabled="true"}
{/fbvFormSection}
{fbvFormSection title="editor.review.personalMessageToReviewer" for="message"}
{fbvElement type="textarea" id="message" value=$message variables=$emailVariables rich=true}
{/fbvFormSection}
{fbvFormSection title="reviewer.submission.reviewSchedule"}
{fbvElement type="text" id="dateNotified" label="reviewer.submission.reviewRequestDate" value=$reviewAssignment->getDateNotified()|date_format:$dateFormatShort readonly=true inline=true size=$fbvStyles.size.SMALL}
{if $reviewAssignment->getDateConfirmed()}
{fbvElement type="text" id="dateConfirmed" label="editor.review.dateAccepted" value=$reviewAssignment->getDateConfirmed()|date_format:$dateFormatShort readonly=true inline=true size=$fbvStyles.size.SMALL}
{else}
{fbvElement type="text" id="responseDue" label="reviewer.submission.responseDueDate" value=$reviewAssignment->getDateResponseDue()|date_format:$dateFormatShort readonly=true inline=true size=$fbvStyles.size.SMALL}
{/if}
{fbvElement type="text" id="reviewDueDate" label="reviewer.submission.reviewDueDate" value=$reviewDueDate readonly=true inline=true size=$fbvStyles.size.SMALL}
{/fbvFormSection}
{fbvFormButtons submitText="editor.review.sendReminder"}
{/fbvFormArea}
</form>
@@ -0,0 +1,77 @@
{**
* templates/controllers/grid/user/reviewer/form/reviewerFormFooter.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* The non-searching part of the add reviewer form
*
*}
<div id="reviewerFormFooter" class="reviewerFormFooterContainer">
<!-- message template choice -->
{if $hasCustomTemplates}
{fbvFormSection title="stageParticipants.notify.chooseMessage" for="template" size=$fbvStyles.size.medium}
{fbvElement type="select" from=$templates translate=false id="template"}
{/fbvFormSection}
{else}
<!-- REVIEW_REQUEST or REVIEW_REQUEST_SUBSEQUENT -->
<input type="hidden" name="template" value="{$templates|array_key_first}"/>
{/if}
<!-- Message to reviewer textarea -->
{fbvFormSection title="editor.review.personalMessageToReviewer" for="personalMessage"}
{fbvElement type="textarea" name="personalMessage" id="personalMessage" value=$personalMessage variables=$emailVariables rich=true rows=25}
{/fbvFormSection}
<!-- skip email checkbox -->
{fbvFormSection for="skipEmail" size=$fbvStyles.size.MEDIUM list=true}
{fbvElement type="checkbox" id="skipEmail" name="skipEmail" label="editor.review.skipEmail"}
{/fbvFormSection}
{fbvFormSection title="editor.review.importantDates"}
{fbvElement type="text" id="responseDueDate" name="responseDueDate" label="submission.task.responseDueDate" value=$responseDueDate inline=true size=$fbvStyles.size.MEDIUM class="datepicker"}
{fbvElement type="text" id="reviewDueDate" name="reviewDueDate" label="editor.review.reviewDueDate" value=$reviewDueDate inline=true size=$fbvStyles.size.MEDIUM class="datepicker"}
{/fbvFormSection}
{include file="controllers/grid/users/reviewer/form/noFilesWarning.tpl"}
{capture assign="extraContent"}
<!-- Available review files -->
{capture assign=limitReviewFilesGridUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="grid.files.review.LimitReviewFilesGridHandler" op="fetchGrid" submissionId=$submissionId stageId=$stageId reviewRoundId=$reviewRoundId escape=false}{/capture}
{load_url_in_div id="limitReviewFilesGrid" url=$limitReviewFilesGridUrl}
{/capture}
<div id="filesAccordian" class="section">
{include file="controllers/extrasOnDemand.tpl"
id="filesAccordianController"
widgetWrapper="#filesAccordian"
moreDetailsText="editor.submissionReview.restrictFiles"
lessDetailsText="editor.submissionReview.restrictFiles.hide"
extraContent=$extraContent
}
</div>
{fbvFormSection list=true title="editor.submissionReview.reviewType"}
{foreach from=$reviewMethods key=methodId item=methodTranslationKey}
{assign var=elementId value="reviewMethod"|concat:"-"|concat:$methodId}
{if $reviewMethod == $methodId}
{assign var=elementChecked value=true}
{else}
{assign var=elementChecked value=false}
{/if}
{fbvElement type="radio" name="reviewMethod" id=$elementId value=$methodId checked=$elementChecked label=$methodTranslationKey}
{/foreach}
{/fbvFormSection}
{if count($reviewForms)>0}
{fbvFormSection title="submission.reviewForm"}
{fbvElement type="select" name="reviewFormId" id="reviewFormId" defaultLabel="manager.reviewForms.noneChosen"|translate defaultValue="0" translate=false from=$reviewForms selected=$reviewFormId}
{/fbvFormSection}
{/if}
<!-- All of the hidden inputs -->
<input type="hidden" name="selectionType" value="{$selectionType|escape}" />
<input type="hidden" name="submissionId" value="{$submissionId|escape}" />
<input type="hidden" name="stageId" value="{$stageId|escape}" />
<input type="hidden" name="reviewRoundId" value="{$reviewRoundId|escape}" />
</div>
@@ -0,0 +1,24 @@
{**
* templates/controllers/grid/users/reviewer/form/reviewerGossipForm.tpl
*
* Copyright (c) 2013-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Display form to gossip about a user.
*}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler.
$('#reviewerGossipForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="reviewerGossipForm" method="post" action="{url op="gossip" params=$requestArgs}" >
{csrf}
{fbvFormSection}
{fbvElement type="textarea" name="gossip" id="gossip" label="user.gossip.description" rich=true value=$gossip}
{/fbvFormSection}
{fbvFormButtons}
</form>
@@ -0,0 +1,40 @@
{**
* templates/controllers/grid/users/reviewer/thankReviewerForm.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Display the form to send a thank you -- Contains a user-editable message field.
*
*}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler.
$('#sendThankYouForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="sendThankYouForm" method="post" action="{url op="thankReviewer"}" >
{csrf}
{fbvFormArea id="sendReminder"}
<input type="hidden" name="submissionId" value="{$submissionId|escape}" />
<input type="hidden" name="stageId" value="{$stageId|escape}" />
<input type="hidden" name="reviewAssignmentId" value="{$reviewAssignmentId|escape}" />
{fbvFormSection title="user.role.reviewer"}
{fbvElement type="text" id="reviewerName" value=$reviewerName disabled="true"}
{/fbvFormSection}
{fbvFormSection title="editor.review.personalMessageToReviewer" for="message"}
{fbvElement type="textarea" id="message" value=$message rich=true}
{/fbvFormSection}
<!-- skip email checkbox -->
{fbvFormSection for="skipEmail" size=$fbvStyles.size.MEDIUM list=true}
{fbvElement type="checkbox" id="skipEmail" name="skipEmail" label="editor.review.skipEmail"}
{/fbvFormSection}
{fbvFormButtons submitText="editor.review.thankReviewer"}
{/fbvFormArea}
</form>
@@ -0,0 +1,42 @@
{**
* templates/controllers/grid/user/reviewer/form/unassignReviewerForm.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Enroll existing user and assignment reviewer form.
*
*}
<script type="text/javascript">
$(function() {ldelim}
// Attach the form handler.
$('#unassignReviewerForm').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
{rdelim});
</script>
<form class="pkp_form" id="unassignReviewerForm" method="post" action="{url op="updateUnassignReviewer"}" >
{csrf}
<input type="hidden" name="reviewAssignmentId" value="{$reviewAssignmentId|escape}" />
<input type="hidden" name="reviewRoundId" value="{$reviewRoundId|escape}" />
<input type="hidden" name="reviewerId" value="{$reviewerId|escape}" />
<input type="hidden" name="stageId" value="{$stageId|escape}" />
<input type="hidden" name="submissionId" value="{$submissionId|escape}" />
<!-- Message to reviewer textarea -->
{fbvFormSection title="editor.review.personalMessageToReviewer" for="personalMessage"}
{fbvElement type="textarea" name="personalMessage" id="personalMessage" value=$personalMessage rich=true}
{/fbvFormSection}
<!-- Skip email checkbox -->
{fbvFormSection for="skipEmail" size=$fbvStyles.size.MEDIUM list=true}
{fbvElement type="checkbox" id="skipEmail" name="skipEmail" label="editor.review.skipEmail"}
{/fbvFormSection}
{if $dateConfirmed}
{fbvFormButtons submitText="editor.review.cancelReviewer"}
{else}
{fbvFormButtons submitText="editor.review.unassignReviewer"}
{/if}
</form>
@@ -0,0 +1,104 @@
{**
* templates/controllers/grid/users/reviewer/readReview.tpl
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Screen to let user read a review.
*
*}
{* Form handler attachment implemented in application-specific versions of this template. *}
<form class="pkp_form" id="readReviewForm" method="post" action="{url op="reviewRead"}">
{csrf}
<input type="hidden" name="reviewAssignmentId" value="{$reviewAssignment->getId()|escape}" />
<input type="hidden" name="submissionId" value="{$reviewAssignment->getSubmissionId()|escape}" />
<input type="hidden" name="stageId" value="{$reviewAssignment->getStageId()|escape}" />
{fbvFormSection}
<div id="reviewAssignment-{$reviewAssignment->getId()|escape}">
<h2>{$reviewAssignment->getReviewerFullName()|escape}</h2>
{fbvFormSection class="description"}
{translate key="editor.review.readConfirmation"}
{/fbvFormSection}
{if $reviewAssignment->getDateCompleted()}
{if $reviewAssignment->getCompetingInterests()}
<h3>{translate key="reviewer.submission.competingInterests"}</h3>
<div class="review_competing_interests">
{$reviewAssignment->getCompetingInterests()|nl2br|strip_unsafe_html}
</div>
{/if}
{fbvFormSection}
<div class="pkp_controllers_informationCenter_itemLastEvent">
{translate key="common.completed.date" dateCompleted=$reviewAssignment->getDateCompleted()|date_format:$datetimeFormatShort}
</div>
{/fbvFormSection}
{if $reviewAssignment->getRecommendation()}
{fbvFormSection}
<div class="pkp_controllers_informationCenter_itemLastEvent">
{translate key="submission.recommendation" recommendation=$reviewAssignment->getLocalizedRecommendation()}
</div>
{/fbvFormSection}
{/if}
{if $reviewAssignment->getReviewFormId()}
{include file="reviewer/review/reviewFormResponse.tpl"}
{elseif $comments->getCount() || $commentsPrivate->getCount()}
<h3>{translate key="editor.review.reviewerComments"}</h3>
{iterate from=comments item=comment}
<h4>{translate key="submission.comments.canShareWithAuthor"}</h4>
{include file="controllers/revealMore.tpl" content=$comment->getComments()|strip_unsafe_html}
{/iterate}
{iterate from=commentsPrivate item=comment}
<h4>{translate key="submission.comments.cannotShareWithAuthor"}</h4>
{include file="controllers/revealMore.tpl" content=$comment->getComments()|strip_unsafe_html}
{/iterate}
{/if}
{else}
{if $reviewAssignment->getDateCompleted()}
<span class="pkp_controllers_informationCenter_itemLastEvent">{translate key="common.completed.date" dateCompleted=$reviewAssignment->getDateCompleted()|date_format:$datetimeFormatShort}</span>
{elseif $reviewAssignment->getDateConfirmed()}
<span class="pkp_controllers_informationCenter_itemLastEvent">{translate key="common.confirmed.date" dateConfirmed=$reviewAssignment->getDateConfirmed()|date_format:$datetimeFormatShort}</span>
{elseif $reviewAssignment->getDateReminded()}
<span class="pkp_controllers_informationCenter_itemLastEvent">{translate key="common.reminded.date" dateReminded=$reviewAssignment->getDateReminded()|date_format:$datetimeFormatShort}</span>
{elseif $reviewAssignment->getDateNotified()}
<span class="pkp_controllers_informationCenter_itemLastEvent">{translate key="common.notified.date" dateNotified=$reviewAssignment->getDateNotified()|date_format:$datetimeFormatShort}</span>
{elseif $reviewAssignment->getDateAssigned()}
<span class="pkp_controllers_informationCenter_itemLastEvent">{translate key="common.assigned.date" dateAssigned=$reviewAssignment->getDateAssigned()|date_format:$datetimeFormatShort}</span>
{/if}
{/if}
</div>
{/fbvFormSection}
<div class="pkp_notification" id="noFilesWarning" style="display: none;">
{include file="controllers/notification/inPlaceNotificationContent.tpl" notificationId=noFilesWarningContent notificationStyleClass=notifyWarning notificationTitle="editor.review.noReviewFilesUploaded"|translate notificationContents="editor.review.noReviewFilesUploaded.details"|translate}
</div>
{fbvFormArea id="readReview"}
{fbvFormSection title="reviewer.submission.reviewerFiles"}
{capture assign=reviewAttachmentsGridUrl}{url router=\PKP\core\PKPApplication::ROUTE_COMPONENT component="grid.files.attachment.EditorReviewAttachmentsGridHandler" op="fetchGrid" submissionId=$submission->getId() reviewId=$reviewAssignment->getId() stageId=$reviewAssignment->getStageId() escape=false}{/capture}
{load_url_in_div id="readReviewAttachmentsGridContainer" url=$reviewAttachmentsGridUrl}
{/fbvFormSection}
{$reviewerRecommendations}
{fbvFormSection label="editor.review.rateReviewer" description="editor.review.rateReviewer.description"}
{foreach from=$reviewerRatingOptions item="stars" key="value"}
<label class="pkp_star_selection">
<input type="radio" name="quality" value="{$value|escape}"{if $value == $reviewAssignment->getQuality()} checked{/if}>
{$stars}
</label>
{/foreach}
{/fbvFormSection}
{fbvFormButtons id="closeButton" hideCancel=false submitText="common.confirm"}
{/fbvFormArea}
</form>