signup_ctrl.ts 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. ///<reference path="../../headers/common.d.ts" />
  2. import config from 'app/core/config';
  3. import coreModule from '../core_module';
  4. export class SignUpCtrl {
  5. /** @ngInject */
  6. constructor(private $scope: any, private backendSrv: any, $location: any, contextSrv: any) {
  7. contextSrv.sidemenu = false;
  8. $scope.ctrl = this;
  9. $scope.formModel = {};
  10. var params = $location.search();
  11. $scope.formModel.orgName = params.email;
  12. $scope.formModel.email = params.email;
  13. $scope.formModel.username = params.email;
  14. $scope.formModel.code = params.code;
  15. $scope.verifyEmailEnabled = false;
  16. $scope.autoAssignOrg = false;
  17. $scope.navModel = {
  18. main: {
  19. icon: 'gicon gicon-branding',
  20. subTitle: 'Register your Grafana account',
  21. breadcrumbs: [{ title: 'Login', url: '/login' }, { title: 'Sign Up' }],
  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);