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')
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
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
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')
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
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
def get(self, username): customer = CustomerModel.find_by_username(self, username) if customer: return customer.json(), 200 return {'message': 'username not found'}, 404
def customers_reports(): allcustomers = CustomerModel.fetch_all_customers() return render_template('customersreport.html', allcustomers=allcustomers)