From 008b2b36ead5c54f15e20fad18cbd8472f10c890 Mon Sep 17 00:00:00 2001 From: PierreDubrulle Date: Fri, 20 Oct 2023 10:02:34 +0200 Subject: [PATCH] autocomplete personal informations from current user --- la_chariotte/order/models.py | 8 ++++---- .../order/templates/order/grouped_order_detail.html | 8 ++++---- la_chariotte/order/views/grouped_order.py | 7 +++++++ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/la_chariotte/order/models.py b/la_chariotte/order/models.py index e2c3c33..8ec6aaa 100644 --- a/la_chariotte/order/models.py +++ b/la_chariotte/order/models.py @@ -1,4 +1,5 @@ import random +from typing import Any import base36 from django.core.exceptions import ValidationError @@ -8,7 +9,6 @@ from django.utils import timezone from la_chariotte.settings import AUTH_USER_MODEL - class GroupedOrder(models.Model): name = models.CharField( max_length=100, null=True, verbose_name="Titre de la commande" @@ -92,10 +92,9 @@ class GroupedOrder(models.Model): class OrderAuthor(models.Model): - """Used when a user orders (with or without an account)""" - # TODO faire le lien avec CustomUser (CustomUser hérite de OrderAuthor), - # pour ensuite préremplir quand on est connecté·e + + """Used when a user orders (with or without an account)""" first_name = models.CharField(verbose_name="Prénom") last_name = models.CharField(verbose_name="Nom") phone = models.CharField( @@ -107,6 +106,7 @@ class OrderAuthor(models.Model): help_text="Pour que l'organisateur·ice vous contacte en cas de besoin", ) + def __str__(self): # pragma: no cover return f"{self.first_name} {self.last_name}" diff --git a/la_chariotte/order/templates/order/grouped_order_detail.html b/la_chariotte/order/templates/order/grouped_order_detail.html index b10db67..7993733 100644 --- a/la_chariotte/order/templates/order/grouped_order_detail.html +++ b/la_chariotte/order/templates/order/grouped_order_detail.html @@ -138,15 +138,15 @@

-

+

-

+

-

+

-

+

diff --git a/la_chariotte/order/views/grouped_order.py b/la_chariotte/order/views/grouped_order.py index e0fe825..e039f11 100644 --- a/la_chariotte/order/views/grouped_order.py +++ b/la_chariotte/order/views/grouped_order.py @@ -110,6 +110,11 @@ class GroupedOrderDetailView(generic.DetailView): remaining_qty = {item.id: item.get_remaining_nb() for item in items} prices_dict = {item.id: item.price for item in items} + if self.request.user.is_authenticated: + order_author = OrderAuthor.objects.create(first_name=self.request.user.first_name, last_name=self.request.user.last_name, email=self.request.user.username) + order_author.save() + else: + order_author = None context = super().get_context_data(**kwargs) context.update( @@ -117,8 +122,10 @@ class GroupedOrderDetailView(generic.DetailView): # Used for the js display of total price of an order "prices_dict": json.dumps(prices_dict, cls=DjangoJSONEncoder), "remaining_qty": remaining_qty, + "order_author": order_author, } ) + return context