def login(): if request.method == 'POST': remember = False # Json login request. ie from iOS if is_request_json(): if request.json is not None and request.json.has_key('username') and request.json.has_key('password'): username = request.json['username'] user = controllers.getPersonByUsername(username, db) if user is not None: if user.password == request.json['password']: login_user(user, remember=True) return jsonify(success=True, msg='Login success', firstname=user.firstname) return jsonify(success=False, msg='Please check user name and password') return jsonify(success=False, msg='Please provide user name and password') # else regular HTML request only elif request.form.has_key('username') and request.form.has_key('password'): username = request.form['username'] user = controllers.getPersonByUsername(username, db) if user is not None: # See below comment # if request.form.has_key('rememberMe') and request.form['rememberMe'] == "True": # remember = True if user.password == request.form['password']: # For some reason login-manager doesn't remember login user at the next request, # but it works at once remember set to True # login_user(user, remember=remember) login_user(user, remember=True) if request.values.has_key('next'): return redirect(request.values['next'], code=302) return redirect(url_for('home')) flash("Please check user name and password.") else: flash("Please provide user name and password.") return render_template('login.html')
def submit_employee_form(): if request.method == 'POST' and is_request_json(): result = controllers.registerEmployee(request.json,db) if(result is not None): user_dict = json.loads(result) if user_dict.has_key('username'): username = user_dict['username'] #Successfully saved so authenticate user ! authUser = controllers.getPersonByUsername(username, db) login_user(authUser, remember=True) resultjson = '{"result": "EmpTrue"}' return resultjson resultjson = '{"result": "EmpFalse"}' return resultjson else: return jsonify(msg='Other request method[%s]' % request.method)