From 4c34c2bacd5489246ff3857e2009044ec456e901 Mon Sep 17 00:00:00 2001 From: Yohan Boniface Date: Sat, 23 Mar 2019 23:22:45 +0100 Subject: [PATCH] Deal with from/to time --- kaba/__init__.py | 19 +++++++++++-- kaba/models.py | 3 ++- kaba/static/app.css | 3 --- kaba/templates/base.html | 2 +- kaba/templates/edit_delivery.html | 10 ++++--- kaba/templates/includes/delivery_head.html | 2 +- tests/conftest.py | 4 ++- tests/test_models.py | 13 ++++++--- tests/test_views.py | 31 +++++++++++++++++++--- 9 files changed, 67 insertions(+), 20 deletions(-) diff --git a/kaba/__init__.py b/kaba/__init__.py index 7768083..33d36ef 100644 --- a/kaba/__init__.py +++ b/kaba/__init__.py @@ -56,6 +56,17 @@ env = Environment( ) +def date_filter(value): + return value.strftime("%d/%m/%Y") + + +def time_filter(value): + return value.strftime("%H:%M") + + +env.filters["date"] = date_filter +env.filters["time"] = time_filter + app = Roll() cors(app, methods="*", headers="*") options(app) @@ -142,17 +153,19 @@ async def home(request, response): response.html("home.html", deliveries=Delivery.all()) -@app.route("/livraison/new", methods=["GET"]) +@app.route("/livraison", methods=["GET"]) @auth_required async def new_delivery(request, response): response.html("edit_delivery.html", delivery={}) -@app.route("/livraison/new", methods=["POST"]) +@app.route("/livraison", methods=["POST"]) @auth_required async def create_delivery(request, response): form = request.form data = {} + data["from_date"] = f"{form.get('date')} {form.get('from_time')}" + data["to_date"] = f"{form.get('date')} {form.get('to_time')}" for name, field in Delivery.__dataclass_fields__.items(): if name in form: data[name] = form.get(name) @@ -189,6 +202,8 @@ async def edit_delivery(request, response, id): async def post_delivery(request, response, id): delivery = Delivery.load(id) form = request.form + delivery.from_date = f"{form.get('date')} {form.get('from_time')}" + delivery.to_date = f"{form.get('date')} {form.get('to_time')}" for name, field in Delivery.__dataclass_fields__.items(): if name in form: setattr(delivery, name, form.get(name)) diff --git a/kaba/models.py b/kaba/models.py index 4dc5ee6..1a1d4c6 100644 --- a/kaba/models.py +++ b/kaba/models.py @@ -122,7 +122,8 @@ class Delivery(Base): __lock__ = threading.Lock() producer: str - when: datetime_field + from_date: datetime_field + to_date: datetime_field order_before: datetime_field description: str = "" where: str = "Marché de la Briche" diff --git a/kaba/static/app.css b/kaba/static/app.css index 5a8a052..210c37a 100644 --- a/kaba/static/app.css +++ b/kaba/static/app.css @@ -219,15 +219,12 @@ fieldset { } legend { width: 100%; - /* margin-top: 2rem; - margin-bottom: 1rem; */ font-size: 1.2rem; font-weight: bold; } input, textarea { - display: block; position: relative; height: 2rem; padding: .4rem .8rem; diff --git a/kaba/templates/base.html b/kaba/templates/base.html index 146f65a..e70ab94 100644 --- a/kaba/templates/base.html +++ b/kaba/templates/base.html @@ -19,7 +19,7 @@