diff --git a/public/src/admin/extend/plugins.js b/public/src/admin/extend/plugins.js index c12e9f02d7..5a70d29a41 100644 --- a/public/src/admin/extend/plugins.js +++ b/public/src/admin/extend/plugins.js @@ -186,22 +186,7 @@ define('admin/extend/plugins', function() { return app.alertError(err.message); } - var targetList = (pluginData.installed ? 'installed' : 'download'), - otherList = (pluginData.installed ? 'download' : 'installed'), - payload = {}; - - payload[targetList] = pluginData; - templates.parse('admin/partials/' + targetList + '_plugin_item', payload, function(html) { - var pluginList = $('ul.' + targetList); - - pluginList.append(html); - $('ul.' + otherList).find('li[data-plugin-id="' + pluginID + '"]').slideUp('slow', function() { - $(this).remove(); - $('html,body').animate({ - scrollTop: pluginList.find('li').last().offset().top - 48 - }, 1000); - }); - }); + ajaxify.refresh(); app.alert({ alert_id: 'plugin_toggled', diff --git a/src/plugins.js b/src/plugins.js index 138948374c..c9a686d8f8 100644 --- a/src/plugins.js +++ b/src/plugins.js @@ -170,9 +170,13 @@ var fs = require('fs'), require('request')(url, { json: true }, function(err, res, body) { + if (res.statusCode === 404 || !body.payload) { + return callback(err, {}); + } + Plugins.normalise([body.payload], function(err, normalised) { normalised = normalised.filter(function(plugin) { - return plugin.id = id; + return plugin.id === id; }); return callback(err, !err ? normalised[0] : undefined); });