Skip to content

Commit e125d83

Browse files
authored
Merge branch 'main' into pro-7798-fix-ordering
2 parents 40b321a + de90aa4 commit e125d83

22 files changed

Lines changed: 858 additions & 400 deletions

File tree

CHANGELOG.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,21 @@
22

33
## UNRELEASED
44

5+
* Adds dynamic choices working with piece manager filters.
6+
7+
## 4.19.0 (2025-07-09)
8+
59
### Adds
610

711
* Implemented GET /api/v1/@apostrophecms/login/whoami route such that it returns the details of the currently logged in user; added the route to the login module.
12+
Thanks to [sombitganguly](https://github.com/sombitganguly) for this contribution.
813
* Adds keyboard shortcuts for manipulating widgets in areas. Includes Cut, Copy, Paste, Delete, and Duplicate.
9-
* Adds dynamic choices working with piece manager filters.
14+
* Automatic translation now supports a disclaimer and an help text for the checkbox. You can now set the disclaimer by setting `automaticTranslationDisclaimer` `i18n` key and the help text by setting `automaticTranslationCheckboxHelp` `i18n` key.
15+
* Adds dynamic choices working with piece manager filters.
1016
* Allow `import.imageTags` (array of image tag IDs) to be passed to the rich text widget when importing (see https://docs.apostrophecms.org/reference/api/rich-text.html#importing-inline-images).
17+
* Adds a new way to make `GET` requests with a large query string. It can become a `POST` request containing the key `__aposGetWithQuery` in its body.
18+
A middleware checks for this key and converts the request back to a `GET` request with the right `req.query` property.
19+
* Adds a new batch operation to tag images.
1120

1221
### Changes
1322

modules/@apostrophecms/express/index.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,23 @@ module.exports = {
417417
bodyParserJson: bodyParser.json({
418418
limit: '16mb',
419419
...(self.options.bodyParser && self.options.bodyParser.json)
420-
})
420+
}),
421+
// Supports POST that are supposed to be GET requests
422+
// when the query string is too big, we convert it back to GET here.
423+
convertPostToGetWithQuery(req, res, next) {
424+
if (req.method === 'POST' && req.body?.__aposGetWithQuery) {
425+
req.method = 'GET';
426+
req.query = {
427+
...req.query,
428+
...req.body.__aposGetWithQuery
429+
};
430+
delete req.body;
431+
const [ url ] = req.url.split('?');
432+
req.url = `${url}?${qs.stringify(req.query)}`;
433+
}
434+
435+
return next();
436+
}
421437
};
422438
},
423439

modules/@apostrophecms/i18n/i18n/de.json

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@
6262
"batchPublishCompleted": "{{ count }} {{ type }} veröffentlicht.",
6363
"batchPublishProgress": "Veröffentlichung {{ type }}...",
6464
"batchRestoreCompleted": "{{ count }} {{ type }} wiederhergestellt.",
65+
"batchTagProgress": "Taggen von {{ count }} {{ type }}...",
66+
"batchUntagProgress": "Entfernen der Markierung von {{ count }} {{ type }}...",
6567
"batchRestoreProgress": "Wiederherstellung {{ type }}...",
6668
"breakpointPreviewClear": "Klarer Haltepunkt",
6769
"breakpointPreviewDesktop": "Desktop",
@@ -550,14 +552,19 @@
550552
"table": "Tabelle",
551553
"tableDescription": "Fügen Sie tabellarische Inhalte zu Ihrer Seite hinzu",
552554
"tableImport": "Tabelle importieren",
555+
"tag": "Tag",
553556
"tagAddTag": "Tag hinzufügen",
557+
"tagCreateHelp": "Das neue Tag wird auf Ihre Auswahl angewendet",
554558
"tagCreateNewTag": "Neuen Tag erstellen",
555-
"tagCreateTag": "Tag \"{{ tag }}\" erstellen",
556-
"tagNewTag": "Neuer Tag",
557-
"tagNoTagsFoundCreateOne": "Erstellen {{ tag }}?",
558-
"tagNoTagsFoundPerhaps": "Wir konnten keine passenden Tags finden. Vielleicht",
559+
"tagCreateNewTagName": "Neues Tag erstellen \"{{ tag }}\"",
560+
"tagCreateTag": "Tag Erstellen",
561+
"tagCreateTagName": "Erstellen {{ tag }}?",
562+
"tagExist": "Dieses Tag existiert bereits",
563+
"tagManage": "Tags verwalten",
564+
"tagNoResultFor": "Keine Ergebnisse für \"{{ tag }}\"",
565+
"tagNoTagsYet": "Noch keine Tags",
559566
"tagSearchApplyTags": "Tags anwenden",
560-
"tagSearchPlaceholder": "Tags...",
567+
"tagSearchPlaceholder": "Tag...",
561568
"tagYourImages": "Weise deinen Bildern Tags zu, um die Suche und das Filtern im Medienmanager zu erleichtern.",
562569
"tags": "Tags",
563570
"takeActionAndCreateNew": "{{ saveLabel }} und erstelle Neues",

modules/@apostrophecms/i18n/i18n/en.json

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
"at": "at",
4747
"attachment": "Attachment",
4848
"automaticTranslationCheckbox": "Translate text content",
49+
"automaticTranslationCheckboxHelp": "",
50+
"automaticTranslationDisclaimer": "",
4951
"automaticTranslationErrMsg": "An error happened while getting available languages for translation. Translation will be skipped.",
5052
"automaticTranslationErrorNoProvider": "Translation provider not found. Page \"{{ title }}\" was not translated.",
5153
"automaticTranslationErrorTargets": "Badly formatted translation targets.",
@@ -63,6 +65,8 @@
6365
"batchPublishProgress": "Publishing {{ type }}...",
6466
"batchRestoreCompleted": "Restored {{ count }} {{ type }}.",
6567
"batchRestoreProgress": "Restoring {{ type }}...",
68+
"batchTagProgress": "Tagging {{ count }} {{ type }}...",
69+
"batchUntagProgress": "Untagging {{ count }} {{ type }}...",
6670
"breakpointPreviewClear": "Clear Breakpoint",
6771
"breakpointPreviewDesktop": "Desktop",
6872
"breakpointPreviewExit": "Exit",
@@ -550,14 +554,19 @@
550554
"table": "Table",
551555
"tableDescription": "Add tabular content to your page",
552556
"tableImport": "Import Table",
557+
"tag": "Tag",
553558
"tagAddTag": "Add Tag",
559+
"tagCreateHelp": "The new tag will be applied to your selection",
554560
"tagCreateNewTag": "Create new tag",
555-
"tagCreateTag": "Create tag \"{{ tag }}\"",
556-
"tagNewTag": "New Tag",
557-
"tagNoTagsFoundCreateOne": "create {{ tag }}?",
558-
"tagNoTagsFoundPerhaps": "We couldn't find any matching tags. Perhaps",
561+
"tagCreateNewTagName": "Create new Tag \"{{ tag }}\"",
562+
"tagCreateTag": "Create Tag",
563+
"tagCreateTagName": "create \"{{ tag }}\"",
564+
"tagExist": "This tag already exist",
565+
"tagManage": "Manage Tags",
566+
"tagNoResultFor": "No results for \"{{ tag }}\"",
567+
"tagNoTagsYet": "No tags yet",
559568
"tagSearchApplyTags": "Apply Tags",
560-
"tagSearchPlaceholder": "Tags...",
569+
"tagSearchPlaceholder": "Tag...",
561570
"tagYourImages": "Tag your images to make searching and filtering the media manager easier",
562571
"tags": "Tags",
563572
"takeActionAndCreateNew": "{{ saveLabel }} and Create New",

modules/@apostrophecms/i18n/i18n/es.json

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@
6363
"batchPublishProgress": "Publicando {{ type }}...",
6464
"batchRestoreCompleted": "Restaurado {{ count }} {{ type }}.",
6565
"batchRestoreProgress": "Restaurando {{ type }}...",
66+
"batchTagProgress": "Etiquetando {{ count }} {{ type }}...",
67+
"batchUntagProgress": "Desetiquetando {{ count }} {{ type }}...",
6668
"breakpointPreviewClear": "Punto de ruptura claro",
6769
"breakpointPreviewDesktop": "Escritorio",
6870
"breakpointPreviewExit": "Salir",
@@ -550,12 +552,17 @@
550552
"table": "Tabla",
551553
"tableDescription": "Agregar contenido tabular a tu página",
552554
"tableImport": "Importar tabla",
555+
"tag": "Etiqueta",
553556
"tagAddTag": "Agregar etiqueta",
557+
"tagCreateHelp": "La nueva etiqueta se aplicará a su selección",
554558
"tagCreateNewTag": "Crear nueva etiqueta",
555-
"tagCreateTag": "Crear etiqueta \"{{ tag }}\"",
556-
"tagNewTag": "Nueva etiqueta",
557-
"tagNoTagsFoundCreateOne": "¿Crear {{ tag }}?",
558-
"tagNoTagsFoundPerhaps": "No pudimos encontrar ninguna etiqueta coincidente. Quizás",
559+
"tagCreateNewTagName": "Crear nueva etiqueta \"{{ tag }}\"",
560+
"tagCreateTag": "Crear etiqueta",
561+
"tagCreateTagName": "crear \"{{ tag }}\"",
562+
"tagExist": "Esta etiqueta ya existe",
563+
"tagManage": "Administrar etiquetas",
564+
"tagNoResultFor": "No hay resultados para \"{{ tag }}\"",
565+
"tagNoTagsYet": "No hay etiquetas todavía",
559566
"tagSearchApplyTags": "Aplicar etiquetas",
560567
"tagSearchPlaceholder": "Etiquetas...",
561568
"tagYourImages": "Etiquete sus imágenes para facilitar la busqueda y filtrado en el gestor multimedia",

modules/@apostrophecms/i18n/i18n/fr.json

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@
6363
"batchPublishProgress": "Publication {{ type }}...",
6464
"batchRestoreCompleted": "Restauré {{ count }} {{ type }}.",
6565
"batchRestoreProgress": "Restaurer {{ type }}...",
66+
"batchTagProgress": "Taggage de {{ count }} {{ type }}...",
67+
"batchUntagProgress": "Dé-taggage de {{ count }} {{ type }}...",
6668
"breakpointPreviewClear": "Point d'arrêt clair",
6769
"breakpointPreviewDesktop": "Bureau",
6870
"breakpointPreviewExit": "Sortir",
@@ -550,12 +552,17 @@
550552
"table": "Tableau",
551553
"tableDescription": "Ajouter du contenu tabulaire à votre page",
552554
"tableImport": "Importer tableau",
555+
"tag": "Tag",
553556
"tagAddTag": "Ajouter un tag",
557+
"tagCreateHelp": "Le nouveau tag sera appliqué à votre sélection",
554558
"tagCreateNewTag": "Créer un nouveau tag",
555-
"tagCreateTag": "Créer un tag \"{{ tag }}\"",
556-
"tagNewTag": "Nouveau tag",
557-
"tagNoTagsFoundCreateOne": "créer {{ tag }} ?",
558-
"tagNoTagsFoundPerhaps": "Nous n'avons trouvé aucun tag correspondant. Peut-être",
559+
"tagCreateNewTagName": "Créer le tag \"{{ tag }}\"",
560+
"tagCreateTag": "Créer un tag",
561+
"tagCreateTagName": "créer \"{{ tag }}\"",
562+
"tagExist": "Ce tag existe déjà",
563+
"tagManage": "Gérer Tags",
564+
"tagNoResultFor": "Pas de résultats pour \"{{ tag }}\"",
565+
"tagNoTagsYet": "Pas encore de tags",
559566
"tagSearchApplyTags": "Appliquer des tags",
560567
"tagSearchPlaceholder": "Tags...",
561568
"tagYourImages": "Taguez vos images pour faciliter la recherche et le filtrage du gestionnaire de médias",

modules/@apostrophecms/i18n/i18n/it.json

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@
6363
"batchPublishProgress": "Pubblicazione {{ type }}...",
6464
"batchRestoreCompleted": "Ripristinati {{ count }} {{ type }}.",
6565
"batchRestoreProgress": "Ripristino {{ type }}...",
66+
"batchTagProgress": "Aggiungere tag a {{ count }} {{ type }}",
67+
"batchUntagProgress": "Rimozione dei tag da {{ count }} {{ type }}",
6668
"breakpointPreviewClear": "Chiaro punto di interruzione",
6769
"breakpointPreviewDesktop": "Desktop",
6870
"breakpointPreviewExit": "Esci",
@@ -550,14 +552,19 @@
550552
"table": "Tabella",
551553
"tableDescription": "Aggiungi una tabella alla tua pagina",
552554
"tableImport": "Importa tabella",
553-
"tagAddTag": "Aggiungi etichetta",
554-
"tagCreateNewTag": "Crea nuova etichetta",
555-
"tagCreateTag": "Crea etichetta \"{{ tag }}\"",
556-
"tagNewTag": "Nuova etichetta",
557-
"tagNoTagsFoundCreateOne": "crea {{ tag }}?",
558-
"tagNoTagsFoundPerhaps": "Non siamo riusciti a trovare etichette corrispondenti. Forse",
559-
"tagSearchApplyTags": "Applica etichette",
560-
"tagSearchPlaceholder": "Etichette...",
555+
"tag": "Tag",
556+
"tagAddTag": "Aggiungi tag",
557+
"tagCreateHelp": "Il nuovo tag verrà applicato alla tua selezione",
558+
"tagCreateNewTag": "Crea etichetta",
559+
"tagCreateNewTagName": "Create new Tag \"{{ tag }}\"",
560+
"tagCreateTag": "Creare tag",
561+
"tagCreateTagName": "creare \"{{ tag }}\"",
562+
"tagExist": "Questo tag esiste già",
563+
"tagManage": "Gestisci tag",
564+
"tagNoResultFor": "Nessun risultato per \"{{ tag }}\"",
565+
"tagNoTagsYet": "Nessun tag ancora",
566+
"tagSearchApplyTags": "Applica tag",
567+
"tagSearchPlaceholder": "Tag...",
561568
"tagYourImages": "Tagga le tue immagini per facilitare la ricerca e il filtraggio nel gestore dei media",
562569
"tags": "Tag",
563570
"takeActionAndCreateNew": "{{ saveLabel }} e crea nuovo",

modules/@apostrophecms/i18n/i18n/pt-BR.json

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@
6363
"batchPublishProgress": "Publicando {{ type }}...",
6464
"batchRestoreCompleted": "Restaurado {{ count }} {{ type }}.",
6565
"batchRestoreProgress": "Restaurando {{ type }}...",
66+
"batchTagProgress": "Marcando {{ count }} {{ type }}...",
67+
"batchUntagProgress": "Desmarcando {{ count }} {{ type }}...",
6668
"breakpointPreviewClear": "Ponto de interrupção claro",
6769
"breakpointPreviewDesktop": "Desktop",
6870
"breakpointPreviewExit": "Sair",
@@ -550,12 +552,17 @@
550552
"table": "Tabela",
551553
"tableDescription": "Adicionar conteúdo tabular à sua página",
552554
"tableImport": "Importar tabela",
555+
"tag": "Tag",
553556
"tagAddTag": "Adicionar Tag",
557+
"tagCreateHelp": "A nova tag será aplicada à sua seleção",
554558
"tagCreateNewTag": "Criar nova tag",
555-
"tagCreateTag": "Criar tag \"{{ tag }}\"",
556-
"tagNewTag": "Nova Tag",
557-
"tagNoTagsFoundCreateOne": "criar {{ tag }}?",
558-
"tagNoTagsFoundPerhaps": "Não conseguimos encontrar tags correspondentes. Talvez",
559+
"tagCreateNewTagName": "Criar nova tag \"{{ tag }}\"",
560+
"tagCreateTag": "Criar tag",
561+
"tagCreateTagName": "criar \"{{ tag }}\"",
562+
"tagExist": "Esta tag já existe",
563+
"tagManage": "Gerenciar tags",
564+
"tagNoResultFor": "Nenhum resultado para \"{{ tag }}\"",
565+
"tagNoTagsYet": "Nenhuma tag ainda",
559566
"tagSearchApplyTags": "Aplicar Tags",
560567
"tagSearchPlaceholder": "Tags...",
561568
"tagYourImages": "Adicione tags nas suas imagens para facilitar a pesquisa e a filtragem do gerenciador de mídia",

modules/@apostrophecms/i18n/i18n/sk.json

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@
6363
"batchPublishProgress": "Publikovanie {{ type }}...",
6464
"batchRestoreCompleted": "Obnovené {{ count }} {{ type }}.",
6565
"batchRestoreProgress": "Obnovenie {{ type }}...",
66+
"batchTagProgress": "Označovanie {{ count }} {{ type }}...",
67+
"batchUntagProgress": "Odznačenie {{ count }} {{ type }}...",
6668
"breakpointPreviewClear": "Bod prerušenia",
6769
"breakpointPreviewDesktop": "Desktop",
6870
"breakpointPreviewExit": "Odísť",
@@ -550,10 +552,15 @@
550552
"table": "Tabuľka",
551553
"tableDescription": "Pridať tabuľkový obsah na vašu stránku",
552554
"tableImport": "Importovať tabuľku",
555+
"tag": "Tag",
553556
"tagAddTag": "Pridať tag",
554-
"tagCreateNewTag": "Vytvoriť nový tag",
555-
"tagCreateTag": "Vytvoriť tag \"{{ tag }}\"",
556-
"tagNewTag": "Nový tag",
557+
"tagCreateHelp": "Nová tag sa použije na váš výber",
558+
"tagCreateNewTag": "Vytvoriť tag",
559+
"tagCreateNewTagName": "Vytvoriť novej tag \"{{ tag }}\"",
560+
"tagCreateTag": "Vytvoriť tag",
561+
"tagCreateTagName": "vytvoriť \"{{ tag }}\"",
562+
"tagExist": "Táto tag už existuje",
563+
"tagManage": "Spravovať Tags",
557564
"tagNoTagsFoundCreateOne": "vytvoriť {{ tag }}?",
558565
"tagNoTagsFoundPerhaps": "Nenašli sme žiadne zodpovedajúce tagy. Možno",
559566
"tagSearchApplyTags": "Použiť tagy",

modules/@apostrophecms/i18n/ui/apos/components/AposI18nLocalize.vue

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,12 +231,19 @@
231231
{{ $t('apostrophe:automaticTranslationSettings') }}
232232
</span>
233233
</p>
234+
<p
235+
v-if="automaticTranslationDisclaimer"
236+
class="apos-wizard__translation-disclaimer"
237+
>
238+
{{ automaticTranslationDisclaimer }}
239+
</p>
234240
<AposCheckbox
235241
v-model="wizard.values.translateContent.data"
236242
:field="{ name: 'translate' }"
237243
:choice="{
238244
value: wizard.values.translateContent.data,
239-
label: $t('apostrophe:automaticTranslationCheckbox')
245+
label: $t('apostrophe:automaticTranslationCheckbox'),
246+
htmlHelp: $t('apostrophe:automaticTranslationCheckboxHelp')
240247
}"
241248
data-apos-test="localizationTranslationCheck"
242249
/>
@@ -449,7 +456,8 @@ export default {
449456
translationEnabled: apos.modules['@apostrophecms/translation'].enabled,
450457
translationErrMsg: null,
451458
translationShowRetry: false,
452-
translationShowLoader: false
459+
translationShowLoader: false,
460+
automaticTranslationDisclaimer: this.$t('apostrophe:automaticTranslationDisclaimer')
453461
};
454462
},
455463
computed: {

0 commit comments

Comments
 (0)