summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--settings/ajax/enableapp.php5
-rw-r--r--settings/js/apps.js8
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);