diff --git a/packages/strapi-admin/admin/src/containers/ListPluginsPage/saga.js b/packages/strapi-admin/admin/src/containers/ListPluginsPage/saga.js index 5580d90a9a..5ca3a829ee 100644 --- a/packages/strapi-admin/admin/src/containers/ListPluginsPage/saga.js +++ b/packages/strapi-admin/admin/src/containers/ListPluginsPage/saga.js @@ -20,7 +20,8 @@ export function* deletePlugin() { } } catch(error) { - console.log(error); + yield put(deletePluginSucceeded()); + window.Strapi.notification.error('app.components.listPluginsPage.deletePlugin.error'); } } // Individual exports for testing diff --git a/packages/strapi-admin/admin/src/translations/en.json b/packages/strapi-admin/admin/src/translations/en.json index 038b8e1aa0..3577a15f69 100755 --- a/packages/strapi-admin/admin/src/translations/en.json +++ b/packages/strapi-admin/admin/src/translations/en.json @@ -18,6 +18,7 @@ "app.components.ListPluginsPage.helmet.title": "List plugins", "app.components.ListPluginsPage.title": "Plugins", "app.components.ListPluginsPage.description": "List of the installed plugins in the project.", + "app.components.listPluginsPage.deletePlugin.error": "An error occurred during the plugin uninstallation", "app.components.listPlugins.title.singular": "{number} plugin is installed", "app.components.listPlugins.title.plural": "{number} plugins are installed", "app.components.listPlugins.title.none": "No plugin is installed", diff --git a/packages/strapi-admin/admin/src/translations/fr.json b/packages/strapi-admin/admin/src/translations/fr.json index d8990159fb..6ff542e03e 100755 --- a/packages/strapi-admin/admin/src/translations/fr.json +++ b/packages/strapi-admin/admin/src/translations/fr.json @@ -18,6 +18,7 @@ "app.components.ListPluginsPage.helmet.title": "List plugins", "app.components.ListPluginsPage.title": "Plugins", "app.components.ListPluginsPage.description": "Liste des plugins installés dans le projet.", + "app.components.listPluginsPage.deletePlugin.error": "Une erreur est survenue pendant la désintallation", "app.components.listPlugins.title.singular": "{number} est disponible", "app.components.listPlugins.title.plural": "{number} sont disponibles", "app.components.listPlugins.title.none": "Aucun plugin n'est installé", diff --git a/packages/strapi-admin/controllers/Admin.js b/packages/strapi-admin/controllers/Admin.js index 1f861a40ce..a9e28c8435 100755 --- a/packages/strapi-admin/controllers/Admin.js +++ b/packages/strapi-admin/controllers/Admin.js @@ -2,6 +2,7 @@ const fs = require('fs'); const path = require('path'); +const exec = require('child_process').execSync; /** * A set of functions called "actions" for `Admin` @@ -45,9 +46,17 @@ module.exports = { uninstallPlugin: async ctx => { try { const { plugin } = ctx.params; - console.log('plugin', plugin); + + strapi.reload.isWatching = false; + + strapi.log.info(`Uninstalling ${plugin}...`); + exec(`strapi uninstall ${plugin}`); + ctx.send({ ok: true }); + + strapi.reload(); } catch(err) { + strapi.reload.isWatching = true; ctx.badRequest(null, [{ messages: [{ id: 'An error occured' }] }]); } }