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 .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(Item)
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
class Grouped_order(models.Model):
class GroupedOrder(models.Model):
name = models.CharField(max_length=100, null=True) # optionnal
orga = models.CharField(max_length=100) # a changer, utiliser ForeignKey de user
delivery_date = models.DateField("Date de livraison")
@ -22,7 +22,7 @@ class Grouped_order(models.Model):
class Order(models.Model):
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(
max_length=100, verbose_name="Personne qui passe la commande"
@ -35,7 +35,7 @@ class Order(models.Model):
class Item(models.Model):
name = models.CharField(max_length=100)
grouped_order = models.ForeignKey(
Grouped_order, on_delete=models.CASCADE
GroupedOrder, on_delete=models.CASCADE
) # à transformer en manytomany quand il y aura un catalogue
ordered_nb = models.IntegerField(default=0)

View file

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

View file

@ -2,7 +2,7 @@ import datetime
from django.utils import timezone
from la_chariotte.order.models import Grouped_order
from la_chariotte.order.models import GroupedOrder
class TestGroupedOrdersModel:
@ -13,7 +13,7 @@ class TestGroupedOrdersModel:
is_ongoing() returns True if the deadline is not crossed
"""
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()
def test_is_ongoing_with_old_grouped_order(self):
@ -21,5 +21,5 @@ class TestGroupedOrdersModel:
is_ongoing() returns False if the deadline is crossed
"""
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()

View file

@ -4,7 +4,7 @@ import pytest
from django.urls import reverse
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
@ -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)
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
)

View file

@ -4,7 +4,7 @@ from django.urls import reverse
from django.utils import timezone
from django.views import generic
from .models import Grouped_order, Item, Order, OrderedItem
from .models import GroupedOrder, Item, Order, OrderedItem
class IndexView(generic.ListView):
@ -15,19 +15,19 @@ class IndexView(generic.ListView):
def get_queryset(self):
"""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()
).order_by("-delivery_date")[
:5
] # delivery date < today (delivered)
"""Return all grouped orders, for which we cannot order anymore but the delivery date is still to come"""
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())
.order_by("-delivery_date")
) # delivery date >= today (not delivered) and deadline < today (we cannot order)
"""Return all incoming grouped orders"""
incoming_grouped_orders = Grouped_order.objects.filter(
incoming_grouped_orders = GroupedOrder.objects.filter(
deadline__gte=timezone.now()
).order_by(
"deadline"
@ -42,21 +42,22 @@ class IndexView(generic.ListView):
class GroupedOrderDetailView(generic.DetailView):
"""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"
context_object_name = "grouped_order"
class GroupedOrderOrgaView(generic.DetailView):
"""Vue de supervision d'une commande groupée"""
model = Grouped_order
model = GroupedOrder
template_name = "order/grouped_order_orga.html"
def order(
request, grouped_order_id
): # 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:
selected_item = grouped_order.item_set.get(pk=request.POST["item"])
except (KeyError, Item.DoesNotExist):