diff options
-rw-r--r-- | settings/ajax/enableapp.php | 5 | ||||
-rw-r--r-- | 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 55298430e28..af80193ebc4 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 f775ecad620..2a6876c53df 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); |