signupCtrl.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. ///<reference path="../headers/common.d.ts" />
  2. import angular = require('angular');
  3. import config = require('config');
  4. var module = angular.module('grafana.controllers');
  5. export class SignUpCtrl {
  6. constructor(
  7. private $scope : any,
  8. private $location : any,
  9. private contextSrv : any,
  10. private backendSrv : any) {
  11. contextSrv.sidemenu = false;
  12. $scope.ctrl = this;
  13. $scope.formModel = {};
  14. var params = $location.search();
  15. $scope.formModel.orgName = params.email;
  16. $scope.formModel.email = params.email;
  17. $scope.formModel.username = params.email;
  18. $scope.formModel.code = params.code;
  19. $scope.verifyEmailEnabled = false;
  20. $scope.autoAssignOrg = false;
  21. backendSrv.get('/api/user/signup/options').then(options => {
  22. $scope.verifyEmailEnabled = options.verifyEmailEnabled;
  23. $scope.autoAssignOrg = options.autoAssignOrg;
  24. });
  25. }
  26. submit () {
  27. if (!this.$scope.signUpForm.$valid) {
  28. return;
  29. }
  30. this.backendSrv.post('/api/user/signup/step2', this.$scope.formModel).then(rsp => {
  31. if (rsp.code === 'redirect-to-select-org') {
  32. window.location.href = config.appSubUrl + '/profile/select-org?signup=1';
  33. } else {
  34. window.location.href = config.appSubUrl + '/';
  35. }
  36. });
  37. };
  38. }
  39. module.controller('SignUpCtrl', SignUpCtrl);