Skip to content

Commit 388a31b

Browse files
authored
fix settings form, compatible with #109 (#113)
2 parents 45815ac + 6c8dd3b commit 388a31b

2 files changed

Lines changed: 30 additions & 10 deletions

File tree

CodecheckPlugin.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use APP\template\TemplateManager;
66
use APP\plugins\generic\codecheck\classes\FrontEnd\ArticleDetails;
77
use APP\plugins\generic\codecheck\classes\Settings\Actions;
8+
use APP\plugins\generic\codecheck\classes\Settings\Manage;
89
use APP\plugins\generic\codecheck\classes\migration\CodecheckSchemaMigration;
910
use APP\plugins\generic\codecheck\classes\Submission\Schema;
1011
use APP\plugins\generic\codecheck\classes\Submission\SubmissionWizardHandler;
@@ -13,6 +14,7 @@
1314
use PKP\components\forms\FieldOptions;
1415
use APP\facades\Repo;
1516
use APP\plugins\generic\codecheck\api\v1\CodecheckApiHandler;
17+
use PKP\core\JSONMessage;
1618

1719
class CodecheckPlugin extends GenericPlugin
1820
{
@@ -247,6 +249,19 @@ public function getActions($request, $actionArgs): array
247249
return $actions->execute($request, $actionArgs, parent::getActions($request, $actionArgs));
248250
}
249251

252+
/**
253+
* Load a form when the `settings` button is clicked and
254+
* save the form when the user saves it.
255+
*
256+
* @param array $args
257+
* @param Request $request
258+
*/
259+
public function manage($args, $request): JSONMessage
260+
{
261+
$manage = new Manage($this);
262+
return $manage->execute($args, $request);
263+
}
264+
250265
public function setEnabled($enabled, $contextId = null)
251266
{
252267
$result = parent::setEnabled($enabled, $contextId);

templates/settings.tpl

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
*
77
* Settings form for the CODECHECK plugin.
88
*}
9+
910
<script>
1011
$(function() {ldelim}
1112
$('#codecheckSettings').pkpHandler('$.pkp.controllers.form.AjaxFormHandler');
@@ -16,29 +17,33 @@
1617
class="pkp_form"
1718
id="codecheckSettings"
1819
method="POST"
19-
action="{url router=$smarty.const.ROUTE_COMPONENT op="manage" category="generic" plugin=$pluginName verb="settings" save=true}"
20+
action="{url router=$smarty.const.ROUTE_COMPONENT op='manage' category='generic' plugin=$pluginName verb='settings' save=true}"
2021
>
2122
<!-- Always add the csrf token to secure your form -->
2223
{csrf}
23-
24-
<div class="pkp_form_description">
25-
<p>{translate key="plugins.generic.codecheck.settings.description"}</p>
26-
</div>
2724

2825
{fbvFormArea id="codecheckSettingsArea"}
29-
{fbvFormSection}
26+
{* CODECHECK Settings Heading *}
27+
<h3 class="section-title">{translate key="plugins.generic.codecheck.settings.title"}</h3>
28+
<p class="section-description">{translate key="plugins.generic.codecheck.settings.description"}</p>
29+
30+
{* Option to enable/ disable CODECHECK *}
31+
{fbvFormSection
32+
list=true
33+
}
34+
<div class="field-header">
35+
<label class="pkp_form_label">{translate key="plugins.generic.codecheck.settings.enableCodecheck"}</label>
36+
</div>
3037
{fbvElement
3138
type="checkbox"
3239
id="codecheckEnabled"
3340
checked=$codecheckEnabled
34-
label="plugins.generic.codecheck.settings.codecheckEnabled"
35-
description="plugins.generic.codecheck.settings.codecheckEnabled.description"
41+
label="plugins.generic.codecheck.settings.enableCodecheck.description"
3642
}
3743
{/fbvFormSection}
38-
44+
3945
{* TODO: Add more settings in future development *}
4046
{* - ORCID integration settings *}
41-
{* - Repository connection settings *}
4247
{* - Email template settings *}
4348

4449
{/fbvFormArea}

0 commit comments

Comments
 (0)