invited_ctrl.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import coreModule from '../core_module';
  2. import config from 'app/core/config';
  3. export class InvitedCtrl {
  4. /** @ngInject */
  5. constructor($scope, $routeParams, contextSrv, backendSrv) {
  6. contextSrv.sidemenu = false;
  7. $scope.formModel = {};
  8. $scope.navModel = {
  9. main: {
  10. icon: 'gicon gicon-branding',
  11. subTitle: 'Register your Grafana account',
  12. breadcrumbs: [{ title: 'Login', url: '/login' }, { title: 'Invite' }],
  13. },
  14. };
  15. $scope.init = function() {
  16. backendSrv
  17. .get('/api/user/invite/' + $routeParams.code)
  18. .then(function(invite) {
  19. $scope.formModel.name = invite.name;
  20. $scope.formModel.email = invite.email;
  21. $scope.formModel.username = invite.email;
  22. $scope.formModel.inviteCode = $routeParams.code;
  23. $scope.greeting = invite.name || invite.email || invite.username;
  24. $scope.invitedBy = invite.invitedBy;
  25. });
  26. };
  27. $scope.submit = function() {
  28. if (!$scope.inviteForm.$valid) {
  29. return;
  30. }
  31. backendSrv
  32. .post('/api/user/invite/complete', $scope.formModel)
  33. .then(function() {
  34. window.location.href = config.appSubUrl + '/';
  35. });
  36. };
  37. $scope.init();
  38. }
  39. }
  40. coreModule.controller('InvitedCtrl', InvitedCtrl);