signupCtrl.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. ///<reference path="../headers/require/require.d.ts" />
  2. ///<reference path="../headers/angularjs/angularjs.d.ts" />
  3. ///<amd-dependency path="angular"/>
  4. ///<amd-dependency path="config"/>
  5. var angular = require('angular');
  6. var config = require('config');
  7. var module = angular.module('grafana.controllers');
  8. export class SignUpCtrl {
  9. constructor(
  10. private $scope : any,
  11. private $location : any,
  12. private contextSrv : any,
  13. private backendSrv : any) {
  14. contextSrv.sidemenu = false;
  15. $scope.ctrl = this;
  16. $scope.formModel = {};
  17. var params = $location.search();
  18. $scope.formModel.orgName = params.email;
  19. $scope.formModel.email = params.email;
  20. $scope.formModel.username = params.email;
  21. $scope.formModel.code = params.code;
  22. $scope.verifyEmailEnabled = false;
  23. $scope.autoAssignOrg = false;
  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. module.controller('SignUpCtrl', SignUpCtrl);