Skip to content

Commit d5b2f40

Browse files
committed
Merge branch 'interface_refact_3_4_0-1070' into 'main'
Refact interface to improve usablility (3.4.0) See merge request softwares-pkp/plugins_ojs/deleteIncompleteSubmissions!5
2 parents d50cfd9 + f2d56fc commit d5b2f40

11 files changed

Lines changed: 120 additions & 26 deletions

File tree

locale/de/locale.po

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ msgid "plugins.generic.deleteIncompleteSubmissions.displayName"
1818
msgstr "Unvollständigen Beitrag löschen"
1919

2020
msgid "plugins.generic.deleteIncompleteSubmissions.description"
21-
msgstr "Ermöglicht es Redakteur*innen, unvollständige Beiträge aus der Zeitschrift zu löschen."
21+
msgstr "Ermöglicht es Redakteur*innen, unvollständige Beiträge aus der Zeitschrift zu löschen."
2222

2323
msgid "plugins.generic.deleteIncompleteSubmissions.incompleteSubmissionsTab"
2424
msgstr "Unvollständige Beiträge"
@@ -40,3 +40,12 @@ msgstr "Frist für die Löschung in Tagen"
4040

4141
msgid "plugins.generic.deleteIncompleteSubmissions.deletion"
4242
msgstr "Beiträge löschen..."
43+
44+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelPrefix"
45+
msgstr "Alle unvollständigen Beiträge ohne Aktivität seit mehr als"
46+
47+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelSuffix"
48+
msgstr "Tagen."
49+
50+
msgid "plugins.generic.deleteIncompleteSubmissions.validation.integer"
51+
msgstr "Der Wert für die Löschfrist muss eine positive ganze Zahl sein."

locale/en/locale.po

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ msgid "plugins.generic.deleteIncompleteSubmissions.displayName"
1818
msgstr "Delete incomplete submissions"
1919

2020
msgid "plugins.generic.deleteIncompleteSubmissions.description"
21-
msgstr "Allows editors to delete incomplete submissions from the journal."
21+
msgstr "Allows editors to delete incomplete submissions from the journal."
2222

2323
msgid "plugins.generic.deleteIncompleteSubmissions.incompleteSubmissionsTab"
2424
msgstr "Incomplete submissions"
@@ -40,3 +40,12 @@ msgstr "Deletion threshold in days"
4040

4141
msgid "plugins.generic.deleteIncompleteSubmissions.deletion"
4242
msgstr "Delete submissions..."
43+
44+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelPrefix"
45+
msgstr "Remove all incomplete submissions with no activity for more than"
46+
47+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelSuffix"
48+
msgstr "days."
49+
50+
msgid "plugins.generic.deleteIncompleteSubmissions.validation.integer"
51+
msgstr "The deletion threshold value must be a positive integer."

locale/es/locale.po

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,13 @@ msgid "plugins.generic.deleteIncompleteSubmissions.deletion.threshold"
3939
msgstr "Límite de exclusión en días"
4040

4141
msgid "plugins.generic.deleteIncompleteSubmissions.deletion"
42-
msgstr "Eliminar envíos..."
42+
msgstr "Eliminar envíos..."
43+
44+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelPrefix"
45+
msgstr "Eliminar todos los envíos incompletos sin actividad durante más de"
46+
47+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelSuffix"
48+
msgstr "días."
49+
50+
msgid "plugins.generic.deleteIncompleteSubmissions.validation.integer"
51+
msgstr "El valor del límite de exclusión debe ser un número entero positivo."

locale/fr_FR/locale.po

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ msgstr ""
1414
"X-Generator: Weblate 3.9.1\n"
1515

1616
msgid "plugins.generic.deleteIncompleteSubmissions.displayName"
17-
msgstr "Supprimer les soumissions incomplètes"
17+
msgstr "Supprimer les soumissions incomplètes"
1818

1919
msgid "plugins.generic.deleteIncompleteSubmissions.description"
2020
msgstr "Permet aux éditeurs de supprimer les soumissions incomplètes de la revue."
@@ -38,3 +38,12 @@ msgstr "Seuil de suppression en jours"
3838

3939
msgid "plugins.generic.deleteIncompleteSubmissions.deletion"
4040
msgstr "Supprimer les soumissions..."
41+
42+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelPrefix"
43+
msgstr "Supprimer toutes les soumissions incomplètes sans activité depuis plus de"
44+
45+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelSuffix"
46+
msgstr "jours."
47+
48+
msgid "plugins.generic.deleteIncompleteSubmissions.validation.integer"
49+
msgstr "La valeur du seuil de suppression doit être un entier positif."

locale/it/locale.po

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,12 @@ msgstr "Soglia di cancellazione in giorni"
3939

4040
msgid "plugins.generic.deleteIncompleteSubmissions.deletion"
4141
msgstr "Cancellare gli Proposte..."
42+
43+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelPrefix"
44+
msgstr "Elimina tutte le proposte incomplete senza attività da più di"
45+
46+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelSuffix"
47+
msgstr "giorni."
48+
49+
msgid "plugins.generic.deleteIncompleteSubmissions.validation.integer"
50+
msgstr "Il valore della soglia di eliminazione deve essere un numero intero positivo."

locale/pt_BR/locale.po

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,13 @@ msgid "plugins.generic.deleteIncompleteSubmissions.deletion.threshold"
3939
msgstr "Limite de exclusão em dias"
4040

4141
msgid "plugins.generic.deleteIncompleteSubmissions.deletion"
42-
msgstr "Remover submissões..."
42+
msgstr "Remover submissões..."
43+
44+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelPrefix"
45+
msgstr "Remover todas as submissões incompletas sem atividade por mais de"
46+
47+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelSuffix"
48+
msgstr "dias."
49+
50+
msgid "plugins.generic.deleteIncompleteSubmissions.validation.integer"
51+
msgstr "O valor do limite de exclusão deve ser um número inteiro positivo."

locale/pt_PT/locale.po

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,12 @@ msgstr "Limite de exclusão em dias"
3939

4040
msgid "plugins.generic.deleteIncompleteSubmissions.deletion"
4141
msgstr "Remover submissões..."
42+
43+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelPrefix"
44+
msgstr "Remover todas as submissões incompletas sem atividade há mais de"
45+
46+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelSuffix"
47+
msgstr "dias."
48+
49+
msgid "plugins.generic.deleteIncompleteSubmissions.validation.integer"
50+
msgstr "O valor do limite de eliminação deve ser um número inteiro positivo."

locale/ro/locale.po

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,12 @@ msgstr "Termen de ștergere în zile"
4040
msgid "plugins.generic.deleteIncompleteSubmissions.deletion"
4141
msgstr "Ștergere înregistrări..."
4242

43+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelPrefix"
44+
msgstr "Șterge toate transmiterile incomplete fără activitate de mai mult de"
45+
46+
msgid "plugins.generic.deleteIncompleteSubmissions.deletionLabelSuffix"
47+
msgstr "zile."
48+
49+
msgid "plugins.generic.deleteIncompleteSubmissions.validation.integer"
50+
msgstr "Valoarea pragului de ștergere trebuie să fie un număr întreg pozitiv."
51+

settings/DeleteIncompleteSubmissionsSettingsForm.php

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
use PKP\form\Form;
77
use PKP\form\validation\FormValidatorCSRF;
88
use PKP\form\validation\FormValidatorPost;
9+
use PKP\form\validation\FormValidatorCustom;
910
use APP\core\Application;
1011
use APP\facades\Repo;
1112

@@ -26,6 +27,23 @@ public function __construct($plugin, $contextId)
2627

2728
$this->addCheck(new FormValidatorPost($this));
2829
$this->addCheck(new FormValidatorCSRF($this));
30+
$this->addCheck(new FormValidatorCustom(
31+
$this,
32+
'deletionThreshold',
33+
'required',
34+
'plugins.generic.deleteIncompleteSubmissions.validation.integer',
35+
function ($deletionThreshold) {
36+
if (is_int($deletionThreshold)) {
37+
return $deletionThreshold > 0;
38+
}
39+
40+
if (!is_string($deletionThreshold) || !preg_match('/^\d+$/', $deletionThreshold)) {
41+
return false;
42+
}
43+
44+
return (int) $deletionThreshold > 0;
45+
}
46+
));
2947
}
3048

3149
public function readInputData()
@@ -38,7 +56,6 @@ public function fetch($request, $template = null, $display = false)
3856
$templateMgr = TemplateManager::getManager($request);
3957
$templateMgr->assign('pluginName', $this->plugin->getName());
4058
$templateMgr->assign('applicationName', Application::get()->getName());
41-
$templateMgr->assign('thresholdValues', range(0, 60));
4259
$templateMgr->assign('defaultThreshold', 15);
4360

4461
return parent::fetch($request, $template, $display);

templates/settingsForm.tpl

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,35 @@
55
</script>
66

77
<div id="plnSettings">
8-
<div id="description">
9-
<p>{translate key="plugins.generic.deleteIncompleteSubmissions.deletion.description"}</p>
10-
<p>{translate key="plugins.generic.deleteIncompleteSubmissions.deletion.warning.title"}</p>
11-
<ul>
12-
<li>{translate key="plugins.generic.deleteIncompleteSubmissions.deletion.warning.item.one"}</li>
13-
<li>{translate key="plugins.generic.deleteIncompleteSubmissions.deletion.warning.item.two"}</li>
14-
</ul>
15-
</div>
16-
<br>
178
<form class="pkp_form" id="deleteIncompleteSubmissionsSettingsForm" method="post"
18-
action="{url router=$smarty.const.ROUTE_COMPONENT op="manage" category="generic" plugin=$pluginName verb="deletion" save=true}">
9+
action="{url router=$smarty.const.ROUTE_COMPONENT op="manage" category="generic" plugin=$pluginName verb="deletion" save=true}"
10+
>
1911
{csrf}
20-
{include file="controllers/notification/inPlaceNotification.tpl" notificationId="deleteIncompleteSubmissionsSettingsFormNotification"}
21-
22-
{fbvFormArea id="deleteIncompleteSubmissionsSettingsFormArea"}
2312

24-
{fbvFormSection list="true"}
25-
{fbvElement type="select" name="deletionThreshold" id="deletionThreshold" from=$thresholdValues selected=$defaultThreshold label="plugins.generic.deleteIncompleteSubmissions.deletion.threshold" translate="0" size=$fbvStyles.size.SMALL}
13+
<div id="description">
14+
<p>{translate key="plugins.generic.deleteIncompleteSubmissions.deletion.description"}</p>
15+
<p>{translate key="plugins.generic.deleteIncompleteSubmissions.deletion.warning.title"}</p>
16+
<ul>
17+
<li>{translate key="plugins.generic.deleteIncompleteSubmissions.deletion.warning.item.one"}</li>
18+
<li>{translate key="plugins.generic.deleteIncompleteSubmissions.deletion.warning.item.two"}</li>
19+
</ul>
20+
</div>
21+
<br>
2622

27-
{fbvFormButtons id="deleteIncompleteSubmissionsSettingsFormSubmit" submitText="common.delete"}
23+
{include file="controllers/notification/inPlaceNotification.tpl" notificationId="deleteIncompleteSubmissionsSettingsFormNotification"}
2824

29-
{/fbvFormSection}
25+
{fbvFormArea id="deleteIncompleteSubmissionsSettingsFormArea"}
26+
{fbvFormSection}
27+
<div>
28+
<label for="deletionThreshold" style="display: grid; grid-template-columns: 8fr 1fr 2fr; column-gap: 10px;">
29+
<p style="grid-row: 1;">{translate key="plugins.generic.deleteIncompleteSubmissions.deletionLabelPrefix"}</p>
30+
<input style="grid-row: 1; margin-block-start: 10px;" type="number" id="deletionThreshold" name="deletionThreshold" value="{$defaultThreshold|escape}" min="1" step="1" required/>
31+
<p style="grid-row: 1;">{translate key="plugins.generic.deleteIncompleteSubmissions.deletionLabelSuffix"}</p>
32+
</label>
33+
</div>
3034

35+
{fbvFormButtons id="deleteIncompleteSubmissionsSettingsFormSubmit" submitText="common.delete"}
36+
{/fbvFormSection}
3137
{/fbvFormArea}
32-
3338
</form>
3439
</div>

0 commit comments

Comments
 (0)