| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import config from 'app/core/config';
- import coreModule from '../core_module';
- export class SignUpCtrl {
- /** @ngInject */
- constructor(private $scope: any, private backendSrv: any, $location: any, contextSrv: any) {
- contextSrv.sidemenu = false;
- $scope.ctrl = this;
- $scope.formModel = {};
- const params = $location.search();
- // validate email is semi ok
- if (params.email && !params.email.match(/^\S+@\S+$/)) {
- console.log('invalid email');
- return;
- }
- $scope.formModel.orgName = params.email;
- $scope.formModel.email = params.email;
- $scope.formModel.username = params.email;
- $scope.formModel.code = params.code;
- $scope.verifyEmailEnabled = false;
- $scope.autoAssignOrg = false;
- $scope.navModel = {
- main: {
- icon: 'gicon gicon-branding',
- text: 'Sign Up',
- subTitle: 'Register your Grafana account',
- breadcrumbs: [{ title: 'Login', url: 'login' }],
- },
- };
- backendSrv.get('/api/user/signup/options').then((options: any) => {
- $scope.verifyEmailEnabled = options.verifyEmailEnabled;
- $scope.autoAssignOrg = options.autoAssignOrg;
- });
- }
- submit() {
- if (!this.$scope.signUpForm.$valid) {
- return;
- }
- this.backendSrv.post('/api/user/signup/step2', this.$scope.formModel).then((rsp: any) => {
- if (rsp.code === 'redirect-to-select-org') {
- window.location.href = config.appSubUrl + '/profile/select-org?signup=1';
- } else {
- window.location.href = config.appSubUrl + '/';
- }
- });
- }
- }
- coreModule.controller('SignUpCtrl', SignUpCtrl);
|