diff --git a/.gitignore b/.gitignore deleted file mode 100644 index f89b800..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.venv -db.sqlite -**/__pycache__/ \ No newline at end of file diff --git a/README.md b/README.md index 59bcd54..19ae1d2 100644 --- a/README.md +++ b/README.md @@ -27,10 +27,6 @@ Execute in Terminal "python3 -m venv .venv", for the virtual enviroment activate Note: This are early stages of this project listed are missing and planed. - -### DB Delete - -To delete db simple add first_startup = True in Options.ini and remove db.sqlite # To Does --- Must have features / fixes diff --git a/Server/DB/querys.py b/Server/DB/querys.py index 36911e4..a42532f 100644 --- a/Server/DB/querys.py +++ b/Server/DB/querys.py @@ -12,13 +12,9 @@ config.read('Options.ini') class compare: - def is_user_pass_valid(username, password): - try: #check if username in db - session_username = session.query(User).filter(User.username == username).one() - session.commit() - except: - return False + session_username = session.query(User).filter(User.username == username).one() + session.commit() print(session_username.hashed_password) if bcrypt.hashpw(password.encode('utf-8'), session_username.salt) == session_username.hashed_password.encode('utf-8'): return True @@ -43,21 +39,17 @@ class compare: OUT: True, False if succeded adding to db ''' - #products = Product() - order = Order(desk) + if compare.verifie_order(ordered_list): - is_emtpy = True #check if nothing in prouduct if True dont commit. + #products = Product() + order = Order(desk) + session.add(order) + session.commit() for product in ordered_list: if int(product[0]) > 0: #dont add not ordered to list - if is_emtpy: #first time enter in loop - session.add(order) - session.commit() productDB = Product(quantity=int(product[0]),name=product[1],order_id = order.id) - session.add(productDB) - is_emtpy = False - if is_emtpy: - return False - + + session.add(productDB) session.commit() logger.success("Order at desk "+ str(desk) +" resived") # add a new ordered_list to the database @@ -134,10 +126,11 @@ class get: def all_orders(): # All unfinished orders (finished is False or string "False") result = [] + desk = 1 orders = session.query(Order).filter(Order.finished == 0).all() session.commit() for order in orders: - products = session.query(Product).filter(Product.order_id == order.id).all() + products = session.query(Product).filter(Product.order_id == order.id , Order.desk_number == desk).all() session.commit() list_products = [] for p in products: diff --git a/Server/Host/flaskApp.py b/Server/Host/flaskApp.py index b5db8f5..0b22e59 100644 --- a/Server/Host/flaskApp.py +++ b/Server/Host/flaskApp.py @@ -69,7 +69,8 @@ def login(): form = LoginForm() if form.validate_on_submit(): user = user_loader(form.username.data) - + #TODO if username not in User: + #TODO return if username or pass wrong a red textbox in ui... if user and compare.is_user_pass_valid(form.username.data, form.password.data): login_user(user) # store user id in session @@ -81,9 +82,8 @@ def login(): #next = request.args.get('next') is written in documentaion FLASK #return redirect(next, url_for('orders')) # redirect to orders page return redirect(url_for('orders')) # redirect to orders page - #return wrong_user_pass.html a indexer for wrong pass or username - return render_template('partials/_wrong_user_pass.html', form=form) return render_template('login.html', form=form) + @app.route("/logout") #TODO make a button @login_required def logout(): @@ -95,27 +95,23 @@ def logout(): def orders(): #TODO on new orderGet refresh orders list if request.method == 'POST': order_id = request.form.get('order_id') - action = request.form.get('action') # 'refresh', 'finish' or 'undo' + action = request.form.get('action') # 'finish' or 'undo' - if action == 'finish': - order = session.get(Order, int(order_id)) - order.finished = True + order = session.get(Order, int(order_id)) + if order: #SQL error handeling just in case + if action == 'finish': + order.finished = True + elif action == 'undo': + order.finished = False session.commit() return jsonify(success=True) - elif action == 'undo': - order = session.get(Order, int(order_id)) - order.finished = False - session.commit() - return jsonify(success=True) - elif action == 'refresh': - html = render_template('partials/_order_rows.html', orders=get.all_orders()) - return jsonify(success=True, html=html) return jsonify(success=False) return render_template('orders.html', orders=get.all_orders()) @app.route("/order_get", methods=['GET','POST']) def order_get(): + desk= 1 global config #POST order if request.method == 'POST' and config['SETTINGS']['lockqrcode_whit_secret'] == 'True': @@ -131,11 +127,8 @@ def order_get(): # Adding order to DB if compare.process_main(ordered_list, desk): return '