diff --git a/src/views/app.html b/src/views/app.html index 22e6e9ecf..d38a0c5ea 100644 --- a/src/views/app.html +++ b/src/views/app.html @@ -419,27 +419,13 @@

Updates

-
-
-
-
-
- - -
- - -
-
-
-
- Saved + +
-
- +
@@ -448,25 +434,59 @@
-
-
-
- - -
+ + - -
-
+ + + + + + + + + + + + + + + + + + + + +
 CreatedVersionActions
This app has no backups yet.
{{ backup.creationTime | prettyDate }}v{{ backup.version }} + + + + +
+
- Saved +
+
+
+
+
{{ app.message }}
+
-
- + +
+
+
+
+
+ + +
+
+
@@ -475,8 +495,8 @@
- - + + Terminal Logs
diff --git a/src/views/app.js b/src/views/app.js index f2250963e..099d0c199 100644 --- a/src/views/app.js +++ b/src/views/app.js @@ -53,22 +53,6 @@ angular.module('Application').controller('AppController', ['$scope', '$location' $scope.backupsEnabled = true; $scope.disableIndexingTemplate = '# Disable search engine indexing\n\nUser-agent: *\nDisallow: /'; - $scope.stopAppTask = function (taskId) { - Client.stopTask(taskId, function (error) { - if (error) Client.error(error); - }); - }; - - $scope.restartApp = function () { - $scope.appIsRestarting = true; - - Client.restartApp($scope.app.id, function (error) { - if (error) Client.error(error); - - $scope.appIsRestarting = false; - }); - }; - $scope.scrollTo = function (elemId) { var elem = document.getElementById(elemId); elem.scrollIntoView(); @@ -394,12 +378,14 @@ angular.module('Application').controller('AppController', ['$scope', '$location' error: {}, success: false, + currentEnableAutomaticUpdate: false, enableAutomaticUpdate: false, show: function () { var app = $scope.app; $scope.updates.enableAutomaticUpdate = app.enableAutomaticUpdate; + $scope.updates.currentEnableAutomaticUpdate = app.enableAutomaticUpdate; }, submit: function () { @@ -409,6 +395,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location' Client.configureApp($scope.app.id, 'automatic_update', { enable: $scope.updates.enableAutomaticUpdate }, function (error) { if (error) return Client.error(error); + $scope.updates.currentEnableAutomaticUpdate = $scope.updates.enableAutomaticUpdate; $scope.updates.success = true; $scope.updates.busy = false; }); @@ -419,13 +406,43 @@ angular.module('Application').controller('AppController', ['$scope', '$location' busy: false, error: {}, success: false, + copyBackupIdDone: false, + currentEnableBackup: false, enableBackup: false, + backups: [], + + copyBackupId: function (backup) { + var copyText = document.getElementById('backupIdHelper'); + copyText.value = backup.id; + copyText.select(); + document.execCommand('copy'); + + $scope.backups.copyBackupIdDone = true; + + // reset after 2.5sec + $timeout(function () { $scope.backups.copyBackupIdDone = false; }, 2500); + }, + + createBackup: function () { + Client.backupApp($scope.app.id, function (error) { + if (error) Client.error(error); + + trackAppTask(); + }); + }, show: function () { var app = $scope.app; + $scope.backups.currentEnableBackup = app.enableBackup; $scope.backups.enableBackup = app.enableBackup; + + Client.getAppBackups(app.id, function (error, backups) { + if (error) return Client.error(error); + + $scope.backups.backups = backups; + }); }, submit: function () { @@ -435,9 +452,20 @@ angular.module('Application').controller('AppController', ['$scope', '$location' Client.configureApp($scope.app.id, 'automatic_backup', { enable: $scope.backups.enableBackup }, function (error) { if (error) return Client.error(error); + $scope.backups.currentEnableBackup = $scope.backups.enableBackup; $scope.backups.success = true; $scope.backups.busy = false; }); + }, + + restore: function (backup) { + Client.restoreApp($scope.app.id, backup.id, function (error) { + if (error) return Client.error(error); + + backup.ackRestore = false; + + trackAppTask(); + }); } }; @@ -468,6 +496,25 @@ angular.module('Application').controller('AppController', ['$scope', '$location' } }; + $scope.debug = { + stopAppTask: function (taskId) { + Client.stopTask(taskId, function (error) { + // we can ignore a call trying to cancel an already done task + if (error && error.statusCode !== 409) Client.error(error); + }); + }, + + restartApp: function () { + $scope.appIsRestarting = true; + + Client.restartApp($scope.app.id, function (error) { + if (error) Client.error(error); + + $scope.appIsRestarting = false; + }); + } + }; + function fetchUsers(callback) { Client.getUsers(function (error, users) { if (error) return callback(error); diff --git a/src/views/apps.html b/src/views/apps.html index f9a1e2f81..726b84e32 100644 --- a/src/views/apps.html +++ b/src/views/apps.html @@ -1,62 +1,4 @@ - - -