invited_ctrl.ts 1.2 KB

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