updated to fix create location page

This commit is contained in:
ske087
2025-12-06 23:29:23 +02:00
parent 5905c693e6
commit f8209e0e0a
2 changed files with 29 additions and 18 deletions

View File

@@ -3878,6 +3878,7 @@ def mark_printed():
return jsonify({'error': str(e)}), 500 return jsonify({'error': str(e)}), 500
@warehouse_bp.route('/create_locations', methods=['GET', 'POST']) @warehouse_bp.route('/create_locations', methods=['GET', 'POST'])
@requires_warehouse_module
def create_locations(): def create_locations():
from app.warehouse import create_locations_handler from app.warehouse import create_locations_handler
return create_locations_handler() return create_locations_handler()

View File

@@ -99,24 +99,34 @@ def delete_locations_by_ids(ids_str):
return f"Deleted {deleted} location(s)." return f"Deleted {deleted} location(s)."
def create_locations_handler(): def create_locations_handler():
if request.method == "POST": try:
if request.form.get("delete_locations"): # Ensure table exists
ids_str = request.form.get("delete_ids", "") ensure_warehouse_locations_table()
message = delete_locations_by_ids(ids_str)
session['flash_message'] = message if request.method == "POST":
else: if request.form.get("delete_locations"):
location_code = request.form.get("location_code") ids_str = request.form.get("delete_ids", "")
size = request.form.get("size") message = delete_locations_by_ids(ids_str)
description = request.form.get("description") session['flash_message'] = message
message = add_location(location_code, size, description) else:
session['flash_message'] = message location_code = request.form.get("location_code")
# Redirect to prevent form resubmission on page reload size = request.form.get("size")
return redirect(url_for('warehouse.create_locations')) description = request.form.get("description")
message = add_location(location_code, size, description)
# Get flash message from session if any session['flash_message'] = message
message = session.pop('flash_message', None) # Redirect to prevent form resubmission on page reload
locations = get_locations() return redirect(url_for('warehouse.create_locations'))
return render_template("create_locations.html", locations=locations, message=message)
# Get flash message from session if any
message = session.pop('flash_message', None)
locations = get_locations()
return render_template("create_locations.html", locations=locations, message=message)
except Exception as e:
import traceback
error_trace = traceback.format_exc()
print(f"Error in create_locations_handler: {e}")
print(error_trace)
return f"<h1>Error loading warehouse locations</h1><pre>{error_trace}</pre>", 500
def import_locations_csv_handler(): def import_locations_csv_handler():
report = None report = None