Ejemplo n.º 1
0
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')
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
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)