signup_ctrl.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import config from 'app/core/config';
  2. import coreModule from '../core_module';
  3. export class SignUpCtrl {
  4. /** @ngInject */
  5. constructor(private $scope: any, private backendSrv: any, $location: any, contextSrv: any) {
  6. contextSrv.sidemenu = false;
  7. $scope.ctrl = this;
  8. $scope.formModel = {};
  9. var params = $location.search();
  10. $scope.formModel.orgName = params.email;
  11. $scope.formModel.email = params.email;
  12. $scope.formModel.username = params.email;
  13. $scope.formModel.code = params.code;
  14. $scope.verifyEmailEnabled = false;
  15. $scope.autoAssignOrg = false;
  16. $scope.navModel = {
  17. main: {
  18. icon: 'gicon gicon-branding',
  19. text: 'Sign Up',
  20. subTitle: 'Register your Grafana account',
  21. breadcrumbs: [{ title: 'Login', url: 'login' }],
  22. },
  23. };
  24. backendSrv.get('/api/user/signup/options').then(options => {
  25. $scope.verifyEmailEnabled = options.verifyEmailEnabled;
  26. $scope.autoAssignOrg = options.autoAssignOrg;
  27. });
  28. }
  29. submit() {
  30. if (!this.$scope.signUpForm.$valid) {
  31. return;
  32. }
  33. this.backendSrv.post('/api/user/signup/step2', this.$scope.formModel).then(rsp => {
  34. if (rsp.code === 'redirect-to-select-org') {
  35. window.location.href = config.appSubUrl + '/profile/select-org?signup=1';
  36. } else {
  37. window.location.href = config.appSubUrl + '/';
  38. }
  39. });
  40. }
  41. }
  42. coreModule.controller('SignUpCtrl', SignUpCtrl);