Commit 2178330e authored by VAN ZUIJLEN Nils's avatar VAN ZUIJLEN Nils

Blacken

parent b664ef22
......@@ -226,7 +226,9 @@ class Item(models.Model):
second_option: str = "",
) -> "OrderItem":
if self.hidden or self.end_date < timezone.now():
raise ValidationError("Ce produit est périmé ou a été caché par un administrateur. Il n'a pas été ajouté au panier.")
raise ValidationError(
"Ce produit est périmé ou a été caché par un administrateur. Il n'a pas été ajouté au panier."
)
order = Order.objects.get_current_order(user)
return self.add_to_order(order, quantity, customization, option, second_option)
......
......@@ -744,7 +744,9 @@ class OrderTest(PaymentTestCase, OrderItemTestCase):
hidden_item.refresh_from_db()
# YES, this would have failed anywhere near the year 1970
ood_item.end_date = datetime.datetime(django_timezone.now().year - 2, 1, 1, 0, 0)
ood_item.end_date = datetime.datetime(
django_timezone.now().year - 2, 1, 1, 0, 0
)
ood_item.save()
ood_item.refresh_from_db()
......@@ -804,7 +806,9 @@ class OrderTest(PaymentTestCase, OrderItemTestCase):
hidden_item.refresh_from_db()
# YES, this would have failed anywhere near the year 1970
ood_item.end_date = datetime.datetime(django_timezone.now().year - 2, 1, 1, 0, 0)
ood_item.end_date = datetime.datetime(
django_timezone.now().year - 2, 1, 1, 0, 0
)
ood_item.save()
ood_item.refresh_from_db()
......
......@@ -13,7 +13,11 @@ urlpatterns = [
path("create", views.ItemCreateView.as_view(), name="item_create"),
path("<int:pk>", views.ItemDetailView.as_view(), name="item_detail"),
path("manage", views.ItemManageView.as_view(), name="item_manage"),
path("csvexport/<int:pk>", views.CsvExportView.as_view(), name="csvexport"),
path(
"csvexport/<int:pk>",
views.CsvExportView.as_view(),
name="csvexport",
),
path("sell", views.ItemSellView.as_view(), name="item_sell"),
path("edit/<int:pk>", views.ItemEditView.as_view(), name="item_edit"),
]
......
......@@ -173,19 +173,36 @@ class CsvExportView(PermissionRequiredMixin, SingleObjectMixin, View):
"order_items__order__payment", "order_items__order__user__profile"
).get()
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = f'attachment; filename="{self.object.name}.csv"'
response = HttpResponse(content_type="text/csv")
response[
"Content-Disposition"
] = f'attachment; filename="{self.object.name}.csv"'
writer = csv.writer(response)
writer.writerow(['Username', 'Email', 'Quantity', 'Paid', 'Customization', 'Option', 'Second Option', 'Quantity delivered'])
writer.writerow(
[
"Username",
"Email",
"Quantity",
"Paid",
"Customization",
"Option",
"Second Option",
"Quantity delivered",
]
)
for oi in item.order_items.all():
writer.writerow([str(oi.order.user.profile),
oi.order.user.email,
oi.quantity,
oi.order.paid,
oi.customization,
oi.option,
oi.second_option,
oi.quantity_delivered])
writer.writerow(
[
str(oi.order.user.profile),
oi.order.user.email,
oi.quantity,
oi.order.paid,
oi.customization,
oi.option,
oi.second_option,
oi.quantity_delivered,
]
)
return response
......@@ -309,12 +326,14 @@ class OrderEditView(LoginRequiredMixin, UpdateView):
return self.model.objects.get_current_order(self.request.user)
def setup(self, request, *args, **kwargs):
""" Delete illegal objects prior to display
"""
"""Delete illegal objects prior to display"""
super().setup(request, *args, **kwargs)
if self.get_object().clean_illegal_items():
messages.error(self.request, "Certains objets sont périmés ou ont été cachés par un administrateur. Ils ont été supprimé du panier.")
messages.error(
self.request,
"Certains objets sont périmés ou ont été cachés par un administrateur. Ils ont été supprimé du panier.",
)
def get_form_class(self) -> Type[BaseInlineFormSet]: # type: ignore[override] # override not supported
return inlineformset_factory(
......@@ -385,7 +404,10 @@ class OrderSendView(LoginRequiredMixin, RedirectView, SingleObjectMixin):
# Check if all items are legal
if self.get_object().clean_illegal_items():
messages.error(self.request, "Certains objets sont périmés ou ont été cachés par un administrateur. Ils ont été supprimé du panier, et la commande n'a pas été passée.")
messages.error(
self.request,
"Certains objets sont périmés ou ont été cachés par un administrateur. Ils ont été supprimé du panier, et la commande n'a pas été passée.",
)
return reverse("boutique:order_edit")
elif self.order.items.count() < 1:
messages.error(self.request, "Vous ne pouvez pas faire une commande vide")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment