Browse Source

Home dashboard per user per org works

utkarshcmu 10 years ago
parent
commit
4fbe954a79
2 changed files with 19 additions and 5 deletions
  1. 1 1
      pkg/api/api.go
  2. 18 4
      public/app/core/routes/dashboard_loaders.js

+ 1 - 1
pkg/api/api.go

@@ -162,7 +162,7 @@ func Register(r *macaron.Macaron) {
 
 		// Preferences
 		r.Group("/preferences", func() {
-			r.Get("/", wrap(GetPreferences))
+			r.Get("/", GetPreferences)
 			r.Put("/", bind(m.SavePreferencesCommand{}), wrap(SavePreferences))
 			r.Post("/set-home-dash", bind(m.SavePreferencesCommand{}), wrap(SetHomeDashboard))
 		})

+ 18 - 4
public/app/core/routes/dashboard_loaders.js

@@ -7,11 +7,25 @@ function (coreModule) {
   coreModule.default.controller('LoadDashboardCtrl', function($scope, $routeParams, dashboardLoaderSrv, backendSrv) {
 
     if (!$routeParams.slug) {
-      backendSrv.get('/api/dashboards/home').then(function(result) {
-        var meta = result.meta;
-        meta.canSave = meta.canShare = meta.canStar = false;
-        $scope.initDashboard(result, $scope);
+
+      backendSrv.get('/api/preferences').then(function(preferences) {
+        if (preferences !== null && preferences.homeDashboardId !== 0) {
+          backendSrv.get('/api/dashboards/id/' + preferences.homeDashboardId).then(function(dashSlug) {
+            $routeParams.type = 'db';
+            $routeParams.slug = dashSlug.slug;
+            dashboardLoaderSrv.loadDashboard($routeParams.type, $routeParams.slug).then(function(result) {
+              $scope.initDashboard(result, $scope);
+            });
+          });
+        } else {
+          backendSrv.get('/api/dashboards/home').then(function(result) {
+            var meta = result.meta;
+            meta.canSave = meta.canShare = meta.canStar = false;
+            $scope.initDashboard(result, $scope);
+          });
+        }
       });
+
       return;
     }