From f3780bc0f9e3803f23444f64056c2d153bd12f18 Mon Sep 17 00:00:00 2001
From: jyhein <124268211+jyhein@users.noreply.github.com>
Date: Thu, 23 May 2024 13:25:50 +0300
Subject: [PATCH] Change submission language
---
.../Container/ChangeSubmissionLanguage.vue | 237 ++++++++++++++++++
src/components/Container/WorkflowPage.vue | 94 +++++++
src/components/Container/WorkflowPageOMP.vue | 4 +
src/components/Form/Form.vue | 7 +-
src/components/Form/FormPage.vue | 3 +
5 files changed, 339 insertions(+), 6 deletions(-)
create mode 100644 src/components/Container/ChangeSubmissionLanguage.vue
diff --git a/src/components/Container/ChangeSubmissionLanguage.vue b/src/components/Container/ChangeSubmissionLanguage.vue
new file mode 100644
index 000000000..948ac5575
--- /dev/null
+++ b/src/components/Container/ChangeSubmissionLanguage.vue
@@ -0,0 +1,237 @@
+
+
+
+ {{ submission.id }}
+
+
+ {{ t('submission.list.changeSubmissionLanguage.title') }}
+
+
+ {{ publicationTitle }}
+
+
+
+
+
+
+
+
diff --git a/src/components/Container/WorkflowPage.vue b/src/components/Container/WorkflowPage.vue
index 528890d7e..a4e058955 100644
--- a/src/components/Container/WorkflowPage.vue
+++ b/src/components/Container/WorkflowPage.vue
@@ -1,11 +1,13 @@
@@ -722,6 +802,20 @@ export default {
}
}
+.pkpSubmission__localeNotSupported {
+ margin: 0 -2rem;
+ padding: 1rem;
+ background: @primary;
+ font-size: @font-sml;
+ color: #fff;
+ text-align: center;
+}
+
+.pkpPublication__changeSubmissionLanguage {
+ display: block;
+ padding-bottom: 0.25rem;
+}
+
// Integrate the grids in the publication tab
.pkpWorkflow__contributors,
#representations-grid {
diff --git a/src/components/Container/WorkflowPageOMP.vue b/src/components/Container/WorkflowPageOMP.vue
index a7c24da38..4196ee3cc 100644
--- a/src/components/Container/WorkflowPageOMP.vue
+++ b/src/components/Container/WorkflowPageOMP.vue
@@ -72,9 +72,13 @@ export default {
/**
* Update the work type to be an edited volume
+ * Update authors' isVolumeEditor to bool if null
*/
setAsEditedVolume() {
this.updateWorkType(this.getConstant('WORK_TYPE_EDITED_VOLUME'));
+ this.workingPublication.authors.forEach(
+ (author) => (author.isVolumeEditor = !!author.isVolumeEditor),
+ );
},
/**
diff --git a/src/components/Form/Form.vue b/src/components/Form/Form.vue
index 52d5e0070..aa874f36d 100644
--- a/src/components/Form/Form.vue
+++ b/src/components/Form/Form.vue
@@ -348,14 +348,9 @@ export default {
missingValue = !value;
break;
case 'string':
- case 'array':
- if (!value.length) {
- missingValue = true;
- }
- break;
case 'object':
// null values are stored as objects
- if (!value) {
+ if (!value || (Array.isArray(value) && !value.length)) {
missingValue = true;
}
break;
diff --git a/src/components/Form/FormPage.vue b/src/components/Form/FormPage.vue
index 66dd656b8..e59e0e334 100644
--- a/src/components/Form/FormPage.vue
+++ b/src/components/Form/FormPage.vue
@@ -207,6 +207,9 @@ export default {
if (typeof group.showWhen === 'string') {
return !!whenField.value;
}
+ if (Array.isArray(group.showWhen[1])) {
+ return group.showWhen[1].includes(whenField.value);
+ }
return whenField.value === group.showWhen[1];
},