diff --git a/scm-core/src/main/java/sonia/scm/plugin/PluginManager.java b/scm-core/src/main/java/sonia/scm/plugin/PluginManager.java index 964ebf605b..f0719226ce 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/PluginManager.java +++ b/scm-core/src/main/java/sonia/scm/plugin/PluginManager.java @@ -94,5 +94,13 @@ public interface PluginManager { */ void executePendingAndRestart(); + /** + * Cancel all pending plugins. + */ void cancelPending(); + + /** + * Update all installed plugins. + */ + void updateAll(boolean restartAfterInstallation); } diff --git a/scm-ui/public/locales/de/admin.json b/scm-ui/public/locales/de/admin.json index d4f3567059..3da907eb02 100644 --- a/scm-ui/public/locales/de/admin.json +++ b/scm-ui/public/locales/de/admin.json @@ -30,6 +30,8 @@ "availableNavLink": "Verfügbar" }, "executePending": "Ausstehende Plugin-Änderungen ausführen", + "updateAll": "Alle Plugins aktualisieren", + "cancelPending": "Ausstehende Plugin-Änderungen abbrechen", "noPlugins": "Keine Plugins gefunden.", "modal": { "title": { diff --git a/scm-ui/public/locales/en/admin.json b/scm-ui/public/locales/en/admin.json index c23a88a920..245d048684 100644 --- a/scm-ui/public/locales/en/admin.json +++ b/scm-ui/public/locales/en/admin.json @@ -30,6 +30,8 @@ "availableNavLink": "Available" }, "executePending": "Execute pending plugin changes", + "updateAll": "Update all plugins", + "cancelPending": "Cancel pending plugin changes", "noPlugins": "No plugins found.", "modal": { "title": { diff --git a/scm-ui/public/locales/es/admin.json b/scm-ui/public/locales/es/admin.json index db9fade43c..155313ed99 100644 --- a/scm-ui/public/locales/es/admin.json +++ b/scm-ui/public/locales/es/admin.json @@ -30,6 +30,8 @@ "availableNavLink": "Disponibles" }, "executePending": "Ejecutar los complementos pendientes", + "updateAll": "Actualizar todos los complementos", + "cancelPending": "Cancelar los complementos pendientes", "noPlugins": "No se han encontrado complementos.", "modal": { "title": { diff --git a/scm-ui/src/admin/plugins/components/MultiPluginActionModal.js b/scm-ui/src/admin/plugins/components/MultiPluginActionModal.js index 24a0f0d982..3c543bf5c2 100644 --- a/scm-ui/src/admin/plugins/components/MultiPluginActionModal.js +++ b/scm-ui/src/admin/plugins/components/MultiPluginActionModal.js @@ -155,13 +155,14 @@ class MultiPluginActionModal extends React.Component { }; renderUpdatable = () => { - const { installedPlugins } = this.props; + const {installedPlugins, t} = this.props; return ( <> {installedPlugins && installedPlugins._embedded && installedPlugins._embedded.plugins && ( <> + {t("plugins.modal.updateQueue")}