Beispiel #1
0
def register():
    error = None
    if request.method == 'POST':
        req = request.json
        username = req['username']
        email = req['email']
        password = req['password']
        

        user = user_model.UserModel()
        customerProfile = customer_profile_model.CustomerProfileModel()

        if user.isExist("userName", username):
            error = 'Username already taken'
        elif user.isExist("email", email):
            error = 'Email already used'
        if error is None:
            user.setUserName(username)
            user.setEmail(email)
            user.setPassword(password)
            user.setType(req['type'])
            user.insertUser()
            user.setUser(username)
            customerProfile.initProfile(user.getUserId(),req['name'],req['deposit'])
            return json.dumps({'registered': True})

    return json.dumps({'registered': False, 'error': error})
def updateProfile():
    customerProfle = customer_profile_model.CustomerProfileModel(
        session['userId'])
    user = user_model.UserModel(session['userId'])
    req = request.json

    if req['name'] != customerProfle.getName():
        customerProfle.updateField('firstName', req['firstName'])

    if req['email']:
        user.updateField('email', req['email'])

    if req['address'] != customerProfle.getAddress():
        customerProfle.updateField('phoneNumber', req['phoneNumber'])

    if req['payment'] != customerProfle.getPayment():
        customerProfle.updateField('street', req['address'])

    if req['balance'] != customerProfle.getBalance():
        customerProfle.updateField('city', req['city'])

    if req['subscribe'] != customerProfle.getSubscribe():
        customerProfle.updateField('state', req['state'])

    return json.dumps({'error': 'Updated'})
Beispiel #3
0
def login():
    error = None
    path = None
    if request.method == 'POST':
        req = request.json
        username = req['username']
        password = req['password']
        user = user_model.UserModel()
        user.setUser(username)
        app = current_app._get_current_object()    
        customerProfile = customer_profile_model.CustomerProfileModel(user.getUserId())
        session.clear()
        
        
        if user.getUserName() is None or user.getPassword() != md5(password.encode('utf-8')).hexdigest():
            error = 'Invalid username or password or not correct.'

     
        if user.getUserName() is not None:
            if user.getType() not in req['type']:
                if user.getType() == "c":
                    error = "Not a customer account"
                else:
                    error = "Not a employee account"

        if user.getType() == 'e':

            employeeProfile = employee_profile_model.EmployeeProfileModel(user.getUserId())        
            
            if user.getType() == 'e':
                session['profileId'] = employeeProfile.getProfileId()
                if employeeProfile.getPosition() == "chef":
                    path = '/chef'
                if employeeProfile.getPosition() == "deliveryboy":
                    path = '/DeliveryHome'
        if user.getType() == 'm':
                    path = '/Manager'        
                    
        if req['type'] == "c":
            if customerProfile.getApprove() == "0":
                error = 'Account not approve yet!'
            else:
                path = '/Menu'    
      

        if error is None:
            session['userId'] = user.getUserId()
            session['username'] = user.getUserName()
            session['email'] = user.getEmail()
            session['type'] = user.getType()
            
            token = jwt.encode({'userId': user.getUserId(), 'username': user.getUserName(), 'email': user.getEmail(), 'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=50)}, app.config['SECRET_KEY'])
            return json.dumps({'authenticated': True, 'token': token.decode('UTF-8'),'path': path, 'type': user.getType()})

        flash(error)

    return json.dumps({'authenticated': False, 'error': error})
def approve():
    customerProfle = customer_profile_model.CustomerProfileModel()
    req = request.json
    if req['approve'] == 1:
        customerProfle.setProfileId(req['profileId'])
        customerProfle.updateField("approve", "1")
    else:
        customerProfle.removeCustomer(req['profileId'], req['userId'])
    return json.dumps({'status': "done"})
def getNotApprove():
    customerProfle = customer_profile_model.CustomerProfileModel()
    customers = customerProfle.getNotApprove()
    for i in range(len(customers)):
        user = user_model.UserModel(customers[i]['userId'])
        customers[i]['userName'] = user.getUserName()
        customers[i]['email'] = user.getEmail()
        customers[i]['userId'] = user.getUserId()
    return json.dumps({'customers': customers})
def getProfile():
    customerProfle = customer_profile_model.CustomerProfileModel(
        session['userId'])
    profile = {
        'name': customerProfle.getName(),
        'address': customerProfle.getAddress(),
        'payment': customerProfle.getPayment(),
        'balance': customerProfle.getBalance(),
        'subscribe': customerProfle.getSubscribe()
    }
    return json.dumps({'profile': profile})