mirror of
https://github.com/grafana/grafana.git
synced 2025-02-12 08:35:43 -06:00
52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
define([
|
|
'angular',
|
|
'config',
|
|
],
|
|
function (angular, config) {
|
|
'use strict';
|
|
|
|
var module = angular.module('grafana.controllers');
|
|
|
|
module.controller('ProfileCtrl', function($scope, backendSrv, contextSrv, $location) {
|
|
|
|
$scope.init = function() {
|
|
$scope.getUser();
|
|
$scope.getUserOrgs();
|
|
};
|
|
|
|
$scope.getUser = function() {
|
|
backendSrv.get('/api/user').then(function(user) {
|
|
$scope.user = user;
|
|
$scope.user.theme = user.theme || 'dark';
|
|
$scope.old_theme = $scope.user.theme;
|
|
});
|
|
};
|
|
|
|
$scope.getUserOrgs = function() {
|
|
backendSrv.get('/api/user/orgs').then(function(orgs) {
|
|
$scope.orgs = orgs;
|
|
});
|
|
};
|
|
|
|
$scope.setUsingOrg = function(org) {
|
|
backendSrv.post('/api/user/using/' + org.orgId).then(function() {
|
|
window.location.href = config.appSubUrl + '/profile';
|
|
});
|
|
};
|
|
|
|
$scope.update = function() {
|
|
if (!$scope.userForm.$valid) { return; }
|
|
|
|
backendSrv.put('/api/user/', $scope.user).then(function() {
|
|
contextSrv.user.name = $scope.user.name || $scope.user.login;
|
|
if ($scope.old_theme !== $scope.user.theme) {
|
|
window.location.href = config.appSubUrl + $location.path();
|
|
}
|
|
});
|
|
};
|
|
|
|
$scope.init();
|
|
|
|
});
|
|
});
|