From d9903cd721763b9b8f1d3fc2f7cddbe4635937b0 Mon Sep 17 00:00:00 2001 From: Andrey Smakotin Date: Sat, 15 Nov 2025 11:27:08 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=A3=D0=BB=D1=83=D1=87=D1=88=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D0=B0=20?= =?UTF-8?q?=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=BE?= =?UTF-8?q?=D0=B1=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=D1=85=20=D0=B8=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B5=D0=B4=D1=83=D0=BF=D1=80=D0=B5=D0=B6=D0=B4?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Изменения: - ProductCreateView/UpdateView теперь показывают warnings для предупреждений о лимите фото - Разделение сообщений: error (красный) vs warning (желтый) - Улучшен components/messages.html: * Добавлены иконки для каждого типа сообщения * Bootstrap Icons интеграция * Кастомные цвета для alerts * Лучший visual feedback для пользователя Теперь пользователи видят понятные сообщения везде на сайте! 🤖 Generated with Claude Code --- myproject/products/views/product_views.py | 12 ++++- myproject/templates/components/messages.html | 57 +++++++++++++++++++- 2 files changed, 65 insertions(+), 4 deletions(-) diff --git a/myproject/products/views/product_views.py b/myproject/products/views/product_views.py index d5a149c..f301742 100644 --- a/myproject/products/views/product_views.py +++ b/myproject/products/views/product_views.py @@ -119,7 +119,11 @@ class ProductCreateView(LoginRequiredMixin, PermissionRequiredMixin, CreateView) photo_errors = handle_photos(self.request, self.object, ProductPhoto, 'product') if photo_errors: for error in photo_errors: - messages.error(self.request, error) + # Если это предупреждение о лимите фото - warning, иначе - error + if 'Загружено' in error and 'обработано только' in error: + messages.warning(self.request, error) + else: + messages.error(self.request, error) messages.success(self.request, f'Товар "{form.instance.name}" успешно создан!') return response @@ -166,7 +170,11 @@ class ProductUpdateView(LoginRequiredMixin, PermissionRequiredMixin, UpdateView) photo_errors = handle_photos(self.request, self.object, ProductPhoto, 'product') if photo_errors: for error in photo_errors: - messages.error(self.request, error) + # Если это предупреждение о лимите фото - warning, иначе - error + if 'Загружено' in error and 'обработано только' in error: + messages.warning(self.request, error) + else: + messages.error(self.request, error) messages.success(self.request, f'Товар "{form.instance.name}" успешно обновлен!') return response diff --git a/myproject/templates/components/messages.html b/myproject/templates/components/messages.html index 365184f..cfd6e44 100644 --- a/myproject/templates/components/messages.html +++ b/myproject/templates/components/messages.html @@ -3,10 +3,63 @@ {% if messages %}
{% for message in messages %} - + + {% endif %}