From 4753ec47918c674025dc8514843247112a95244f Mon Sep 17 00:00:00 2001 From: sofyenne Date: Thu, 12 Sep 2024 16:37:59 +0100 Subject: [PATCH] feat: Implement the administration management of automatic translation for news - EXO-72353 - Meeds-io/MIPs#129 --- .../api/dto/AutomaticTranslationFeaturesOptions.java | 3 +++ .../impl/AutomaticTranslationServiceTest.java | 2 ++ .../automaticTranslationAdministration_en.properties | 2 +- .../AutomaticTranslationAdministrationApp.vue | 11 +++++++++++ .../notes-editor-extension/extensions.js | 10 ++++++++++ 5 files changed, 27 insertions(+), 1 deletion(-) diff --git a/services/api/src/main/java/org/exoplatform/automatic/translation/api/dto/AutomaticTranslationFeaturesOptions.java b/services/api/src/main/java/org/exoplatform/automatic/translation/api/dto/AutomaticTranslationFeaturesOptions.java index 8d995c43..65a1fc15 100644 --- a/services/api/src/main/java/org/exoplatform/automatic/translation/api/dto/AutomaticTranslationFeaturesOptions.java +++ b/services/api/src/main/java/org/exoplatform/automatic/translation/api/dto/AutomaticTranslationFeaturesOptions.java @@ -29,6 +29,8 @@ public class AutomaticTranslationFeaturesOptions implements Serializable { private Boolean newsTranslateView; + private Boolean newsTranslateEdition; + private Boolean notesTranslateEdition; private Boolean notesTranslateView; @@ -39,5 +41,6 @@ public AutomaticTranslationFeaturesOptions() { this.newsTranslateView = true; this.notesTranslateEdition = true; this.notesTranslateView = true; + this.newsTranslateEdition = true; } } diff --git a/services/impl/src/test/java/org/exoplatform/automatic/translation/impl/AutomaticTranslationServiceTest.java b/services/impl/src/test/java/org/exoplatform/automatic/translation/impl/AutomaticTranslationServiceTest.java index d9e8b1fc..46955b5b 100644 --- a/services/impl/src/test/java/org/exoplatform/automatic/translation/impl/AutomaticTranslationServiceTest.java +++ b/services/impl/src/test/java/org/exoplatform/automatic/translation/impl/AutomaticTranslationServiceTest.java @@ -321,6 +321,7 @@ public void testGetFeatureOptions() { assertTrue(automaticTranslationFeaturesOptions.getNotesTranslateView()); assertTrue(automaticTranslationFeaturesOptions.getStreamTranslateShort()); assertTrue(automaticTranslationFeaturesOptions.getStreamTranslateComment()); + assertTrue(automaticTranslationFeaturesOptions.getNewsTranslateEdition()); automaticTranslationFeaturesOptions.setNewsTranslateView(false); automaticTranslationFeaturesOptions.setNotesTranslateView(false); translationService.setFeaturesOptions(automaticTranslationFeaturesOptions); @@ -332,6 +333,7 @@ public void testGetFeatureOptions() { assertTrue(automaticTranslationFeaturesOptions.getStreamTranslateShort()); assertTrue(automaticTranslationFeaturesOptions.getStreamTranslateComment()); assertTrue(automaticTranslationFeaturesOptions.getNotesTranslateEdition()); + assertTrue(automaticTranslationFeaturesOptions.getNewsTranslateEdition()); } } diff --git a/webapps/src/main/resources/locale/portlet/automaticTranslation/automaticTranslationAdministration_en.properties b/webapps/src/main/resources/locale/portlet/automaticTranslation/automaticTranslationAdministration_en.properties index 4f7f3d25..b6430b42 100644 --- a/webapps/src/main/resources/locale/portlet/automaticTranslation/automaticTranslationAdministration_en.properties +++ b/webapps/src/main/resources/locale/portlet/automaticTranslation/automaticTranslationAdministration_en.properties @@ -18,7 +18,7 @@ automatic.translation.administration.module.news.label=News automatic.translation.administration.module.notes.label=Notes automatic.translation.administration.module.stream.short.message=Short message automatic.translation.administration.module.stream.comments=Comment -automatic.translation.administration.module.news.write=News - edition +automatic.translation.administration.module.news.write=News edition automatic.translation.administration.module.news.view=News consultation automatic.translation.administration.module.notes.write=Notes edition automatic.translation.administration.module.notes.view=Notes consultation diff --git a/webapps/src/main/webapp/vue-apps/automatic-translation-administration/components/AutomaticTranslationAdministrationApp.vue b/webapps/src/main/webapp/vue-apps/automatic-translation-administration/components/AutomaticTranslationAdministrationApp.vue index 242cd365..b2639898 100644 --- a/webapps/src/main/webapp/vue-apps/automatic-translation-administration/components/AutomaticTranslationAdministrationApp.vue +++ b/webapps/src/main/webapp/vue-apps/automatic-translation-administration/components/AutomaticTranslationAdministrationApp.vue @@ -113,6 +113,17 @@ along with this program. If not, see . {{ $t('automatic.translation.administration.module.news.label') }} + + + {{ $t('automatic.translation.administration.module.news.write') }} + + + + + {{ $t('automatic.translation.administration.module.news.view') }} diff --git a/webapps/src/main/webapp/vue-apps/automatic-translation-extensions/notes-editor-extension/extensions.js b/webapps/src/main/webapp/vue-apps/automatic-translation-extensions/notes-editor-extension/extensions.js index a307c59a..76272468 100644 --- a/webapps/src/main/webapp/vue-apps/automatic-translation-extensions/notes-editor-extension/extensions.js +++ b/webapps/src/main/webapp/vue-apps/automatic-translation-extensions/notes-editor-extension/extensions.js @@ -31,6 +31,7 @@ export function initExt() { Vue.prototype.$automaticTranslationExtensionsService.getFeaturesOptions().then(data => { let featuresOptions = { notesTranslateEdition: true, + newsTranslateEdition: true, }; if (data){ featuresOptions = data; @@ -55,5 +56,14 @@ export function initExtensions(featuresOptions) { }, }); } + if (featuresOptions?.newsTranslateEdition){ + extensionRegistry.registerExtension('contentEditor', 'translation-extension', { + id: 'content-editor-auto-translate', + rank: 1001, + componentOptions: { + vueComponent: Vue.options.components['note-editor-automatic-translation'], + }, + }); + } document.dispatchEvent(new CustomEvent('automatic-translation-extensions-updated')); } \ No newline at end of file