From 69d68fbe8e2f9771a9542d11bdaf10b129a04fcf Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 2 Oct 2015 12:15:07 +0200 Subject: [PATCH] Reload the page when an app needs an update after being enabled --- settings/ajax/enableapp.php | 5 +++-- settings/js/apps.js | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/settings/ajax/enableapp.php b/settings/ajax/enableapp.php index 55298430e2..af80193ebc 100644 --- a/settings/ajax/enableapp.php +++ b/settings/ajax/enableapp.php @@ -28,8 +28,9 @@ OCP\JSON::callCheck(); $groups = isset($_POST['groups']) ? (array)$_POST['groups'] : null; try { - OC_App::enable(OC_App::cleanAppId((string)$_POST['appid']), $groups); - OC_JSON::success(); + $app = OC_App::cleanAppId((string)$_POST['appid']); + OC_App::enable($app, $groups); + OC_JSON::success(['data' => ['update_required' => \OC_App::shouldUpgrade($app)]]); } catch (Exception $e) { \OCP\Util::writeLog('core', $e->getMessage(), \OCP\Util::ERROR); OC_JSON::error(array("data" => array("message" => $e->getMessage()) )); diff --git a/settings/js/apps.js b/settings/js/apps.js index f775ecad62..2a6876c53d 100644 --- a/settings/js/apps.js +++ b/settings/js/apps.js @@ -245,6 +245,14 @@ OC.Settings.Apps = OC.Settings.Apps || { element.val(t('settings','Enable')); appItem.addClass('appwarning'); } else { + if (result.data.update_required) { + OC.Notification.show(t('settings', 'The app needs to be updated, please reload the page')); + + setTimeout(function() { + location.reload(); + }, 5000); + } + OC.Settings.Apps.rebuildNavigation(); appItem.data('active',true); element.data('active',true);