Ejemplo n.º 1
0
def customers_register():
    if request.method == 'POST':
        name = request.form['name']
        email = request.form['email']
        phone = request.form['phone']
        address = request.form['address']
        company = request.form['company']
        password = request.form['password']
        confirmpass = request.form['confirmpass']

        # check if password match
        if password != confirmpass:
            flash('passwords do not match', 'danger')
            return redirect(url_for('customers_register'))
        elif (CustomerModel.check_email_exists(email)):
            flash('Email already exist', 'danger')
            return redirect(url_for('customers_register'))
        else:
            hashedpass = bcrypt.generate_password_hash(password).decode(
                'utf-8')

            c = CustomerModel(name=name,
                              email=email,
                              phone=phone,
                              address=address,
                              company=company,
                              password=hashedpass)
            c.insert_record()
            flash('account successfully created! Please login', 'success')
            return redirect(url_for('login'))

    return render_template('register.html')
Ejemplo n.º 2
0
 def delete(self, username):
     customer = CustomerModel.find_by_username(self, username)
     if customer:
         customer.delete_from_database()
         return {'message': 'user is deleted'}, 200
     else:
         return {'message': 'username not found'}, 404
Ejemplo n.º 3
0
 def post(self):
     try:
         customer = customer_schema.load(request.get_json())
     except ValidationError as err:
         return err.messages, 400
         
     result = CustomerModel.query.filter_by(Username=request.json['Username']).first() 
     if result is None:
         new_cust = CustomerModel(
             Name = request.json['Name'],
             Username = request.json['Username'],
             Password = generate_password_hash(request.json['Password'], method='sha256'), #request.json['Password'],
             Address = request.json['Address'],
             State = request.json['State'],
             Country = request.json['Country'],
             Email_address = request.json['Email_address'],
             PAN = request.json['PAN'],
             Contact_no = request.json['Contact_no'],
             DOB = request.json['DOB'],
             Account_type = request.json['Account_type']
         )
         BankDB.session.add(new_cust)
         BankDB.session.commit()
         return viewcustomer_schema.dump(new_cust), 201
     else:
         return {"message":f"User {request.json['Username']} already Exists in the Table."},400
Ejemplo n.º 4
0
def login():
    if request.method == 'POST':

        email = request.form['email']
        password = request.form['password']

        # check email exists
        if CustomerModel.check_email_exists(email):
            if CustomerModel.compare_password(email=email, password=password):
                session['email'] = email
                session['uid'] = CustomerModel.get_customer_id(email)
                return redirect(url_for('cust_home'))
            else:
                flash('Invalid login credential', 'danger')
                return redirect(url_for('login'))
        else:
            flash('Invalid login credential', 'danger')
            return redirect(url_for('login'))

    return render_template('customerlogin.html')
Ejemplo n.º 5
0
 def post(self, username):
     if CustomerModel.find_by_username(self, username):
         return {'error': 'username already exist'}, 409
     data = self.parser.parse_args()
     new_customer = CustomerModel(username, data['email'], data['name'],
                                  data['newsletter_status'])
     new_customer.create_customer()
     return new_customer.json(), 201
Ejemplo n.º 6
0
 def put(self, username):
     data = self.parser.parse_args()
     user_data = CustomerModel(username, data["email"], data["name"],
                               data["newsletter_status"])
     customer = CustomerModel.find_by_username(self, username)
     if customer:
         customer.email = data['email']
         customer.create_customer()
         return customer.json(), 200
     else:
         user_data.create_customer()
         return user_data.json(), 201
Ejemplo n.º 7
0
 def get(self, username):
     customer = CustomerModel.find_by_username(self, username)
     if customer:
         return customer.json(), 200
     return {'message': 'username not found'}, 404
Ejemplo n.º 8
0
def customers_reports():
    allcustomers = CustomerModel.fetch_all_customers()

    return render_template('customersreport.html', allcustomers=allcustomers)