From 5ff15f27b742e8a9c42a85ba60fc7ba3adee535d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 21 Aug 2014 11:16:22 +0200 Subject: [PATCH 1/6] Merge --- src/app/panels/overview/module.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/panels/overview/module.js b/src/app/panels/overview/module.js index 0a3521a0566..66e349875bc 100644 --- a/src/app/panels/overview/module.js +++ b/src/app/panels/overview/module.js @@ -2,7 +2,7 @@ define([ 'angular', 'app', 'lodash', - '../graph/timeSeries', + 'components/timeSeries', 'services/panelSrv', ], function (angular, app, _, timeSeries) { From 37e19cee203ea68b34f5f3d67b947bc99a33919d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 21 Aug 2014 11:18:49 +0200 Subject: [PATCH 2/6] fixed jshint error --- src/app/routes/p_solo-panel.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/app/routes/p_solo-panel.js b/src/app/routes/p_solo-panel.js index 7493ab4813b..6f766e31698 100644 --- a/src/app/routes/p_solo-panel.js +++ b/src/app/routes/p_solo-panel.js @@ -1,8 +1,7 @@ define([ 'angular', - 'lodash', ], -function (angular, _) { +function (angular) { "use strict"; var module = angular.module('grafana.routes'); From 06de80f2a764b76df6047fc4700c74aaf5734521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 21 Aug 2014 22:09:26 +0200 Subject: [PATCH 3/6] updated --- src/app/services/grafana/grafanaDatasource.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/app/services/grafana/grafanaDatasource.js b/src/app/services/grafana/grafanaDatasource.js index 21518f95a0e..3a519208ac1 100644 --- a/src/app/services/grafana/grafanaDatasource.js +++ b/src/app/services/grafana/grafanaDatasource.js @@ -42,6 +42,11 @@ function (angular) { }; GrafanaDatasource.prototype.saveDashboard = function(dashboard) { + // remove id if title has changed + if (dashboard.title !== dashboard.originalTitle) { + dashboard.id = null; + } + return $http.post('/api/dashboard/', { dashboard: dashboard }) .then(function() { return { title: dashboard.title, url: '/dashboard/db/' + dashboard.title }; From 359bca06344870b3c48e028cbe237998d27e1130 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Fri, 22 Aug 2014 13:25:22 +0200 Subject: [PATCH 4/6] save/load dashboard update --- src/app/routes/p_dashboard.js | 3 ++- src/app/services/grafana/grafanaDatasource.js | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/app/routes/p_dashboard.js b/src/app/routes/p_dashboard.js index 08c729c2a8c..ef5da131e2f 100644 --- a/src/app/routes/p_dashboard.js +++ b/src/app/routes/p_dashboard.js @@ -13,7 +13,7 @@ function (angular) { controller : 'DashFromDBProvider', reloadOnSearch: false, }) - .when('/dashboard/db/:id', { + .when('/dashboard/:id', { templateUrl: '/app/partials/dashboard.html', controller : 'DashFromDBProvider', reloadOnSearch: false, @@ -38,6 +38,7 @@ function (angular) { $scope.emitAppEvent('setup-dashboard', dashboard); }).then(null, function(error) { alertSrv.set('Error', error, 'error'); + $scope.emitAppEvent('setup-dashboard', {}); }); }); diff --git a/src/app/services/grafana/grafanaDatasource.js b/src/app/services/grafana/grafanaDatasource.js index 3a519208ac1..9b83e4f3673 100644 --- a/src/app/services/grafana/grafanaDatasource.js +++ b/src/app/services/grafana/grafanaDatasource.js @@ -48,8 +48,8 @@ function (angular) { } return $http.post('/api/dashboard/', { dashboard: dashboard }) - .then(function() { - return { title: dashboard.title, url: '/dashboard/db/' + dashboard.title }; + .then(function(result) { + return { title: dashboard.title, url: '/dashboard/' + result.data.slug }; }, function(data) { throw "Failed to search: " + data; }); From 477f66f56bdd7f310d439ac428cb646fbb9b1949 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Fri, 22 Aug 2014 15:32:20 +0200 Subject: [PATCH 5/6] dashobard load/save work, and began register view --- src/app/partials/pro/login.html | 6 +++ src/app/partials/pro/register.html | 48 +++++++++++++++++++ src/app/routes/p_dashboard.js | 2 +- src/app/routes/p_login.js | 38 +++++++++++++++ src/app/services/grafana/grafanaDatasource.js | 2 +- 5 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 src/app/partials/pro/register.html diff --git a/src/app/partials/pro/login.html b/src/app/partials/pro/login.html index 92f1c4e8923..22340b89ffe 100644 --- a/src/app/partials/pro/login.html +++ b/src/app/partials/pro/login.html @@ -42,6 +42,12 @@ Login failed: {{loginError}} + +
+

If you do not already have an account

+ Sign up now! +

+ diff --git a/src/app/partials/pro/register.html b/src/app/partials/pro/register.html new file mode 100644 index 00000000000..3a3ffe0b456 --- /dev/null +++ b/src/app/partials/pro/register.html @@ -0,0 +1,48 @@ + +
+ + + + +
diff --git a/src/app/routes/p_dashboard.js b/src/app/routes/p_dashboard.js index ef5da131e2f..8c4b8d438de 100644 --- a/src/app/routes/p_dashboard.js +++ b/src/app/routes/p_dashboard.js @@ -13,7 +13,7 @@ function (angular) { controller : 'DashFromDBProvider', reloadOnSearch: false, }) - .when('/dashboard/:id', { + .when('/dashboard/db/:id', { templateUrl: '/app/partials/dashboard.html', controller : 'DashFromDBProvider', reloadOnSearch: false, diff --git a/src/app/routes/p_login.js b/src/app/routes/p_login.js index 127c4d47f81..e97bba49a0e 100644 --- a/src/app/routes/p_login.js +++ b/src/app/routes/p_login.js @@ -11,9 +11,47 @@ function (angular) { .when('/login', { templateUrl: 'app/partials/pro/login.html', controller : 'LoginCtrl', + }) + .when('/register', { + templateUrl: 'app/partials/pro/register.html', + controller : 'RegisterCtrl', }); }); + module.controller('RegisterCtrl', function($scope, $http, $location, $routeParams) { + $scope.loginModel = {}; + + $scope.init = function() { + if ($routeParams.logout) { + $scope.logout(); + } + }; + + $scope.register = function() { + delete $scope.registerError; + + if (!$scope.loginForm.$valid) { + return; + } + + $http.post('/api/register/user', $scope.loginModel).then(function() { + $scope.emitAppEvent('logged-in'); + $location.path('/'); + }, function(err) { + if (err.status === 401) { + $scope.registerError = "Username or password is incorrect"; + } + else { + $scope.loginError = "Unexpected error"; + } + }); + }; + + $scope.init(); + + }); + + module.controller('LoginCtrl', function($scope, $http, $location, $routeParams, alertSrv) { $scope.loginModel = {}; diff --git a/src/app/services/grafana/grafanaDatasource.js b/src/app/services/grafana/grafanaDatasource.js index 9b83e4f3673..684d0abe25f 100644 --- a/src/app/services/grafana/grafanaDatasource.js +++ b/src/app/services/grafana/grafanaDatasource.js @@ -49,7 +49,7 @@ function (angular) { return $http.post('/api/dashboard/', { dashboard: dashboard }) .then(function(result) { - return { title: dashboard.title, url: '/dashboard/' + result.data.slug }; + return { title: dashboard.title, url: '/dashboard/db/' + result.data.slug }; }, function(data) { throw "Failed to search: " + data; }); From c00384ad0644f9db7cdfa426c559d8fc3347a1d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Fri, 22 Aug 2014 18:05:51 +0200 Subject: [PATCH 6/6] work on account registration --- src/app/controllers/p_grafanaCtrl.js | 2 +- src/app/partials/pro/register.html | 7 +++++-- src/app/routes/p_login.js | 14 +++++--------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/app/controllers/p_grafanaCtrl.js b/src/app/controllers/p_grafanaCtrl.js index e9484d76d64..65bb8745195 100644 --- a/src/app/controllers/p_grafanaCtrl.js +++ b/src/app/controllers/p_grafanaCtrl.js @@ -14,7 +14,7 @@ function (angular, config, _, $, store) { $scope.grafanaVersion = grafanaVersion[0] === '@' ? 'master' : grafanaVersion; $scope.consoleEnabled = store.getBool('grafanaConsole'); - $scope.showProSideMenu = store.getBool('grafanaProSideMenu'); + //$scope.showProSideMenu = store.getBool('grafanaProSideMenu'); $rootScope.profilingEnabled = store.getBool('profilingEnabled'); $rootScope.performance = { loadStart: new Date().getTime() }; diff --git a/src/app/partials/pro/register.html b/src/app/partials/pro/register.html index 3a3ffe0b456..b6b1f94f500 100644 --- a/src/app/partials/pro/register.html +++ b/src/app/partials/pro/register.html @@ -5,7 +5,10 @@ + +
+

Account registration

@@ -31,7 +34,7 @@
- diff --git a/src/app/routes/p_login.js b/src/app/routes/p_login.js index e97bba49a0e..91f9242a300 100644 --- a/src/app/routes/p_login.js +++ b/src/app/routes/p_login.js @@ -30,20 +30,16 @@ function (angular) { $scope.register = function() { delete $scope.registerError; - if (!$scope.loginForm.$valid) { + if (!$scope.loginForm.$valid) { return; } + if ($scope.loginModel.password !== $scope.loginModel.password2) { + $scope.registerError = "Passwords do not match"; return; } $http.post('/api/register/user', $scope.loginModel).then(function() { - $scope.emitAppEvent('logged-in'); - $location.path('/'); + $location.path('/login'); }, function(err) { - if (err.status === 401) { - $scope.registerError = "Username or password is incorrect"; - } - else { - $scope.loginError = "Unexpected error"; - } + $scope.registerError = "Unexpected error: " + err; }); };