Advertisement
Guest User

Untitled

a guest
Mar 15th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. @general.route("/microsoft/", methods=["GET", "POST"])
  2. @csrf.exempt
  3. def microsoft():
  4. if 'json' in request.form:
  5. name = urllib.parse.unquote(request.form['json'])
  6.  
  7. if name:
  8. data = json.loads(name)
  9. user = User.query.filter(User.email == data['userName']).first()
  10.  
  11. if user:
  12. record_user_action(user)
  13. login_user(user)
  14.  
  15. return redirect(url_for("general.dashboard"))
  16.  
  17. create_user = User(email=data['userName'])
  18. create_user.password = generate_password_hash(str(uuid.uuid4()))
  19. create_user.active = False
  20. create_user.email_confirmed = True
  21. create_user.groups.append(Group.get("registered"))
  22.  
  23. db.session.add(create_user)
  24. db.session.commit()
  25.  
  26. user_details = UserDetails(user_id= create_user.id)
  27. user_details.first_name = data['profile']['given_name']
  28. user_details.family_name = data['profile']['family_name']
  29. user_details.company_name = data['userName'].split('@')[1].split('.')[0].title()
  30.  
  31. db.session.add(user_details)
  32. db.session.commit()
  33.  
  34. else:
  35. return abort(404)
  36.  
  37. form = SignupMicrosoftForm()
  38.  
  39. if form.validate_on_submit():
  40.  
  41. user = User.query.filter(User.token == create_user.id).first_or_404()
  42. user_details = UserDetails.query.filter(UserDetails.user_id == user.id).first()
  43.  
  44. if form.company.data:
  45. user_details.company_name = form.company.data
  46.  
  47. user_details.phone = form.phone.data
  48. user_details.company_country = form.country.data
  49.  
  50. db.session.add(user_details)
  51. db.session.commit()
  52.  
  53. tenant = Tenant()
  54. tenant.name = user_details.company_name
  55. tenant.type_ = form.type.data
  56. tenant.is_trial = True
  57.  
  58. db.session.add(tenant)
  59. db.session.commit()
  60.  
  61. tenant_user = TenantUser
  62. tenant_user.tenant_id = tenant.id
  63. tenant_user.user_id = create_user.id
  64. tenant_user.admin = True
  65.  
  66. db.session.add(tenant_user)
  67. db.session.commit()
  68.  
  69. user.active = True
  70.  
  71. db.session.add(user)
  72. db.session.commit()
  73.  
  74. record_user_action(user)
  75. login_user(user)
  76.  
  77. return redirect(url_for("general.dashboard"))
  78.  
  79. return render_template("modules/general/dashboard/microsoft_signup.html", form=form)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement