From 125f5c8fef2a4fd8ea1ade0639e9bed884536d17 Mon Sep 17 00:00:00 2001 From: Roel Bruggink Date: Wed, 27 Sep 2023 18:01:09 +0200 Subject: [PATCH 01/10] Show which pages will have break links if you would delete an item. --- api/buildout.cfg | 9 +- src/components/manage/Contents/Contents.jsx | 92 ++++++++++++--------- theme/themes/pastanaga/extras/contents.less | 2 +- 3 files changed, 61 insertions(+), 42 deletions(-) diff --git a/api/buildout.cfg b/api/buildout.cfg index e11b411802..a47330ea31 100644 --- a/api/buildout.cfg +++ b/api/buildout.cfg @@ -1,7 +1,7 @@ [buildout] index = https://pypi.org/simple/ extends = - http://dist.plone.org/release/6.0.6/versions.cfg + http://dist.plone.org/release/6.0.7/versions.cfg version-constraints.cfg versions.cfg parts = instance plonesite site-packages test robot-server @@ -11,13 +11,16 @@ versions = versions extensions = mr.developer auto-checkout = + plone.restapi + plone.app.linkintegrity always-checkout = force show-picked-versions = true [sources] plone.volto = git https://github.com/plone/plone.volto.git branch=main -plone.rest = git git@github.com:plone/plone.rest.git branch=master -plone.restapi = git https://github.com/plone/plone.restapi.git pushurl=git@github.com:plone/plone.restapi.git branch=master +plone.rest = git git@github.com:plone/plone.rest.git branch=main +plone.restapi = git https://github.com/plone/plone.restapi.git pushurl=git@github.com:plone/plone.restapi.git branch=main +plone.app.linkintegrity = git https://github.com/plone/plone.app.linkintegrity.git pushurl=git@github.com:plone/plone.app.linkintegrity.git branch=master [instance] recipe = plone.recipe.zope2instance diff --git a/src/components/manage/Contents/Contents.jsx b/src/components/manage/Contents/Contents.jsx index e4ce494288..d8ecd28d77 100644 --- a/src/components/manage/Contents/Contents.jsx +++ b/src/components/manage/Contents/Contents.jsx @@ -411,7 +411,8 @@ class Contents extends Component { showWorkflow: false, itemsToDelete: [], containedItemsToDelete: [], - brokenReferences: [], + brokenReferences: 0, + breaches: [], showAllItemsToDelete: true, items: this.props.items, filter: '', @@ -451,19 +452,19 @@ class Contents extends Component { map(this.state.itemsToDelete, (item) => this.getFieldById(item, 'UID')), ); let containedItems = 0; - let brokenReferencesCount = 0; - + let breaches = []; + let brokenReferences = new Set(); linkintegrityInfo.forEach((item) => { containedItems += item.items_total ?? 0; - brokenReferencesCount += item.breaches.length; + breaches.push(...item.breaches); + item.breaches.forEach((breach) => { + breach.sources.forEach((source) => brokenReferences.add(source.uid)); + }); }); this.setState({ containedItemsToDelete: containedItems, - brokenReferences: brokenReferencesCount, - brokenLinksList: - linkintegrityInfo.length === 1 - ? linkintegrityInfo[0]['@id'] + '/links-to-item' - : null, + brokenReferences: brokenReferences.size, + breaches: breaches, showAllItemsToDelete: this.state.itemsToDelete.length < this.deleteItemsToShowThreshold, }); @@ -1188,7 +1189,11 @@ class Contents extends Component {

@@ -1361,17 +1366,25 @@ class Contents extends Component { ), }} /> -
- + +
    + {this.state.breaches.map((breach) => + breach.sources.map((source) => ( +
  • + + {source.title || 'Untitled item'} + {' '} + references {breach.target.title} +
  • + )), )} - > - - +
)} @@ -1379,8 +1392,8 @@ class Contents extends Component { ) : this.state.brokenReferences > 0 ? ( <> {this.state.brokenReferences} @@ -1393,26 +1406,29 @@ class Contents extends Component { defaultMessage="reference" /> ) : ( - + )} ), }} /> -
- + +
    + {this.state.breaches.map((breach) => + breach.sources.map((source) => ( +
  • + + {source.title || 'Untitled item'} + {' '} + references {breach.target.title} +
  • + )), )} - > - - +
) : null} diff --git a/theme/themes/pastanaga/extras/contents.less b/theme/themes/pastanaga/extras/contents.less index e2b4f84d5c..5fe512465b 100644 --- a/theme/themes/pastanaga/extras/contents.less +++ b/theme/themes/pastanaga/extras/contents.less @@ -193,7 +193,7 @@ word-break: break-all; } - .broken-links-list-link-wrapper { + .broken-links-list { margin-top: 30px; } } From 1584adb9519baf12dc05fef8d7b3bd5d27d05470 Mon Sep 17 00:00:00 2001 From: Roel Bruggink Date: Thu, 28 Sep 2023 14:19:02 +0200 Subject: [PATCH 02/10] add news item --- news/5234.feature | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 news/5234.feature diff --git a/news/5234.feature b/news/5234.feature new file mode 100644 index 0000000000..22c4976878 --- /dev/null +++ b/news/5234.feature @@ -0,0 +1,2 @@ +List plone.app.linkintegrity breaches with links to the pages in the delete confirmation modal. +@jaroel \ No newline at end of file From 198b27ea409e166599cfebac52876e652a24d325 Mon Sep 17 00:00:00 2001 From: Roel Bruggink Date: Thu, 28 Sep 2023 16:07:26 +0200 Subject: [PATCH 03/10] Group breaches by source. Simpler and easier --- src/components/manage/Contents/Contents.jsx | 372 +++++++++++--------- 1 file changed, 204 insertions(+), 168 deletions(-) diff --git a/src/components/manage/Contents/Contents.jsx b/src/components/manage/Contents/Contents.jsx index d8ecd28d77..4feee80d00 100644 --- a/src/components/manage/Contents/Contents.jsx +++ b/src/components/manage/Contents/Contents.jsx @@ -452,15 +452,32 @@ class Contents extends Component { map(this.state.itemsToDelete, (item) => this.getFieldById(item, 'UID')), ); let containedItems = 0; - let breaches = []; let brokenReferences = new Set(); + let by_source_uid = new Map(); + let sources = {}; linkintegrityInfo.forEach((item) => { containedItems += item.items_total ?? 0; - breaches.push(...item.breaches); item.breaches.forEach((breach) => { - breach.sources.forEach((source) => brokenReferences.add(source.uid)); + breach.sources.forEach((source) => { + const uid = source.uid; + sources[uid] = source; + brokenReferences.add(uid); + if (by_source_uid.get(uid) === undefined) { + by_source_uid.set(uid, new Set()); + } + by_source_uid.get(uid).add(breach.target); + }); }); }); + + let breaches = []; + by_source_uid.forEach((targets, source_uid) => + breaches.push({ + source: sources[source_uid], + targets: Array.from(targets), + }), + ); + this.setState({ containedItemsToDelete: containedItems, brokenReferences: brokenReferences.size, @@ -1205,114 +1222,14 @@ class Contents extends Component { } content={
-

- {this.state.itemsToDelete.length > 1 ? ( - this.state.containedItemsToDelete > 0 ? ( - <> - - {this.state.containedItemsToDelete} - - ), - variation: ( - - {this.state.containedItemsToDelete === - 1 ? ( - - ) : ( - - )} - - ), - }} - /> - {this.state.brokenReferences > 0 && ( - <> -
- - {this.state.brokenReferences} - - ), - variation: ( - - {this.state.brokenReferences === - 1 ? ( - - ) : ( - - )} - - ), - }} - /> - - )} - - ) : ( - <> - {this.state.brokenReferences > 0 && ( - <> - - {this.state.brokenReferences} - - ), - variation: ( - - {this.state.brokenReferences === - 1 ? ( - - ) : ( - - )} - - ), - }} - /> - - )} - - ) - ) : this.state.containedItemsToDelete > 0 ? ( + {this.state.itemsToDelete.length > 1 ? ( + this.state.containedItemsToDelete > 0 ? ( <> @@ -1341,8 +1258,8 @@ class Contents extends Component { <>
@@ -1366,73 +1283,192 @@ class Contents extends Component { ), }} /> -

- -
    - {this.state.breaches.map((breach) => - breach.sources.map((source) => ( -
  • - - {source.title || 'Untitled item'} - {' '} - references {breach.target.title} -
  • - )), - )} -
-
)} - ) : this.state.brokenReferences > 0 ? ( + ) : ( <> - {this.state.brokenReferences} - ), - variation: ( - - {this.state.brokenReferences === 1 ? ( - - ) : ( - - )} - - ), - }} - /> -
- -
    - {this.state.breaches.map((breach) => - breach.sources.map((source) => ( + {this.state.brokenReferences > 0 && ( + <> + + {this.state.brokenReferences} + + ), + variation: ( + + {this.state.brokenReferences === 1 ? ( + + ) : ( + + )} + + ), + }} + /> + + )} + + ) + ) : this.state.containedItemsToDelete > 0 ? ( + <> + + {this.state.containedItemsToDelete} + + ), + variation: ( + + {this.state.containedItemsToDelete === 1 ? ( + + ) : ( + + )} + + ), + }} + /> + {this.state.brokenReferences > 0 && ( + <> +
    + {this.state.brokenReferences} + ), + variation: ( + + {this.state.brokenReferences === 1 ? ( + + ) : ( + + )} + + ), + }} + /> +
    + +
      + {this.state.breaches.map((breach) => (
    • - {source.title || 'Untitled item'} + {breach.source.title} {' '} - references {breach.target.title} + references{' '} + {breach.targets + .map((target) => ( + + {target.title} + + )) + .reduce((result, item) => ( + <> + {result}, {item} + + ))}
    • - )), - )} -
    -
    - - ) : null} -

    + ))} +
+
+ + )} + + ) : this.state.brokenReferences > 0 ? ( + <> + {this.state.brokenReferences} + ), + variation: ( + + {this.state.brokenReferences === 1 ? ( + + ) : ( + + )} + + ), + }} + /> +
+ +
    + {this.state.breaches.map((breach) => ( +
  • + + {breach.source.title} + {' '} + references{' '} + {breach.targets + .map((target) => ( + + {target.title} + + )) + .reduce((result, item) => ( + <> + {result}, {item} + + ))} +
  • + ))} +
+
+ + ) : null}
} onCancel={this.onDeleteCancel} From cec0828e5133805277f12d25574fcf3eba807089 Mon Sep 17 00:00:00 2001 From: Roel Bruggink Date: Thu, 28 Sep 2023 16:13:35 +0200 Subject: [PATCH 04/10] i18n --- locales/ca/LC_MESSAGES/volto.po | 15 +++++---------- locales/de/LC_MESSAGES/volto.po | 15 +++++---------- locales/en/LC_MESSAGES/volto.po | 15 +++++---------- locales/es/LC_MESSAGES/volto.po | 15 +++++---------- locales/eu/LC_MESSAGES/volto.po | 15 +++++---------- locales/fi/LC_MESSAGES/volto.po | 15 +++++---------- locales/fr/LC_MESSAGES/volto.po | 15 +++++---------- locales/it/LC_MESSAGES/volto.po | 15 +++++---------- locales/ja/LC_MESSAGES/volto.po | 15 +++++---------- locales/nl/LC_MESSAGES/volto.po | 15 +++++---------- locales/pt/LC_MESSAGES/volto.po | 15 +++++---------- locales/pt_BR/LC_MESSAGES/volto.po | 15 +++++---------- locales/ro/LC_MESSAGES/volto.po | 15 +++++---------- locales/volto.pot | 17 ++++++----------- locales/zh_CN/LC_MESSAGES/volto.po | 15 +++++---------- 15 files changed, 76 insertions(+), 151 deletions(-) diff --git a/locales/ca/LC_MESSAGES/volto.po b/locales/ca/LC_MESSAGES/volto.po index ad8b437acf..27be754587 100644 --- a/locales/ca/LC_MESSAGES/volto.po +++ b/locales/ca/LC_MESSAGES/volto.po @@ -1014,6 +1014,11 @@ msgstr "" msgid "Deleted" msgstr "" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3683,11 +3688,6 @@ msgstr "Aquesta és una còpia de treball de {title}" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4096,11 +4096,6 @@ msgstr "URL del vídeo" msgid "View" msgstr "veure" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/de/LC_MESSAGES/volto.po b/locales/de/LC_MESSAGES/volto.po index 09772cb6d5..3741718cc3 100644 --- a/locales/de/LC_MESSAGES/volto.po +++ b/locales/de/LC_MESSAGES/volto.po @@ -1011,6 +1011,11 @@ msgstr "" msgid "Deleted" msgstr "Gelöscht" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3680,11 +3685,6 @@ msgstr "Das ist eine Arbeitskopie von {title}" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4093,11 +4093,6 @@ msgstr "Video URL" msgid "View" msgstr "Anzeigen" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/en/LC_MESSAGES/volto.po b/locales/en/LC_MESSAGES/volto.po index 98e85b140d..ee8e7312a5 100644 --- a/locales/en/LC_MESSAGES/volto.po +++ b/locales/en/LC_MESSAGES/volto.po @@ -1005,6 +1005,11 @@ msgstr "" msgid "Deleted" msgstr "" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3674,11 +3679,6 @@ msgstr "" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4087,11 +4087,6 @@ msgstr "" msgid "View" msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/es/LC_MESSAGES/volto.po b/locales/es/LC_MESSAGES/volto.po index aecc914419..b0aa937222 100644 --- a/locales/es/LC_MESSAGES/volto.po +++ b/locales/es/LC_MESSAGES/volto.po @@ -1016,6 +1016,11 @@ msgstr "¿Eliminar este elemento?" msgid "Deleted" msgstr "Eliminado" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3685,11 +3690,6 @@ msgstr "Es una copia de trabajo de {title}" msgid "This item is also a folder." msgstr "Este elemento también es una carpeta." -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "Este elemento está referenciado por otros elementos. Al eliminarlo, {brokenReferences} {variation} se romperá." - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4098,11 +4098,6 @@ msgstr "URL del vídeo" msgid "View" msgstr "Ver" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "Ver la lista de enlaces rotos" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/eu/LC_MESSAGES/volto.po b/locales/eu/LC_MESSAGES/volto.po index 6f58787dde..fba8f668ce 100644 --- a/locales/eu/LC_MESSAGES/volto.po +++ b/locales/eu/LC_MESSAGES/volto.po @@ -1012,6 +1012,11 @@ msgstr "" msgid "Deleted" msgstr "Ezabatuta" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3681,11 +3686,6 @@ msgstr "Hau {title} elementuaren lan-bertsioa da" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4094,11 +4094,6 @@ msgstr "Bideoaren URLa" msgid "View" msgstr "Ikusi" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/fi/LC_MESSAGES/volto.po b/locales/fi/LC_MESSAGES/volto.po index 56c0d48680..1c8b2ec35b 100644 --- a/locales/fi/LC_MESSAGES/volto.po +++ b/locales/fi/LC_MESSAGES/volto.po @@ -1016,6 +1016,11 @@ msgstr "" msgid "Deleted" msgstr "Poistettu" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3685,11 +3690,6 @@ msgstr "" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4098,11 +4098,6 @@ msgstr "Videon URL" msgid "View" msgstr "Näytä" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/fr/LC_MESSAGES/volto.po b/locales/fr/LC_MESSAGES/volto.po index 469d73757b..962d5a58d7 100644 --- a/locales/fr/LC_MESSAGES/volto.po +++ b/locales/fr/LC_MESSAGES/volto.po @@ -1022,6 +1022,11 @@ msgstr "" msgid "Deleted" msgstr "Supprimé" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3691,11 +3696,6 @@ msgstr "Il sagit d'une copie de travail de {title}" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4104,11 +4104,6 @@ msgstr "URL de la vidéo" msgid "View" msgstr "Vue" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/it/LC_MESSAGES/volto.po b/locales/it/LC_MESSAGES/volto.po index cab54e43d5..6cb05f28e0 100644 --- a/locales/it/LC_MESSAGES/volto.po +++ b/locales/it/LC_MESSAGES/volto.po @@ -1005,6 +1005,11 @@ msgstr "" msgid "Deleted" msgstr "Cancellato" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3674,11 +3679,6 @@ msgstr "Questa è una copia di lavoro di {title}" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4087,11 +4087,6 @@ msgstr "URL del video" msgid "View" msgstr "Visualizza" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/ja/LC_MESSAGES/volto.po b/locales/ja/LC_MESSAGES/volto.po index 3c8b38259f..974c5b336a 100644 --- a/locales/ja/LC_MESSAGES/volto.po +++ b/locales/ja/LC_MESSAGES/volto.po @@ -1013,6 +1013,11 @@ msgstr "" msgid "Deleted" msgstr "" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3682,11 +3687,6 @@ msgstr "" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4095,11 +4095,6 @@ msgstr "ビデオURL" msgid "View" msgstr "表示" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/nl/LC_MESSAGES/volto.po b/locales/nl/LC_MESSAGES/volto.po index 73aa04c97f..a497974e64 100644 --- a/locales/nl/LC_MESSAGES/volto.po +++ b/locales/nl/LC_MESSAGES/volto.po @@ -1024,6 +1024,11 @@ msgstr "" msgid "Deleted" msgstr "" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3693,11 +3698,6 @@ msgstr "" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4106,11 +4106,6 @@ msgstr "" msgid "View" msgstr "Bekijken" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/pt/LC_MESSAGES/volto.po b/locales/pt/LC_MESSAGES/volto.po index b9872b68c0..cbf6e49e81 100644 --- a/locales/pt/LC_MESSAGES/volto.po +++ b/locales/pt/LC_MESSAGES/volto.po @@ -1013,6 +1013,11 @@ msgstr "" msgid "Deleted" msgstr "" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3682,11 +3687,6 @@ msgstr "" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4095,11 +4095,6 @@ msgstr "" msgid "View" msgstr "Ver" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/pt_BR/LC_MESSAGES/volto.po b/locales/pt_BR/LC_MESSAGES/volto.po index 166b399a37..26a6ae7025 100644 --- a/locales/pt_BR/LC_MESSAGES/volto.po +++ b/locales/pt_BR/LC_MESSAGES/volto.po @@ -1015,6 +1015,11 @@ msgstr "" msgid "Deleted" msgstr "Removida" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3684,11 +3689,6 @@ msgstr "Esta é uma cópia de trabalho de {title}" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4097,11 +4097,6 @@ msgstr "URL do vídeo" msgid "View" msgstr "Visão" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/ro/LC_MESSAGES/volto.po b/locales/ro/LC_MESSAGES/volto.po index 1c911e4bea..78d4e78bff 100644 --- a/locales/ro/LC_MESSAGES/volto.po +++ b/locales/ro/LC_MESSAGES/volto.po @@ -1005,6 +1005,11 @@ msgstr "" msgid "Deleted" msgstr "" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3674,11 +3679,6 @@ msgstr "Aceasta este o copie de lucru a {title}" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4087,11 +4087,6 @@ msgstr "URL-ul video" msgid "View" msgstr "Vizualizare" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/volto.pot b/locales/volto.pot index d750bd3086..5711f7bbc7 100644 --- a/locales/volto.pot +++ b/locales/volto.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Plone\n" -"POT-Creation-Date: 2023-09-26T10:20:03.552Z\n" +"POT-Creation-Date: 2023-09-28T14:11:56.788Z\n" "Last-Translator: Plone i18n \n" "Language-Team: Plone i18n \n" "MIME-Version: 1.0\n" @@ -1007,6 +1007,11 @@ msgstr "" msgid "Deleted" msgstr "" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3680,11 +3685,6 @@ msgid "This item is also a folder. By deleting it you will delete {containedItemsToDelete} {variation} inside the folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4093,11 +4093,6 @@ msgstr "" msgid "View" msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" diff --git a/locales/zh_CN/LC_MESSAGES/volto.po b/locales/zh_CN/LC_MESSAGES/volto.po index b7ec2bc33c..8d475d9e41 100644 --- a/locales/zh_CN/LC_MESSAGES/volto.po +++ b/locales/zh_CN/LC_MESSAGES/volto.po @@ -1011,6 +1011,11 @@ msgstr "" msgid "Deleted" msgstr "已删除" +#: components/manage/Contents/Contents +# defaultMessage: Deleting this item breaks {brokenReferences} {variation}. +msgid "Deleting this item breaks {brokenReferences} {variation}." +msgstr "" + #: components/manage/Widgets/QuerystringWidget # defaultMessage: Depth msgid "Depth" @@ -3680,11 +3685,6 @@ msgstr "这是{title}的一个工作副本" msgid "This item is also a folder." msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken. -msgid "This item is referenced by other items. By deleting it {brokenReferences} {variation} will be broken." -msgstr "" - #: components/manage/LockingToastsFactory/LockingToastsFactory # defaultMessage: This item was locked by {creator} on {date} msgid "This item was locked by {creator} on {date}" @@ -4093,11 +4093,6 @@ msgstr "视频URL" msgid "View" msgstr "" -#: components/manage/Contents/Contents -# defaultMessage: View broken links list -msgid "View broken links list" -msgstr "" - #: components/manage/History/History # defaultMessage: View changes msgid "View changes" From e89b2559183263069b077c52c6dd62b0539f8ab1 Mon Sep 17 00:00:00 2001 From: Roel Bruggink Date: Mon, 2 Oct 2023 14:46:08 +0200 Subject: [PATCH 05/10] checkout plone.restapi --- README.md | 11 ++++++----- api/buildout.cfg | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index c65bc011f8..825d24110f 100644 --- a/README.md +++ b/README.md @@ -59,10 +59,10 @@ First get all the requirements installed on your system. The versions of Python that are supported in Volto depend on the version of Plone that you use. -| Plone | Python | Volto | -|---|---|---| -| 5.2 | 2.7, 3.6-3.8 | 15.0 | -| 6.0 | 3.8-3.11 | 16.0 | +| Plone | Python | Volto | +| ----- | ------------ | ----- | +| 5.2 | 2.7, 3.6-3.8 | 15.0 | +| 6.0 | 3.8-3.11 | 16.0 | ### Create a Volto project using the generator @@ -75,6 +75,7 @@ boilerplate to start customizing your Volto site. npm install -g yo @plone/generator-volto yo @plone/volto ``` + follow the prompts questions, provide `myvoltoproject` as project name then, when it finishes: ``` @@ -343,7 +344,7 @@ through it. ### Run a Guillotina backend -*Disclaimer:* Guillotina doesn't support the full API/features that Plone provides. Contributors are welcome. +_Disclaimer:_ Guillotina doesn't support the full API/features that Plone provides. Contributors are welcome. ```shell docker-compose -f g-api/docker-compose.yml up -d diff --git a/api/buildout.cfg b/api/buildout.cfg index a47330ea31..a77724edb5 100644 --- a/api/buildout.cfg +++ b/api/buildout.cfg @@ -19,7 +19,7 @@ show-picked-versions = true [sources] plone.volto = git https://github.com/plone/plone.volto.git branch=main plone.rest = git git@github.com:plone/plone.rest.git branch=main -plone.restapi = git https://github.com/plone/plone.restapi.git pushurl=git@github.com:plone/plone.restapi.git branch=main +plone.restapi = git https://github.com/plone/plone.restapi.git pushurl=git@github.com:plone/plone.restapi.git branch=distinct-breaches plone.app.linkintegrity = git https://github.com/plone/plone.app.linkintegrity.git pushurl=git@github.com:plone/plone.app.linkintegrity.git branch=master [instance] From bf7f6fe0a137efd4d29a42b543bf291749456866 Mon Sep 17 00:00:00 2001 From: Roel Bruggink Date: Mon, 2 Oct 2023 16:49:02 +0200 Subject: [PATCH 06/10] Didn't need to change the shape of restapi response --- src/components/manage/Contents/Contents.jsx | 59 ++++++++++----------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/src/components/manage/Contents/Contents.jsx b/src/components/manage/Contents/Contents.jsx index 4feee80d00..77376e4780 100644 --- a/src/components/manage/Contents/Contents.jsx +++ b/src/components/manage/Contents/Contents.jsx @@ -451,37 +451,34 @@ class Contents extends Component { const linkintegrityInfo = await this.props.linkIntegrityCheck( map(this.state.itemsToDelete, (item) => this.getFieldById(item, 'UID')), ); - let containedItems = 0; - let brokenReferences = new Set(); - let by_source_uid = new Map(); - let sources = {}; - linkintegrityInfo.forEach((item) => { - containedItems += item.items_total ?? 0; - item.breaches.forEach((breach) => { - breach.sources.forEach((source) => { - const uid = source.uid; - sources[uid] = source; - brokenReferences.add(uid); - if (by_source_uid.get(uid) === undefined) { - by_source_uid.set(uid, new Set()); - } - by_source_uid.get(uid).add(breach.target); - }); - }); - }); - - let breaches = []; - by_source_uid.forEach((targets, source_uid) => - breaches.push({ - source: sources[source_uid], - targets: Array.from(targets), - }), + const containedItems = linkintegrityInfo + .map((result) => result.items_total ?? 0) + .reduce((acc, value) => acc + value, 0); + const breaches = linkintegrityInfo.flatMap((result) => + result.breaches.map((source) => ({ + source: source, + target: result, + })), ); + const source_by_uid = breaches.reduce( + (acc, value) => acc.set(value.source.uid, value.source), + new Map(), + ); + const by_source = breaches.reduce((acc, value) => { + if (acc.get(value.source.uid) === undefined) { + acc.set(value.source.uid, new Set()); + } + acc.get(value.source.uid).add(value.target); + return acc; + }, new Map()); this.setState({ containedItemsToDelete: containedItems, - brokenReferences: brokenReferences.size, - breaches: breaches, + brokenReferences: by_source.size, + breaches: Array.from(by_source, (entry) => ({ + source: source_by_uid.get(entry[0]), + targets: Array.from(entry[1]), + })), showAllItemsToDelete: this.state.itemsToDelete.length < this.deleteItemsToShowThreshold, }); @@ -1381,7 +1378,7 @@ class Contents extends Component {
    {this.state.breaches.map((breach) => ( -
  • +
  • {breach.source.title} {' '} - references{' '} + refers to{' '} {breach.targets .map((target) => (
      {this.state.breaches.map((breach) => ( -
    • +
    • {breach.source.title} {' '} - references{' '} + refers to{' '} {breach.targets .map((target) => ( Date: Mon, 9 Oct 2023 10:08:11 +0200 Subject: [PATCH 07/10] yarn run i18n --- locales/volto.pot | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/locales/volto.pot b/locales/volto.pot index 1a91f4e37e..5595bd25fa 100644 --- a/locales/volto.pot +++ b/locales/volto.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Plone\n" -"POT-Creation-Date: 2023-10-02T11:59:20.013Z\n" +"POT-Creation-Date: 2023-10-09T08:07:49.447Z\n" "Last-Translator: Plone i18n \n" "Language-Team: Plone i18n \n" "MIME-Version: 1.0\n" @@ -39,7 +39,7 @@ msgid "Action changed" msgstr "" #: components/manage/Controlpanels/Rules/ConfigureRule -# defaultMessage: Action: +# defaultMessage: Action: msgid "Action: " msgstr "" @@ -688,7 +688,7 @@ msgid "Condition changed" msgstr "" #: components/manage/Controlpanels/Rules/ConfigureRule -# defaultMessage: Condition: +# defaultMessage: Condition: msgid "Condition: " msgstr "" From 1ef2ae8cbfdd4299c4ff91d4a4088e67d2f4b9bf Mon Sep 17 00:00:00 2001 From: Roel Bruggink Date: Mon, 9 Oct 2023 11:33:20 +0200 Subject: [PATCH 08/10] Add link to links and references view --- cypress/tests/core/content/content.js | 2 +- src/components/manage/Contents/Contents.jsx | 29 ++++++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/cypress/tests/core/content/content.js b/cypress/tests/core/content/content.js index da5e9a4091..29e910deac 100644 --- a/cypress/tests/core/content/content.js +++ b/cypress/tests/core/content/content.js @@ -86,7 +86,7 @@ describe('Add Content Tests', () => { cy.findByLabelText('/my-page').children('td').eq(1).click(); cy.get('.top-menu-menu .delete').click(); - cy.get('.modal.active').contains('View broken links list'); + cy.get('.modal.active').contains('View links and references to this item'); cy.get('.actions').contains('Delete').click(); }); diff --git a/src/components/manage/Contents/Contents.jsx b/src/components/manage/Contents/Contents.jsx index 77376e4780..d5276e0e5c 100644 --- a/src/components/manage/Contents/Contents.jsx +++ b/src/components/manage/Contents/Contents.jsx @@ -475,6 +475,9 @@ class Contents extends Component { this.setState({ containedItemsToDelete: containedItems, brokenReferences: by_source.size, + linksAndReferencesViewLink: linkintegrityInfo.length + ? linkintegrityInfo[0]['@id'] + '/links-to-item' + : null, breaches: Array.from(by_source, (entry) => ({ source: source_by_uid.get(entry[0]), targets: Array.from(entry[1]), @@ -1407,6 +1410,18 @@ class Contents extends Component {
    • ))}
    + {this.state.linksAndReferencesViewLink && ( + + + + )} )} @@ -1463,6 +1478,18 @@ class Contents extends Component {
  • ))}
+ {this.state.linksAndReferencesViewLink && ( + + + + )} ) : null} @@ -2268,7 +2295,7 @@ export default compose( asyncConnect([ { key: 'actions', - // Dispatch async/await to make the operation syncronous, otherwise it returns + // Dispatch async/await to make the operation synchronous, otherwise it returns // before the promise is resolved promise: async ({ location, store: { dispatch } }) => await dispatch(listActions(getBaseUrl(location.pathname))), From fb4b52e182809a9904b9a1506acacc2325b3e05b Mon Sep 17 00:00:00 2001 From: Roel Bruggink Date: Mon, 9 Oct 2023 11:36:43 +0200 Subject: [PATCH 09/10] yarn run i18n --- locales/ca/LC_MESSAGES/volto.po | 5 +++++ locales/de/LC_MESSAGES/volto.po | 5 +++++ locales/en/LC_MESSAGES/volto.po | 5 +++++ locales/es/LC_MESSAGES/volto.po | 5 +++++ locales/eu/LC_MESSAGES/volto.po | 5 +++++ locales/fi/LC_MESSAGES/volto.po | 5 +++++ locales/fr/LC_MESSAGES/volto.po | 5 +++++ locales/it/LC_MESSAGES/volto.po | 5 +++++ locales/ja/LC_MESSAGES/volto.po | 5 +++++ locales/nl/LC_MESSAGES/volto.po | 5 +++++ locales/pt/LC_MESSAGES/volto.po | 5 +++++ locales/pt_BR/LC_MESSAGES/volto.po | 5 +++++ locales/ro/LC_MESSAGES/volto.po | 5 +++++ locales/volto.pot | 7 ++++++- locales/zh_CN/LC_MESSAGES/volto.po | 5 +++++ 15 files changed, 76 insertions(+), 1 deletion(-) diff --git a/locales/ca/LC_MESSAGES/volto.po b/locales/ca/LC_MESSAGES/volto.po index 3a31d46e7d..f3d3edb93a 100644 --- a/locales/ca/LC_MESSAGES/volto.po +++ b/locales/ca/LC_MESSAGES/volto.po @@ -4106,6 +4106,11 @@ msgstr "veure" msgid "View changes" msgstr "Veure els canvis" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/de/LC_MESSAGES/volto.po b/locales/de/LC_MESSAGES/volto.po index 13a00fd7f0..84ba8d9887 100644 --- a/locales/de/LC_MESSAGES/volto.po +++ b/locales/de/LC_MESSAGES/volto.po @@ -4103,6 +4103,11 @@ msgstr "Anzeigen" msgid "View changes" msgstr "Änderungen anzeigen" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/en/LC_MESSAGES/volto.po b/locales/en/LC_MESSAGES/volto.po index 2f8e6d9ba8..7e4344a1fb 100644 --- a/locales/en/LC_MESSAGES/volto.po +++ b/locales/en/LC_MESSAGES/volto.po @@ -4097,6 +4097,11 @@ msgstr "" msgid "View changes" msgstr "" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/es/LC_MESSAGES/volto.po b/locales/es/LC_MESSAGES/volto.po index 752bc5fc85..5b17e0dbd6 100644 --- a/locales/es/LC_MESSAGES/volto.po +++ b/locales/es/LC_MESSAGES/volto.po @@ -4108,6 +4108,11 @@ msgstr "Ver" msgid "View changes" msgstr "Mostrar los cambios" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/eu/LC_MESSAGES/volto.po b/locales/eu/LC_MESSAGES/volto.po index 1a6faf8fe5..4c2ea10da7 100644 --- a/locales/eu/LC_MESSAGES/volto.po +++ b/locales/eu/LC_MESSAGES/volto.po @@ -4104,6 +4104,11 @@ msgstr "Ikusi" msgid "View changes" msgstr "Aldaketak ikusi" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/fi/LC_MESSAGES/volto.po b/locales/fi/LC_MESSAGES/volto.po index ea22b242f0..ddb227b866 100644 --- a/locales/fi/LC_MESSAGES/volto.po +++ b/locales/fi/LC_MESSAGES/volto.po @@ -4108,6 +4108,11 @@ msgstr "Näytä" msgid "View changes" msgstr "Näytä muutokset" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/fr/LC_MESSAGES/volto.po b/locales/fr/LC_MESSAGES/volto.po index c6cce1ca31..4cba5dc88b 100644 --- a/locales/fr/LC_MESSAGES/volto.po +++ b/locales/fr/LC_MESSAGES/volto.po @@ -4114,6 +4114,11 @@ msgstr "Vue" msgid "View changes" msgstr "Voir les changements" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/it/LC_MESSAGES/volto.po b/locales/it/LC_MESSAGES/volto.po index 39e80366ff..0f6e7c02f7 100644 --- a/locales/it/LC_MESSAGES/volto.po +++ b/locales/it/LC_MESSAGES/volto.po @@ -4097,6 +4097,11 @@ msgstr "Visualizza" msgid "View changes" msgstr "Mostra le modifiche" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/ja/LC_MESSAGES/volto.po b/locales/ja/LC_MESSAGES/volto.po index f76f744200..cf3718cbc9 100644 --- a/locales/ja/LC_MESSAGES/volto.po +++ b/locales/ja/LC_MESSAGES/volto.po @@ -4105,6 +4105,11 @@ msgstr "表示" msgid "View changes" msgstr "表示" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/nl/LC_MESSAGES/volto.po b/locales/nl/LC_MESSAGES/volto.po index 1d6c4ba278..8e7650a3a4 100644 --- a/locales/nl/LC_MESSAGES/volto.po +++ b/locales/nl/LC_MESSAGES/volto.po @@ -4116,6 +4116,11 @@ msgstr "Bekijken" msgid "View changes" msgstr "Bekijk wijzigingen" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/pt/LC_MESSAGES/volto.po b/locales/pt/LC_MESSAGES/volto.po index 26b9b00234..11823cee15 100644 --- a/locales/pt/LC_MESSAGES/volto.po +++ b/locales/pt/LC_MESSAGES/volto.po @@ -4105,6 +4105,11 @@ msgstr "Ver" msgid "View changes" msgstr "Ver modificações" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/pt_BR/LC_MESSAGES/volto.po b/locales/pt_BR/LC_MESSAGES/volto.po index ec1298d053..c2ffa3f7a8 100644 --- a/locales/pt_BR/LC_MESSAGES/volto.po +++ b/locales/pt_BR/LC_MESSAGES/volto.po @@ -4107,6 +4107,11 @@ msgstr "Visão" msgid "View changes" msgstr "Ver mudanças" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/ro/LC_MESSAGES/volto.po b/locales/ro/LC_MESSAGES/volto.po index f9c5f11bc9..fdf65c0d5f 100644 --- a/locales/ro/LC_MESSAGES/volto.po +++ b/locales/ro/LC_MESSAGES/volto.po @@ -4097,6 +4097,11 @@ msgstr "Vizualizare" msgid "View changes" msgstr "Vizualizare modificări" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/volto.pot b/locales/volto.pot index 5595bd25fa..de8180098c 100644 --- a/locales/volto.pot +++ b/locales/volto.pot @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: Plone\n" -"POT-Creation-Date: 2023-10-09T08:07:49.447Z\n" +"POT-Creation-Date: 2023-10-09T09:36:27.737Z\n" "Last-Translator: Plone i18n \n" "Language-Team: Plone i18n \n" "MIME-Version: 1.0\n" @@ -4103,6 +4103,11 @@ msgstr "" msgid "View changes" msgstr "" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" diff --git a/locales/zh_CN/LC_MESSAGES/volto.po b/locales/zh_CN/LC_MESSAGES/volto.po index ba5990a07f..91748b7e32 100644 --- a/locales/zh_CN/LC_MESSAGES/volto.po +++ b/locales/zh_CN/LC_MESSAGES/volto.po @@ -4103,6 +4103,11 @@ msgstr "" msgid "View changes" msgstr "" +#: components/manage/Contents/Contents +# defaultMessage: View links and references to this item +msgid "View links and references to this item" +msgstr "" + #: components/manage/History/History # defaultMessage: View this revision msgid "View this revision" From c5ff9e8a429fcc954994bfd782190f2dd10befcf Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Tue, 7 Nov 2023 16:21:07 +0100 Subject: [PATCH 10/10] Remove api mrsdeveloper packages --- api/buildout.cfg | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/api/buildout.cfg b/api/buildout.cfg index d19772a9e7..6b63ef467e 100644 --- a/api/buildout.cfg +++ b/api/buildout.cfg @@ -11,15 +11,13 @@ versions = versions extensions = mr.developer auto-checkout = - plone.restapi - plone.app.linkintegrity always-checkout = force show-picked-versions = true [sources] plone.volto = git https://github.com/plone/plone.volto.git branch=main plone.rest = git git@github.com:plone/plone.rest.git branch=main -plone.restapi = git https://github.com/plone/plone.restapi.git pushurl=git@github.com:plone/plone.restapi.git branch=distinct-breaches +plone.restapi = git https://github.com/plone/plone.restapi.git pushurl=git@github.com:plone/plone.restapi.git branch=main plone.app.linkintegrity = git https://github.com/plone/plone.app.linkintegrity.git pushurl=git@github.com:plone/plone.app.linkintegrity.git branch=master [instance]