camelcase for GroupedOrder

This commit is contained in:
Laetitia Getti 2023-04-11 16:46:34 +02:00
parent 743940df3b
commit 6c3ed24b74
7 changed files with 45 additions and 28 deletions

View file

@ -1,8 +1,8 @@
from django.contrib import admin from django.contrib import admin
from .models import Grouped_order, Item, Order, OrderedItem from .models import GroupedOrder, Item, Order, OrderedItem
admin.site.register(Grouped_order) admin.site.register(GroupedOrder)
admin.site.register(Order) admin.site.register(Order)
admin.site.register(Item) admin.site.register(Item)
admin.site.register(OrderedItem) admin.site.register(OrderedItem)

View file

@ -0,0 +1,16 @@
# Generated by Django 4.2 on 2023-04-11 14:22
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
("order", "0009_rename_date_grouped_order_delivery_date"),
]
operations = [
migrations.RenameModel(
old_name="Grouped_order",
new_name="GroupedOrder",
),
]

View file

@ -2,7 +2,7 @@ from django.db import models
from django.utils import timezone from django.utils import timezone
class Grouped_order(models.Model): class GroupedOrder(models.Model):
name = models.CharField(max_length=100, null=True) # optionnal name = models.CharField(max_length=100, null=True) # optionnal
orga = models.CharField(max_length=100) # a changer, utiliser ForeignKey de user orga = models.CharField(max_length=100) # a changer, utiliser ForeignKey de user
delivery_date = models.DateField("Date de livraison") delivery_date = models.DateField("Date de livraison")
@ -22,7 +22,7 @@ class Grouped_order(models.Model):
class Order(models.Model): class Order(models.Model):
grouped_order = models.ForeignKey( grouped_order = models.ForeignKey(
Grouped_order, on_delete=models.CASCADE, related_name="order_set" GroupedOrder, on_delete=models.CASCADE, related_name="order_set"
) )
author = models.CharField( author = models.CharField(
max_length=100, verbose_name="Personne qui passe la commande" max_length=100, verbose_name="Personne qui passe la commande"
@ -35,7 +35,7 @@ class Order(models.Model):
class Item(models.Model): class Item(models.Model):
name = models.CharField(max_length=100) name = models.CharField(max_length=100)
grouped_order = models.ForeignKey( grouped_order = models.ForeignKey(
Grouped_order, on_delete=models.CASCADE GroupedOrder, on_delete=models.CASCADE
) # à transformer en manytomany quand il y aura un catalogue ) # à transformer en manytomany quand il y aura un catalogue
ordered_nb = models.IntegerField(default=0) ordered_nb = models.IntegerField(default=0)

View file

@ -21,16 +21,16 @@
{% endfor %} {% endfor %}
</ul> </ul>
<form action="{% url 'order:order' grouped_order.id %}" method="post"> <form action="{% url 'order:order' grouped_order.id %}" method="post">
{% csrf_token %} {% csrf_token %}
<fieldset> <fieldset>
<legend><h1>{{ grouped_order }}</h1></legend> <legend><h1>{{ grouped_order }}</h1></legend>
{% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %} {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
{% for item in grouped_order.item_set.all %} {% for item in grouped_order.item_set.all %}
<input type="radio" name="item" id="item{{ forloop.counter }}" value="{{ item.id }}"> <input type="radio" name="item" id="item{{ forloop.counter }}" value="{{ item.id }}">
<label for="item{{ forloop.counter }}">{{ item.name }}</label><br> <label for="item{{ forloop.counter }}">{{ item.name }}</label><br>
{% endfor %} {% endfor %}
</fieldset> </fieldset>
<input type="submit" value="Order"> <input type="submit" value="Order">
</form> </form>
</body> </body>
</html> </html>

View file

@ -2,7 +2,7 @@ import datetime
from django.utils import timezone from django.utils import timezone
from la_chariotte.order.models import Grouped_order from la_chariotte.order.models import GroupedOrder
class TestGroupedOrdersModel: class TestGroupedOrdersModel:
@ -13,7 +13,7 @@ class TestGroupedOrdersModel:
is_ongoing() returns True if the deadline is not crossed is_ongoing() returns True if the deadline is not crossed
""" """
deadline = timezone.now() + datetime.timedelta(days=10) deadline = timezone.now() + datetime.timedelta(days=10)
ongoing_gr_order = Grouped_order(deadline=deadline) ongoing_gr_order = GroupedOrder(deadline=deadline)
assert ongoing_gr_order.is_ongoing() assert ongoing_gr_order.is_ongoing()
def test_is_ongoing_with_old_grouped_order(self): def test_is_ongoing_with_old_grouped_order(self):
@ -21,5 +21,5 @@ class TestGroupedOrdersModel:
is_ongoing() returns False if the deadline is crossed is_ongoing() returns False if the deadline is crossed
""" """
deadline = timezone.now() - datetime.timedelta(hours=1) deadline = timezone.now() - datetime.timedelta(hours=1)
ongoing_gr_order = Grouped_order(deadline=deadline) ongoing_gr_order = GroupedOrder(deadline=deadline)
assert not ongoing_gr_order.is_ongoing() assert not ongoing_gr_order.is_ongoing()

View file

@ -4,7 +4,7 @@ import pytest
from django.urls import reverse from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from la_chariotte.order.models import Grouped_order, Item, Order from la_chariotte.order.models import GroupedOrder, Item, Order
pytestmark = pytest.mark.django_db pytestmark = pytest.mark.django_db
@ -15,7 +15,7 @@ def create_grouped_order(days_before_delivery_date, days_before_deadline, name):
""" """
date = timezone.now().date() + datetime.timedelta(days=days_before_delivery_date) date = timezone.now().date() + datetime.timedelta(days=days_before_delivery_date)
deadline = timezone.now() + datetime.timedelta(days=days_before_deadline) deadline = timezone.now() + datetime.timedelta(days=days_before_deadline)
return Grouped_order.objects.create( return GroupedOrder.objects.create(
name=name, orga="test orga", delivery_date=date, deadline=deadline name=name, orga="test orga", delivery_date=date, deadline=deadline
) )

View file

@ -4,7 +4,7 @@ from django.urls import reverse
from django.utils import timezone from django.utils import timezone
from django.views import generic from django.views import generic
from .models import Grouped_order, Item, Order, OrderedItem from .models import GroupedOrder, Item, Order, OrderedItem
class IndexView(generic.ListView): class IndexView(generic.ListView):
@ -15,19 +15,19 @@ class IndexView(generic.ListView):
def get_queryset(self): def get_queryset(self):
"""Return the 5 most recent old grouped orders""" """Return the 5 most recent old grouped orders"""
old_grouped_orders = Grouped_order.objects.filter( old_grouped_orders = GroupedOrder.objects.filter(
delivery_date__lt=timezone.now().date() delivery_date__lt=timezone.now().date()
).order_by("-delivery_date")[ ).order_by("-delivery_date")[
:5 :5
] # delivery date < today (delivered) ] # delivery date < today (delivered)
"""Return all grouped orders, for which we cannot order anymore but the delivery date is still to come""" """Return all grouped orders, for which we cannot order anymore but the delivery date is still to come"""
orders_over_grouped_orders = ( orders_over_grouped_orders = (
Grouped_order.objects.filter(delivery_date__gte=timezone.now().date()) GroupedOrder.objects.filter(delivery_date__gte=timezone.now().date())
.filter(deadline__lt=timezone.now()) .filter(deadline__lt=timezone.now())
.order_by("-delivery_date") .order_by("-delivery_date")
) # delivery date >= today (not delivered) and deadline < today (we cannot order) ) # delivery date >= today (not delivered) and deadline < today (we cannot order)
"""Return all incoming grouped orders""" """Return all incoming grouped orders"""
incoming_grouped_orders = Grouped_order.objects.filter( incoming_grouped_orders = GroupedOrder.objects.filter(
deadline__gte=timezone.now() deadline__gte=timezone.now()
).order_by( ).order_by(
"deadline" "deadline"
@ -42,21 +42,22 @@ class IndexView(generic.ListView):
class GroupedOrderDetailView(generic.DetailView): class GroupedOrderDetailView(generic.DetailView):
"""Vue de détail d'une commande groupée - possibilité de commander si elle est en cours""" """Vue de détail d'une commande groupée - possibilité de commander si elle est en cours"""
model = Grouped_order model = GroupedOrder
template_name = "order/grouped_order_detail.html" template_name = "order/grouped_order_detail.html"
context_object_name = "grouped_order"
class GroupedOrderOrgaView(generic.DetailView): class GroupedOrderOrgaView(generic.DetailView):
"""Vue de supervision d'une commande groupée""" """Vue de supervision d'une commande groupée"""
model = Grouped_order model = GroupedOrder
template_name = "order/grouped_order_orga.html" template_name = "order/grouped_order_orga.html"
def order( def order(
request, grouped_order_id request, grouped_order_id
): # crée une commande (order) pour cette commande groupée, avec l'item selectionné dedans ): # crée une commande (order) pour cette commande groupée, avec l'item selectionné dedans
grouped_order = get_object_or_404(Grouped_order, pk=grouped_order_id) grouped_order = get_object_or_404(GroupedOrder, pk=grouped_order_id)
try: try:
selected_item = grouped_order.item_set.get(pk=request.POST["item"]) selected_item = grouped_order.item_set.get(pk=request.POST["item"])
except (KeyError, Item.DoesNotExist): except (KeyError, Item.DoesNotExist):