diff --git a/admin/api/settings.go b/admin/api/settings.go index 31ede3b5..c0bb0fca 100644 --- a/admin/api/settings.go +++ b/admin/api/settings.go @@ -6,6 +6,7 @@ import ( "path" "time" + "srs.epita.fr/fic-server/admin/sync" "srs.epita.fr/fic-server/libfic" "srs.epita.fr/fic-server/settings" @@ -13,12 +14,24 @@ import ( ) func init() { + router.GET("/api/settings-ro.json", apiHandler(getROSettings)) router.GET("/api/settings.json", apiHandler(getSettings)) router.PUT("/api/settings.json", apiHandler(saveSettings)) router.POST("/api/reset", apiHandler(reset)) } +func getROSettings(_ httprouter.Params, body []byte) (interface{}, error) { + syncMtd := "Disabled" + if sync.GlobalImporter != nil { + syncMtd = sync.GlobalImporter.Kind() + } + + return map[string]interface{}{ + "sync": syncMtd, + }, nil +} + func getSettings(_ httprouter.Params, body []byte) (interface{}, error) { if settings.ExistsSettings(path.Join(settings.SettingsDir, settings.SettingsFile)) { return settings.ReadSettings(path.Join(settings.SettingsDir, settings.SettingsFile)) diff --git a/admin/static/js/app.js b/admin/static/js/app.js index b2f98356..bcdcedcd 100644 --- a/admin/static/js/app.js +++ b/admin/static/js/app.js @@ -68,6 +68,9 @@ angular.module("FICApp") 'update': {method: 'PUT'}, }) }) + .factory("ROSettings", function($resource) { + return $resource("/api/settings-ro.json") + }) .factory("Settings", function($resource) { return $resource("/api/settings.json", null, { 'update': {method: 'PUT'}, @@ -328,8 +331,9 @@ angular.module("FICApp") $interval(updBox, 750); }) - .controller("SettingsController", function($scope, $rootScope, Settings, $location, $http) { + .controller("SettingsController", function($scope, $rootScope, Settings, ROSettings, $location, $http) { $scope.config = Settings.get(); + $scope.configro = ROSettings.get(); $scope.duration = 240; $scope.saveSettings = function(msg) { diff --git a/admin/static/views/settings.html b/admin/static/views/settings.html index 59fe17ac..d70ac3bd 100644 --- a/admin/static/views/settings.html +++ b/admin/static/views/settings.html @@ -112,6 +112,13 @@ +
+ +
+ +
{{ configro.sync }}
+
+