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: [
  13. { title: 'Login', url: '/login' },
  14. { title: 'Invite' },
  15. ]
  16. }
  17. };
  18. $scope.init = function() {
  19. backendSrv.get('/api/user/invite/' + $routeParams.code).then(function(invite) {
  20. $scope.formModel.name = invite.name;
  21. $scope.formModel.email = invite.email;
  22. $scope.formModel.username = invite.email;
  23. $scope.formModel.inviteCode = $routeParams.code;
  24. $scope.greeting = invite.name || invite.email || invite.username;
  25. $scope.invitedBy = invite.invitedBy;
  26. });
  27. };
  28. $scope.submit = function() {
  29. if (!$scope.inviteForm.$valid) {
  30. return;
  31. }
  32. backendSrv.post('/api/user/invite/complete', $scope.formModel).then(function() {
  33. window.location.href = config.appSubUrl + '/';
  34. });
  35. };
  36. $scope.init();
  37. }
  38. }
  39. coreModule.controller('InvitedCtrl', InvitedCtrl);