admin/ui: Split settings page into sync and settings pages

This commit is contained in:
nemunaire 2022-05-19 21:15:25 +02:00
parent 70bad90756
commit 9fe66c563b
6 changed files with 211 additions and 164 deletions

View file

@ -13,6 +13,10 @@ angular.module("FICApp", ["ngRoute", "ngResource", "ngSanitize"])
controller: "ExerciceController",
templateUrl: "views/exercice.html"
})
.when("/sync", {
controller: "SyncController",
templateUrl: "views/sync.html"
})
.when("/settings", {
controller: "SettingsController",
templateUrl: "views/settings.html"
@ -499,7 +503,7 @@ angular.module("FICApp")
$scope.monitor = Monitor.get();
})
.controller("SettingsController", function($scope, $rootScope, Settings, SettingsChallenge, ROSettings, $location, $http, $interval) {
.controller("SettingsController", function($scope, $rootScope, Settings, SettingsChallenge, $location, $http, $interval) {
$scope.displayDangerousActions = false;
$scope.config = Settings.get();
$scope.config.$promise.then(function(response) {
@ -509,7 +513,6 @@ angular.module("FICApp")
$rootScope.settings.generation = new Date(response.generation);
$rootScope.settings.activateTime = new Date(response.activateTime);
})
$scope.configro = ROSettings.get();
$scope.challenge = SettingsChallenge.get();
$scope.duration = 360;
@ -520,34 +523,6 @@ angular.module("FICApp")
$scope.config.unlockedChallengeDepth = -1;
};
var needRefreshSyncReportWhenReady = false;
var refreshSyncReport = function() {
needRefreshSyncReportWhenReady = false;
$http.get("full_import_report.json").then(function(response) {
$scope.syncReport = response.data;
})
};
refreshSyncReport()
var progressInterval = $interval(function() {
$http.get("api/sync/deep").then(function(response) {
if (response.data.progress && response.data.progress != 255)
needRefreshSyncReportWhenReady = true;
else if (needRefreshSyncReportWhenReady)
refreshSyncReport();
if (response.data && response.data.progress)
$scope.syncProgress = Math.floor(response.data.progress * 100 / 255) + " %";
else
$scope.syncProgress = response.data;
}, function(response) {
if (response.data && response.data.errmsg)
$scope.syncProgress = response.data.errmsg;
else
$scope.syncProgress = response.data;
})
}, 1500);
$scope.$on('$destroy', function () { $interval.cancel(progressInterval); });
$scope.saveChallengeInfo = function() {
this.challenge.$update(function(response) {
$scope.addToast('success', 'Infos du challenge mises à jour avec succès !');
@ -621,6 +596,40 @@ angular.module("FICApp")
}
});
};
})
.controller("SyncController", function($scope, $rootScope, ROSettings, $location, $http, $interval) {
$scope.displayDangerousActions = false;
$scope.configro = ROSettings.get();
var needRefreshSyncReportWhenReady = false;
var refreshSyncReport = function() {
needRefreshSyncReportWhenReady = false;
$http.get("full_import_report.json").then(function(response) {
$scope.syncReport = response.data;
})
};
refreshSyncReport()
var progressInterval = $interval(function() {
$http.get("api/sync/deep").then(function(response) {
if (response.data.progress && response.data.progress != 255)
needRefreshSyncReportWhenReady = true;
else if (needRefreshSyncReportWhenReady)
refreshSyncReport();
if (response.data && response.data.progress)
$scope.syncProgress = Math.floor(response.data.progress * 100 / 255) + " %";
else
$scope.syncProgress = response.data;
}, function(response) {
if (response.data && response.data.errmsg)
$scope.syncProgress = response.data.errmsg;
else
$scope.syncProgress = response.data;
})
}, 1500);
$scope.$on('$destroy', function () { $interval.cancel(progressInterval); });
$scope.deepSyncInProgress = false;
$scope.deepSync = function(theme) {
if (theme) {