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 test_getPersonByUsername(self): person = controllers.getPersonByUsername('', self.db) self.assertIsNone(person) person = controllers.getPersonById(0, self.db) self.assertIsNone(person) person = controllers.getPersonById(3, self.db) self.assertIsNotNone(person) result = controllers.getPersonByUsername(person.username, self.db) self.assertIsNotNone(result) self.assertEqual(result.firstname, person.firstname) self.assertEqual(result.lastname, person.lastname) self.assertEqual(result.username, person.username) self.assertEqual(result.password, person.password) person = controllers.getPersonById(4, self.db) self.assertIsNotNone(person) result = controllers.getPersonByUsername(person.username, self.db) self.assertIsNotNone(result) self.assertEqual(result.firstname, person.firstname) self.assertEqual(result.lastname, person.lastname) self.assertEqual(result.username, person.username) self.assertEqual(result.password, person.password) person = controllers.getPersonById(5, self.db) self.assertIsNotNone(person) result = controllers.getPersonByUsername(person.username, self.db) self.assertIsNotNone(result) self.assertEqual(result.firstname, person.firstname) self.assertEqual(result.lastname, person.lastname) self.assertEqual(result.username, person.username) self.assertEqual(result.password, person.password) self.resetDB
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)