signup_ctrl.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. subTitle: 'Register your Grafana account',
  20. breadcrumbs: [{ title: 'Login', url: 'login' }, { title: 'Sign Up' }],
  21. },
  22. };
  23. backendSrv.get('/api/user/signup/options').then(options => {
  24. $scope.verifyEmailEnabled = options.verifyEmailEnabled;
  25. $scope.autoAssignOrg = options.autoAssignOrg;
  26. });
  27. }
  28. submit() {
  29. if (!this.$scope.signUpForm.$valid) {
  30. return;
  31. }
  32. this.backendSrv.post('/api/user/signup/step2', this.$scope.formModel).then(rsp => {
  33. if (rsp.code === 'redirect-to-select-org') {
  34. window.location.href = config.appSubUrl + '/profile/select-org?signup=1';
  35. } else {
  36. window.location.href = config.appSubUrl + '/';
  37. }
  38. });
  39. }
  40. }
  41. coreModule.controller('SignUpCtrl', SignUpCtrl);