From 2b84b13524cdd94747325022d82e4f562440e327 Mon Sep 17 00:00:00 2001 From: Scheianu Ionut Date: Wed, 10 Sep 2025 21:48:51 +0300 Subject: [PATCH] Register warehouse blueprint and update dashboard for warehouse module integration. --- py_app/app/__init__.py | 3 ++- py_app/app/routes.py | 28 +++++++++++++++++++++++++--- py_app/app/templates/dashboard.html | 4 ++-- 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/py_app/app/__init__.py b/py_app/app/__init__.py index b34e36d..8d5e585 100644 --- a/py_app/app/__init__.py +++ b/py_app/app/__init__.py @@ -12,8 +12,9 @@ def create_app(): db.init_app(app) - from app.routes import bp as main_bp + from app.routes import bp as main_bp, warehouse_bp app.register_blueprint(main_bp, url_prefix='/') + app.register_blueprint(warehouse_bp) # Add 'now' function to Jinja2 globals app.jinja_env.globals['now'] = datetime.now diff --git a/py_app/app/routes.py b/py_app/app/routes.py index b81f66b..e166527 100644 --- a/py_app/app/routes.py +++ b/py_app/app/routes.py @@ -6,8 +6,20 @@ from .models import User from . import db from reportlab.lib.pagesizes import letter from reportlab.pdfgen import canvas +from flask import Blueprint, render_template, request, redirect, url_for, flash +import csv +from .warehouse import add_location bp = Blueprint('main', __name__) +warehouse_bp = Blueprint('warehouse', __name__) + +@bp.route('/store_articles') +def store_articles(): + return render_template('store_articles.html') + +@bp.route('/warehouse_reports') +def warehouse_reports(): + return render_template('warehouse_reports.html') def get_db_connection(): """Reads the external_server.conf file and returns a MariaDB database connection.""" @@ -83,7 +95,7 @@ def warehouse(): if 'role' not in session or session['role'] not in ['superadmin', 'warehouse']: flash('Access denied: Warehouse users only.') return redirect(url_for('main.dashboard')) - return render_template('warehouse.html') + return render_template('main_page_warehouse.html') @bp.route('/scan', methods=['GET', 'POST']) def scan(): @@ -307,7 +319,7 @@ def get_report_data(): elif report == "4": # Logic for the report with non-zero quality_code (5 days) five_days_ago = datetime.now() - timedelta(days=5) cursor.execute(""" - SELECT Id, operator_code, CP_full_code, OC1_code, OC2_code, quality_code, date, time, approved_quantity, rejected_quantity + SELECT Id, operator_code, CP_full_code, OC1_code, OC2 Code, quality_code, date, time, approved_quantity, rejected_quantity FROM scan1_orders WHERE date >= ? AND quality_code != 0 ORDER BY date DESC, time DESC @@ -420,4 +432,14 @@ def generate_pdf(): # Save the PDF c.save() - return jsonify({'message': 'PDF generated successfully!', 'pdf_path': f'/static/label_templates/label_template.pdf'}) \ No newline at end of file + return jsonify({'message': 'PDF generated successfully!', 'pdf_path': f'/static/label_templates/label_template.pdf'}) + +@warehouse_bp.route('/create_locations', methods=['GET', 'POST']) +def create_locations(): + from app.warehouse import create_locations_handler + return create_locations_handler() + +@warehouse_bp.route('/import_locations_csv', methods=['GET', 'POST']) +def import_locations_csv(): + from app.warehouse import import_locations_csv_handler + return import_locations_csv_handler() \ No newline at end of file diff --git a/py_app/app/templates/dashboard.html b/py_app/app/templates/dashboard.html index 7270cd4..c0ce2d5 100644 --- a/py_app/app/templates/dashboard.html +++ b/py_app/app/templates/dashboard.html @@ -21,8 +21,8 @@

Accesare modul magazie

-

Modul pentru managementul magaziei

- Lansare modul Magazie +

Acceseaza functionalitatile modulului de magazie.

+ Deschide magazie