From c2c050a13ebdf2394d6cb260e94b48f9c103d123 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 22 Aug 2026 15:33:15 +0000 Subject: [PATCH] fix(cleaning): rendre les produits disponibles sur fiches papier --- app_new/cleaning/routes.py | 3 ++- .../templates/cleaning/product_form.html | 26 ++++++++++++++++++- tests/integration/test_ui_p1_regressions.py | 6 +++++ 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/app_new/cleaning/routes.py b/app_new/cleaning/routes.py index 39e35b4..5efb001 100644 --- a/app_new/cleaning/routes.py +++ b/app_new/cleaning/routes.py @@ -57,7 +57,7 @@ def product_new(): elif ProductGeneric.query.filter_by(name=name).first(): flash("Ce produit générique existe déjà.", "warning") else: - product = ProductGeneric(name=name, description=request.form.get("description"), category_id=request.form.get("category_id") or None, product_type=request.form.get("product_type") or "consommable", reference_unit=request.form.get("reference_unit") or "unité", stock_minimum=minimum, stock_security=security, forecast_daily_quantity=daily) + product = ProductGeneric(name=name, description=request.form.get("description"), category_id=request.form.get("category_id") or None, product_type=request.form.get("product_type") or "consommable", reference_unit=request.form.get("reference_unit") or "unité", stock_minimum=minimum, stock_security=security, forecast_daily_quantity=daily, request_enabled=request.form.get("request_enabled") == "on") db.session.add(product); db.session.commit() flash("Produit générique créé.", "success") return redirect(url_for("cleaning.products")) @@ -84,6 +84,7 @@ def product_edit(id): product.stock_security = security product.forecast_daily_quantity = daily product.is_active = request.form.get("is_active") == "on" + product.request_enabled = request.form.get("request_enabled") == "on" db.session.commit() flash("Produit générique mis à jour.", "success") return redirect(url_for("cleaning.products")) diff --git a/app_new/cleaning/templates/cleaning/product_form.html b/app_new/cleaning/templates/cleaning/product_form.html index f754ec7..0d94440 100644 --- a/app_new/cleaning/templates/cleaning/product_form.html +++ b/app_new/cleaning/templates/cleaning/product_form.html @@ -1 +1,25 @@ -{% extends "base.html" %}{% block title %}Produit générique{% endblock %}{% block content %}

{{ 'Modifier' if product else 'Nouveau' }} produit générique

{% endblock %} +{% extends "base.html" %} +{% block title %}Produit générique{% endblock %} +{% block content %} +
+

{{ 'Modifier' if product else 'Nouveau' }} produit générique

+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+ {% if product %}
{% endif %} + +
+
+{% endblock %} diff --git a/tests/integration/test_ui_p1_regressions.py b/tests/integration/test_ui_p1_regressions.py index f3a0528..d97b621 100644 --- a/tests/integration/test_ui_p1_regressions.py +++ b/tests/integration/test_ui_p1_regressions.py @@ -163,6 +163,12 @@ def test_invalid_product_quantity_is_validation_error(authenticated_client, app) assert "numériques" in response.get_data(as_text=True) +def test_product_request_enabled_is_editable(authenticated_client, app): + response = authenticated_client.get('/cleaning/products/new') + assert response.status_code == 200 + assert 'request_enabled' in response.get_data(as_text=True) + + def test_cleaning_pages_load_without_reference_data(authenticated_client, app): # Some legacy RBAC tests intentionally alter the admin role. Restore only # the permission required by this independent route smoke test.