diff --git a/pkg/api/admin_settings.go b/pkg/api/admin_settings.go
new file mode 100644
index 00000000000..c126c1108c6
--- /dev/null
+++ b/pkg/api/admin_settings.go
@@ -0,0 +1,28 @@
+package api
+
+import (
+ "strings"
+
+ "github.com/grafana/grafana/pkg/middleware"
+ "github.com/grafana/grafana/pkg/setting"
+)
+
+func AdminGetSettings(c *middleware.Context) {
+ settings := make(map[string]interface{})
+
+ for _, section := range setting.Cfg.Sections() {
+ jsonSec := make(map[string]interface{})
+ settings[section.Name()] = jsonSec
+
+ for _, key := range section.Keys() {
+ keyName := key.Name()
+ value := key.Value()
+ if strings.Contains(keyName, "secret") || strings.Contains(keyName, "password") {
+ value = "************"
+ }
+ jsonSec[keyName] = value
+ }
+ }
+
+ c.JSON(200, settings)
+}
diff --git a/pkg/api/api.go b/pkg/api/api.go
index a9f6b5d5dc6..28e2ea8ab3d 100644
--- a/pkg/api/api.go
+++ b/pkg/api/api.go
@@ -30,6 +30,7 @@ func Register(r *macaron.Macaron) {
r.Get("/account/users/", reqSignedIn, Index)
r.Get("/account/apikeys/", reqSignedIn, Index)
r.Get("/account/import/", reqSignedIn, Index)
+ r.Get("/admin/settings", reqGrafanaAdmin, Index)
r.Get("/admin/users", reqGrafanaAdmin, Index)
r.Get("/admin/users/create", reqGrafanaAdmin, Index)
r.Get("/admin/users/edit/:id", reqGrafanaAdmin, Index)
@@ -94,6 +95,7 @@ func Register(r *macaron.Macaron) {
// admin api
r.Group("/api/admin", func() {
+ r.Get("/settings", AdminGetSettings)
r.Get("/users", AdminSearchUsers)
r.Get("/users/:id", AdminGetUser)
r.Post("/users", bind(dtos.AdminCreateUserForm{}), AdminCreateUser)
diff --git a/src/app/controllers/sidemenuCtrl.js b/src/app/controllers/sidemenuCtrl.js
index cb5027d3dd2..211ca4451c0 100644
--- a/src/app/controllers/sidemenuCtrl.js
+++ b/src/app/controllers/sidemenuCtrl.js
@@ -40,11 +40,6 @@ function (angular, _, $, config) {
text: "Admin", href: $scope.getUrl("/admin/users"),
icon: "fa fa-cube",
requireSignedIn: true,
- links: [
- { text: 'Settings', href: $scope.getUrl("/admin/settings")},
- { text: 'Users', href: $scope.getUrl("/admin/users"), icon: "fa fa-lock" },
- { text: 'Log', href: "", icon: "fa fa-lock" },
- ]
});
}
diff --git a/src/app/features/account/all.js b/src/app/features/account/all.js
new file mode 100644
index 00000000000..7c01d7b8c1c
--- /dev/null
+++ b/src/app/features/account/all.js
@@ -0,0 +1,7 @@
+define([
+ './accountUsersCtrl',
+ './datasourcesCtrl',
+ './apiKeysCtrl',
+ './importCtrl',
+ './accountCtrl',
+], function () {});
diff --git a/src/app/features/admin/adminCtrl.js b/src/app/features/admin/adminCtrl.js
deleted file mode 100644
index bda82618503..00000000000
--- a/src/app/features/admin/adminCtrl.js
+++ /dev/null
@@ -1,18 +0,0 @@
-define([
- 'angular',
-],
-function (angular) {
- 'use strict';
-
- var module = angular.module('grafana.controllers');
-
- module.controller('AdminCtrl', function($scope) {
-
- $scope.init = function() {
- $scope.editor = {index: 0};
- };
-
- $scope.init();
-
- });
-});
diff --git a/src/app/features/admin/adminSettingsCtrl.js b/src/app/features/admin/adminSettingsCtrl.js
new file mode 100644
index 00000000000..e04372bd6ac
--- /dev/null
+++ b/src/app/features/admin/adminSettingsCtrl.js
@@ -0,0 +1,25 @@
+define([
+ 'angular',
+],
+function (angular) {
+ 'use strict';
+
+ var module = angular.module('grafana.controllers');
+
+ module.controller('AdminSettingsCtrl', function($scope, backendSrv) {
+
+ $scope.init = function() {
+ $scope.accounts = [];
+ $scope.getUsers();
+ };
+
+ $scope.getUsers = function() {
+ backendSrv.get('/api/admin/settings').then(function(settings) {
+ $scope.settings = settings;
+ });
+ };
+
+ $scope.init();
+
+ });
+});
diff --git a/src/app/features/admin/all.js b/src/app/features/admin/all.js
new file mode 100644
index 00000000000..35f1f4f5db9
--- /dev/null
+++ b/src/app/features/admin/all.js
@@ -0,0 +1,5 @@
+define([
+ './adminUsersCtrl',
+ './adminEditUserCtrl',
+ './adminSettingsCtrl',
+], function () {});
diff --git a/src/app/features/admin/partials/admin.html b/src/app/features/admin/partials/admin.html
deleted file mode 100644
index 1198f8b5777..00000000000
--- a/src/app/features/admin/partials/admin.html
+++ /dev/null
@@ -1,10 +0,0 @@
-