Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @general.route("/microsoft/", methods=["GET", "POST"])
- @csrf.exempt
- def microsoft():
- if 'json' in request.form:
- name = urllib.parse.unquote(request.form['json'])
- if name:
- data = json.loads(name)
- user = User.query.filter(User.email == data['userName']).first()
- if user:
- record_user_action(user)
- login_user(user)
- return redirect(url_for("general.dashboard"))
- create_user = User(email=data['userName'])
- create_user.password = generate_password_hash(str(uuid.uuid4()))
- create_user.active = False
- create_user.email_confirmed = True
- create_user.groups.append(Group.get("registered"))
- db.session.add(create_user)
- db.session.commit()
- user_details = UserDetails(user_id= create_user.id)
- user_details.first_name = data['profile']['given_name']
- user_details.family_name = data['profile']['family_name']
- user_details.company_name = data['userName'].split('@')[1].split('.')[0].title()
- db.session.add(user_details)
- db.session.commit()
- else:
- return abort(404)
- form = SignupMicrosoftForm()
- if form.validate_on_submit():
- user = User.query.filter(User.token == create_user.id).first_or_404()
- user_details = UserDetails.query.filter(UserDetails.user_id == user.id).first()
- if form.company.data:
- user_details.company_name = form.company.data
- user_details.phone = form.phone.data
- user_details.company_country = form.country.data
- db.session.add(user_details)
- db.session.commit()
- tenant = Tenant()
- tenant.name = user_details.company_name
- tenant.type_ = form.type.data
- tenant.is_trial = True
- db.session.add(tenant)
- db.session.commit()
- tenant_user = TenantUser
- tenant_user.tenant_id = tenant.id
- tenant_user.user_id = create_user.id
- tenant_user.admin = True
- db.session.add(tenant_user)
- db.session.commit()
- user.active = True
- db.session.add(user)
- db.session.commit()
- record_user_action(user)
- login_user(user)
- return redirect(url_for("general.dashboard"))
- return render_template("modules/general/dashboard/microsoft_signup.html", form=form)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement