Example #1
0
 def register_user(self):
     if current_user.is_authenticated():
         raise RequestException("you're already logged in")
     params = self._get_json_func_params(
         requiredParams=["email", "password", "password_confirm", "recaptcha_challenge_field", 
             "recaptcha_response_field", "initial_workout_plan_uid", "initial_rest_plan_uid"])
     form_class = app.extensions['security'].confirm_register_form
     form_data = MultiDict(params)
     form = form_class(form_data)
     if form.validate_on_submit():
         user = flask_security_register_user(**form.to_dict())
         user.create_profile()
         user.create_default_meal_plans(
             initial_workout_plan_uid=params["initial_workout_plan_uid"], 
             initial_rest_plan_uid=params["initial_rest_plan_uid"])
         form.user = user
         db.session.commit()
         flask_security_login_user(user)
     has_errors = len(form.errors) > 0
     #this doesnt currently fit well with simpleapi's success variable and can definitely be improved
     if has_errors:
         response = {
             'code': 400,
             'errors': form.errors
         }
     else:
         response = {
             'code': 200,
             'app_context': AppContext.make_json_encodable_context()
         }
     return response
Example #2
0
def index():
    context = json_encode(AppContext.make_json_encodable_context(), return_request=False)
    if settings.DEBUG:
    	template = 'index.tpl'
    else:
    	template = 'index_compiled.tpl'
    return render_template(template,
        app_context=context,
        recaptcha_public_key=settings.RECAPTCHA_PUBLIC_KEY)
Example #3
0
 def logout_user(self):
     if not current_user.is_authenticated():
         raise RequestException("you're not logged in")
     flask_security_logout_user()
     response = {
         'code': 200,
         'app_context': AppContext.make_json_encodable_context()
     }
     return response
Example #4
0
 def login_user(self):
     if current_user.is_authenticated():
         raise RequestException("you're already logged in")
     params = self._get_json_func_params(
         requiredParams=["email", "password"])
     form_class = app.extensions['security'].login_form
     form = form_class(MultiDict(params))
     if form.validate_on_submit():
         flask_security_login_user(form.user)
         db.session.commit()
     has_errors = len(form.errors) > 0
     #this doesnt currently fit well with simpleapi's success variable and can definitely be improved
     if has_errors:
         response = {
             'code': 400,
             'errors': form.errors
         }
     else:
         response = {
             'code': 200,
             'app_context': AppContext.make_json_encodable_context()
         }
     return response