Merge branch 'main' into storefront-nuxt

This commit is contained in:
Egor Pavlovich Gorbunov 2025-10-28 15:31:52 +03:00
commit d8386fcd93
234 changed files with 23625 additions and 17837 deletions

1
.gitattributes vendored Normal file
View file

@ -0,0 +1 @@
*.sh text eol=lf

17
blog/docs/drf/viewsets.py Normal file
View file

@ -0,0 +1,17 @@
from django.utils.translation import gettext_lazy as _
from drf_spectacular.utils import extend_schema
from rest_framework import status
from core.docs.drf import BASE_ERRORS
from blog.serializers import PostSerializer
POST_SCHEMA = {
"list": extend_schema(
summary=_("list all posts (read-only)"),
responses={status.HTTP_200_OK: PostSerializer(many=True), **BASE_ERRORS},
),
"retrieve": extend_schema(
summary=_("retrieve a single post (read-only)"),
responses={status.HTTP_200_OK: PostSerializer(), **BASE_ERRORS},
),
}

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,19 +17,28 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "المدونة" msgstr "المدونة"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "سرد جميع المشاركات (للقراءة فقط)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "استرداد منشور واحد (للقراءة فقط)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"يمثل نموذج منشور المدونة. تحدد فئة المشاركة بنية وسلوك مشاركة المدونة. " "يمثل نموذج منشور المدونة. تحدد فئة المشاركة بنية وسلوك مشاركة المدونة. "
"وتتضمن سمات للمؤلف والعنوان والمحتوى ومرفق الملف الاختياري والسبيكة " "وتتضمن سمات للمؤلف والعنوان والمحتوى ومرفق الملف الاختياري والسبيكة "
"والعلامات المرتبطة بها. يفرض الصنف قيودًا مثل طلب إما محتوى أو مرفق ملف ولكن " "والعلامات المرتبطة بها. يفرض الصنف قيودًا مثل طلب إما محتوى أو مرفق ملف ولكن"
"ليس كلاهما في نفس الوقت. كما أنها تدعم إنشاء سبيكة تلقائية بناءً على العنوان." " ليس كلاهما في نفس الوقت. كما أنها تدعم إنشاء سبيكة تلقائية بناءً على "
"العنوان."
#: blog/models.py:23 #: blog/models.py:23
msgid "post title" msgid "post title"
@ -89,3 +98,18 @@ msgstr "علامة المشاركة"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "علامات المشاركة" msgstr "علامات المشاركة"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"يغلف عمليات إدارة واسترجاع كيانات المنشور في مجموعة عرض نموذج للقراءة فقط. "
"هذه الفئة مصممة للتعامل مع كائنات المنشورات النشطة وتسمح بالترشيح بناءً على "
"مرشحات محددة. يتكامل مع نظام تصفية الواجهة الخلفية لـ Django ويضمن توافق "
"العمليات مع الأذونات المحددة. تشتمل مجموعة العرض أيضًا على تكوين إذن "
"\"استرداد\" إضافي."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,20 +17,28 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Seznam všech příspěvků (pouze pro čtení)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Získání jednoho příspěvku (pouze pro čtení)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Představuje model příspěvku na blogu. Třída Post definuje strukturu a " "Představuje model příspěvku na blogu. Třída Post definuje strukturu a "
"chování příspěvku na blogu. Obsahuje atributy pro autora, název, obsah, " "chování příspěvku na blogu. Obsahuje atributy pro autora, název, obsah, "
"volitelnou přílohu, slug a přidružené značky. Třída vynucuje omezení, jako " "volitelnou přílohu, slug a přidružené značky. Třída vynucuje omezení, jako "
"je požadavek na obsah nebo přílohu souboru, ale ne obojí současně. Podporuje " "je požadavek na obsah nebo přílohu souboru, ale ne obojí současně. Podporuje"
"také automatické generování slugu na základě názvu." " také automatické generování slugu na základě názvu."
#: blog/models.py:23 #: blog/models.py:23
msgid "post title" msgid "post title"
@ -47,8 +55,8 @@ msgstr "je statická stránka"
#: blog/models.py:69 #: blog/models.py:69
msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?" msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?"
msgstr "" msgstr ""
"je to příspěvek pro stránku se statickou adresou URL (např. `/help/" "je to příspěvek pro stránku se statickou adresou URL (např. "
"delivery`)?" "`/help/delivery`)?"
#: blog/models.py:76 #: blog/models.py:76
msgid "post" msgid "post"
@ -93,3 +101,19 @@ msgstr "Označení příspěvku"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Štítky příspěvků" msgstr "Štítky příspěvků"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Zapouzdřuje operace pro správu a načítání entit Post v sadě zobrazení modelu"
" pouze pro čtení. Tato třída je přizpůsobena pro práci s aktivními objekty "
"Post a umožňuje filtrování na základě definovaných filtrů. Integruje se s "
"backendovým systémem filtrování Djanga a zajišťuje soulad operací s "
"definovanými oprávněními. Sada zobrazení obsahuje také dodatečnou "
"konfiguraci oprávnění \"načíst\"."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,21 +17,29 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Vis alle indlæg (skrivebeskyttet)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Hent et enkelt indlæg (skrivebeskyttet)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Repræsenterer en blogindlægsmodel. Post-klassen definerer strukturen og " "Repræsenterer en blogindlægsmodel. Post-klassen definerer strukturen og "
"adfærden i et blogindlæg. Den indeholder attributter for forfatter, titel, " "adfærden i et blogindlæg. Den indeholder attributter for forfatter, titel, "
"indhold, valgfri vedhæftet fil, slug og tilknyttede tags. Klassen håndhæver " "indhold, valgfri vedhæftet fil, slug og tilknyttede tags. Klassen håndhæver "
"begrænsninger som f.eks. at kræve enten indhold eller en vedhæftet fil, men " "begrænsninger som f.eks. at kræve enten indhold eller en vedhæftet fil, men "
"ikke begge dele på samme tid. Den understøtter også automatisk generering af " "ikke begge dele på samme tid. Den understøtter også automatisk generering af"
"slugs baseret på titlen." " slugs baseret på titlen."
#: blog/models.py:23 #: blog/models.py:23
msgid "post title" msgid "post title"
@ -91,3 +99,20 @@ msgstr "Tag til indlæg"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Tags til indlæg" msgstr "Tags til indlæg"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Indkapsler operationer til håndtering og hentning af Post-enheder i et "
"skrivebeskyttet modelvisningssæt. Denne klasse er skræddersyet til at "
"håndtere Post-objekter, der er aktive, og tillader filtrering baseret på "
"definerede filtre. Den integreres med Djangos backend-filtreringssystem og "
"sikrer, at handlingerne er i overensstemmelse med de definerede tilladelser."
" Visningssættet indeholder også en ekstra konfiguration af tilladelsen "
"'hent'."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,14 +17,22 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Alle Beiträge auflisten (schreibgeschützt)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Einen einzelnen Beitrag abrufen (schreibgeschützt)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Stellt ein Blogpost-Modell dar. Die Klasse Post definiert die Struktur und " "Stellt ein Blogpost-Modell dar. Die Klasse Post definiert die Struktur und "
"das Verhalten eines Blogeintrags. Sie enthält Attribute für Autor, Titel, " "das Verhalten eines Blogeintrags. Sie enthält Attribute für Autor, Titel, "
@ -49,8 +57,8 @@ msgstr "ist eine statische Seite"
#: blog/models.py:69 #: blog/models.py:69
msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?" msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?"
msgstr "" msgstr ""
"Ist dies ein Beitrag für eine Seite mit statischer URL (z. B. `/help/" "Ist dies ein Beitrag für eine Seite mit statischer URL (z. B. "
"delivery`)?" "`/help/delivery`)?"
#: blog/models.py:76 #: blog/models.py:76
msgid "post" msgid "post"
@ -96,3 +104,20 @@ msgstr "Tag eintragen"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Tags eintragen" msgstr "Tags eintragen"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Kapselt Operationen zum Verwalten und Abrufen von Post-Entitäten in einem "
"schreibgeschützten Modell-View-Set. Diese Klasse ist auf die Handhabung "
"aktiver Post-Objekte zugeschnitten und ermöglicht die Filterung auf der "
"Grundlage definierter Filter. Sie integriert sich in das Backend-"
"Filtersystem von Django und stellt sicher, dass die Operationen mit den "
"definierten Berechtigungen übereinstimmen. Das View Set beinhaltet auch eine"
" zusätzliche 'retrieve' Berechtigungskonfiguration."

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -21,21 +21,29 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "List all posts (read-only)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Retrieve a single post (read-only)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
#: blog/models.py:23 #: blog/models.py:23
msgid "post title" msgid "post title"
@ -94,3 +102,19 @@ msgstr "Post tag"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Post tags" msgstr "Post tags"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,21 +17,29 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "List all posts (read-only)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Retrieve a single post (read-only)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
#: blog/models.py:23 #: blog/models.py:23
msgid "post title" msgid "post title"
@ -90,3 +98,19 @@ msgstr "Post tag"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Post tags" msgstr "Post tags"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,14 +17,22 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Listar todos los mensajes (sólo lectura)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Recuperar una única entrada (sólo lectura)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Representa un modelo de entrada de blog. La clase Post define la estructura " "Representa un modelo de entrada de blog. La clase Post define la estructura "
"y el comportamiento de una entrada de blog. Incluye atributos para autor, " "y el comportamiento de una entrada de blog. Incluye atributos para autor, "
@ -48,8 +56,8 @@ msgstr "es una página estática"
#: blog/models.py:69 #: blog/models.py:69
msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?" msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?"
msgstr "" msgstr ""
"¿se trata de una entrada para una página con URL estática (por ejemplo, `/" "¿se trata de una entrada para una página con URL estática (por ejemplo, "
"help/delivery`)?" "`/help/delivery`)?"
#: blog/models.py:76 #: blog/models.py:76
msgid "post" msgid "post"
@ -94,3 +102,20 @@ msgstr "Etiqueta postal"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Etiquetas" msgstr "Etiquetas"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Encapsula operaciones para gestionar y recuperar entidades Post en un "
"conjunto de vistas de modelo de sólo lectura. Esta clase está adaptada para "
"manejar objetos Post que están activos y permite el filtrado basado en "
"filtros definidos. Se integra con el sistema de filtrado backend de Django y"
" asegura que las operaciones se alinean con los permisos definidos. El "
"conjunto de vistas también incluye una configuración adicional de permisos "
"de \"recuperación\"."

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -20,6 +20,14 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "" msgstr ""
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr ""
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr ""
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
@ -86,3 +94,13 @@ msgstr ""
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "" msgstr ""
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,14 +17,22 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Liste de tous les messages (en lecture seule)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Récupérer un seul message (en lecture seule)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Représente un modèle de billet de blog. La classe Post définit la structure " "Représente un modèle de billet de blog. La classe Post définit la structure "
"et le comportement d'un billet de blog. Elle comprend des attributs pour " "et le comportement d'un billet de blog. Elle comprend des attributs pour "
@ -49,8 +57,8 @@ msgstr "est une page statique"
#: blog/models.py:69 #: blog/models.py:69
msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?" msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?"
msgstr "" msgstr ""
"s'agit-il d'un message pour une page dont l'URL est statique (par exemple `/" "s'agit-il d'un message pour une page dont l'URL est statique (par exemple "
"help/delivery`) ?" "`/help/delivery`) ?"
#: blog/models.py:76 #: blog/models.py:76
msgid "post" msgid "post"
@ -70,8 +78,8 @@ msgstr ""
msgid "" msgid ""
"a markdown file or markdown content must be provided - mutually exclusive" "a markdown file or markdown content must be provided - mutually exclusive"
msgstr "" msgstr ""
"un fichier markdown ou un contenu markdown doit être fourni - ils s'excluent " "un fichier markdown ou un contenu markdown doit être fourni - ils s'excluent"
"mutuellement" " mutuellement"
#: blog/models.py:115 #: blog/models.py:115
msgid "internal tag identifier for the post tag" msgid "internal tag identifier for the post tag"
@ -96,3 +104,20 @@ msgstr "Tag de poste"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Tags de la poste" msgstr "Tags de la poste"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Encapsule les opérations de gestion et d'extraction des entités Post dans un"
" ensemble de vues de modèle en lecture seule. Cette classe est conçue pour "
"gérer les objets Post qui sont actifs et permet un filtrage basé sur des "
"filtres définis. Elle s'intègre au système de filtrage du backend de Django "
"et garantit que les opérations s'alignent sur les permissions définies. Le "
"jeu de vues comprend également une configuration de permission "
"supplémentaire \"retrieve\"."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,14 +17,22 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "בלוג" msgstr "בלוג"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "הצג את כל ההודעות (לקריאה בלבד)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "איתור פוסט בודד (לקריאה בלבד)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"מייצג מודל של פוסט בבלוג. מחלקת Post מגדירה את המבנה וההתנהגות של פוסט " "מייצג מודל של פוסט בבלוג. מחלקת Post מגדירה את המבנה וההתנהגות של פוסט "
"בבלוג. היא כוללת תכונות עבור מחבר, כותרת, תוכן, קובץ מצורף אופציונלי, slug " "בבלוג. היא כוללת תכונות עבור מחבר, כותרת, תוכן, קובץ מצורף אופציונלי, slug "
@ -87,3 +95,17 @@ msgstr "תגית פוסט"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "תגיות פוסט" msgstr "תגיות פוסט"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"מכיל פעולות לניהול ואחזור ישויות Post במערך תצוגה של מודל לקריאה בלבד. מחלקה"
" זו מותאמת לטיפול באובייקטי Post פעילים ומאפשרת סינון על בסיס מסננים "
"מוגדרים. היא משתלבת במערכת הסינון האחורית של Django ומבטיחה שהפעולות תואמות "
"את ההרשאות המוגדרות. מערך התצוגה כולל גם תצורת הרשאה נוספת ל'אחזור'."

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -20,6 +20,14 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "" msgstr ""
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr ""
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr ""
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
@ -86,3 +94,13 @@ msgstr ""
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "" msgstr ""
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -20,6 +20,14 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "" msgstr ""
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr ""
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr ""
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
@ -86,3 +94,13 @@ msgstr ""
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "" msgstr ""
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,20 +17,28 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Daftar semua postingan (hanya-baca)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Mengambil satu postingan (hanya-baca)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Mewakili model posting blog. Kelas Post mendefinisikan struktur dan perilaku " "Mewakili model posting blog. Kelas Post mendefinisikan struktur dan perilaku"
"postingan blog. Kelas ini mencakup atribut untuk penulis, judul, konten, " " postingan blog. Kelas ini mencakup atribut untuk penulis, judul, konten, "
"lampiran file opsional, slug, dan tag yang terkait. Kelas ini memberlakukan " "lampiran file opsional, slug, dan tag yang terkait. Kelas ini memberlakukan "
"batasan seperti membutuhkan konten atau lampiran file, tetapi tidak keduanya " "batasan seperti membutuhkan konten atau lampiran file, tetapi tidak keduanya"
"secara bersamaan. Kelas ini juga mendukung pembuatan slug otomatis " " secara bersamaan. Kelas ini juga mendukung pembuatan slug otomatis "
"berdasarkan judul." "berdasarkan judul."
#: blog/models.py:23 #: blog/models.py:23
@ -48,8 +56,8 @@ msgstr "adalah halaman statis"
#: blog/models.py:69 #: blog/models.py:69
msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?" msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?"
msgstr "" msgstr ""
"apakah ini adalah postingan untuk halaman dengan URL statis (misalnya `/help/" "apakah ini adalah postingan untuk halaman dengan URL statis (misalnya "
"pengiriman`)?" "`/help/pengiriman`)?"
#: blog/models.py:76 #: blog/models.py:76
msgid "post" msgid "post"
@ -62,8 +70,8 @@ msgstr "Posting"
#: blog/models.py:81 #: blog/models.py:81
msgid "markdown files are not supported yet - use markdown content instead" msgid "markdown files are not supported yet - use markdown content instead"
msgstr "" msgstr ""
"File penurunan harga tidak didukung - gunakan konten penurunan harga sebagai " "File penurunan harga tidak didukung - gunakan konten penurunan harga sebagai"
"gantinya!" " gantinya!"
#: blog/models.py:83 #: blog/models.py:83
msgid "" msgid ""
@ -95,3 +103,19 @@ msgstr "Tag pos"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Tag pos" msgstr "Tag pos"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Mengenkapsulasi operasi untuk mengelola dan mengambil entitas Post dalam set"
" tampilan model hanya-baca. Kelas ini dirancang untuk menangani objek Post "
"yang aktif dan memungkinkan penyaringan berdasarkan filter yang ditentukan. "
"Kelas ini terintegrasi dengan sistem penyaringan backend Django dan "
"memastikan operasi sesuai dengan izin yang ditentukan. Kumpulan view juga "
"mencakup konfigurasi izin 'retrieve' tambahan."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,20 +17,28 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Elenco di tutti i messaggi (solo lettura)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Recuperare un singolo post (solo lettura)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Rappresenta il modello di un post di un blog. La classe Post definisce la " "Rappresenta il modello di un post di un blog. La classe Post definisce la "
"struttura e il comportamento di un post del blog. Include gli attributi per " "struttura e il comportamento di un post del blog. Include gli attributi per "
"l'autore, il titolo, il contenuto, l'allegato opzionale, lo slug e i tag " "l'autore, il titolo, il contenuto, l'allegato opzionale, lo slug e i tag "
"associati. La classe impone dei vincoli, come la richiesta di un contenuto o " "associati. La classe impone dei vincoli, come la richiesta di un contenuto o"
"di un file allegato, ma non di entrambi contemporaneamente. Supporta anche " " di un file allegato, ma non di entrambi contemporaneamente. Supporta anche "
"la generazione automatica dello slug in base al titolo." "la generazione automatica dello slug in base al titolo."
#: blog/models.py:23 #: blog/models.py:23
@ -48,8 +56,8 @@ msgstr "è una pagina statica"
#: blog/models.py:69 #: blog/models.py:69
msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?" msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?"
msgstr "" msgstr ""
"Si tratta di un post per una pagina con URL statico (ad esempio `/help/" "Si tratta di un post per una pagina con URL statico (ad esempio "
"delivery`)?" "`/help/delivery`)?"
#: blog/models.py:76 #: blog/models.py:76
msgid "post" msgid "post"
@ -93,3 +101,20 @@ msgstr "Post tag"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Tag dei post" msgstr "Tag dei post"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Incapsula le operazioni per gestire e recuperare le entità Post in un "
"insieme di viste del modello di sola lettura. Questa classe è fatta su "
"misura per gestire gli oggetti Post che sono attivi e consente il filtraggio"
" in base ai filtri definiti. Si integra con il sistema di filtraggio del "
"backend di Django e garantisce che le operazioni siano in linea con i "
"permessi definiti. L'insieme di viste include anche un'ulteriore "
"configurazione di permessi 'retrieve'."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,20 +17,25 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "ブログ" msgstr "ブログ"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "すべての投稿をリストアップする(読み取り専用)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "単一の投稿を取得する(読み取り専用)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"ブログ記事のモデルを表します。Post クラスはブログ記事の構造と動作を定義しま" "ブログ記事のモデルを表します。Post "
"す。著者、タイトル、内容、オプションの添付ファイル、スラッグ、関連タグの属性" "クラスはブログ記事の構造と動作を定義します。著者、タイトル、内容、オプションの添付ファイル、スラッグ、関連タグの属性を含みます。このクラスは、内容か添付ファイルのどちらかを要求するが、両方は同時に要求しないといった制約を強制します。また、タイトルに基づくスラッグの自動生成もサポートしています。"
"を含みます。このクラスは、内容か添付ファイルのどちらかを要求するが、両方は同"
"時に要求しないといった制約を強制します。また、タイトルに基づくスラッグの自動"
"生成もサポートしています。"
#: blog/models.py:23 #: blog/models.py:23
msgid "post title" msgid "post title"
@ -58,16 +63,12 @@ msgstr "投稿"
#: blog/models.py:81 #: blog/models.py:81
msgid "markdown files are not supported yet - use markdown content instead" msgid "markdown files are not supported yet - use markdown content instead"
msgstr "" msgstr "マークダウン・ファイルはサポートされていません - 代わりにマークダウン・コンテンツを使用してください!"
"マークダウン・ファイルはサポートされていません - 代わりにマークダウン・コンテ"
"ンツを使用してください!"
#: blog/models.py:83 #: blog/models.py:83
msgid "" msgid ""
"a markdown file or markdown content must be provided - mutually exclusive" "a markdown file or markdown content must be provided - mutually exclusive"
msgstr "" msgstr "マークダウン・ファイルまたはマークダウン・コンテンツを提供しなければならない。"
"マークダウン・ファイルまたはマークダウン・コンテンツを提供しなければならな"
"い。"
#: blog/models.py:115 #: blog/models.py:115
msgid "internal tag identifier for the post tag" msgid "internal tag identifier for the post tag"
@ -92,3 +93,17 @@ msgstr "投稿タグ"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "投稿タグ" msgstr "投稿タグ"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"読み取り専用のモデルビューセットにおける Post エンティティの管理と取得のための操作をカプセル化します。このクラスは、アクティブな Post "
"オブジェクトを扱い、定義されたフィルタに基 づいてフィルタリングできるように調整されています。Django "
"のバックエンドのフィルタリングシステムと統合し、定義されたパーミッションに沿った操作を保証します。ビューセットには、追加の 'retrieve' "
"権限設定も含まれます。"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -20,6 +20,14 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "" msgstr ""
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr ""
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr ""
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
@ -86,3 +94,13 @@ msgstr ""
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "" msgstr ""
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,20 +17,26 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "블로그" msgstr "블로그"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "모든 게시물 나열(읽기 전용)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "단일 게시물 검색(읽기 전용)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"블로그 글 모델을 나타냅니다. Post 클래스는 블로그 글의 구조와 동작을 정의합니" "블로그 글 모델을 나타냅니다. Post 클래스는 블로그 글의 구조와 동작을 정의합니다. 여기에는 작성자, 제목, 콘텐츠, 선택적 파일 "
"다. 여기에는 작성자, 제목, 콘텐츠, 선택적 파일 첨부, 슬러그 및 관련 태그에 대" "첨부, 슬러그 및 관련 태그에 대한 속성이 포함됩니다. 이 클래스는 콘텐츠 또는 파일 첨부 중 하나만 요구하고 둘 다 동시에 요구하지 "
"한 속성이 포함됩니다. 이 클래스는 콘텐츠 또는 파일 첨부 중 하나만 요구하고 " "않는 등의 제약 조건을 적용합니다. 또한 제목에 따른 자동 슬러그 생성도 지원합니다."
"둘 다 동시에 요구하지 않는 등의 제약 조건을 적용합니다. 또한 제목에 따른 자"
"동 슬러그 생성도 지원합니다."
#: blog/models.py:23 #: blog/models.py:23
msgid "post title" msgid "post title"
@ -58,8 +64,7 @@ msgstr "게시물"
#: blog/models.py:81 #: blog/models.py:81
msgid "markdown files are not supported yet - use markdown content instead" msgid "markdown files are not supported yet - use markdown content instead"
msgstr "" msgstr "마크다운 파일은 지원되지 않습니다 예 - 대신 마크다운 콘텐츠를 사용하세요!"
"마크다운 파일은 지원되지 않습니다 예 - 대신 마크다운 콘텐츠를 사용하세요!"
#: blog/models.py:83 #: blog/models.py:83
msgid "" msgid ""
@ -89,3 +94,16 @@ msgstr "게시물 태그"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "게시물 태그" msgstr "게시물 태그"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"읽기 전용 모델 보기 집합에서 Post 엔티티를 관리하고 검색하기 위한 작업을 캡슐화합니다. 이 클래스는 활성 상태인 Post 개체를 "
"처리하도록 맞춤화되어 있으며 정의된 필터를 기반으로 필터링을 허용합니다. 이 클래스는 장고의 백엔드 필터링 시스템과 통합되며 정의된 "
"권한에 따라 작업이 이루어지도록 합니다. 보기 세트에는 추가 '검색' 권한 구성도 포함되어 있습니다."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,14 +17,22 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Alle berichten weergeven (alleen-lezen)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Een enkel bericht ophalen (alleen-lezen)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Vertegenwoordigt een blogpostmodel. De klasse Post definieert de structuur " "Vertegenwoordigt een blogpostmodel. De klasse Post definieert de structuur "
"en het gedrag van een blogbericht. Ze bevat attributen voor auteur, titel, " "en het gedrag van een blogbericht. Ze bevat attributen voor auteur, titel, "
@ -48,8 +56,8 @@ msgstr "is statische pagina"
#: blog/models.py:69 #: blog/models.py:69
msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?" msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?"
msgstr "" msgstr ""
"Is dit een bericht voor een pagina met een statische URL (bijv. `/help/" "Is dit een bericht voor een pagina met een statische URL (bijv. "
"delivery`)?" "`/help/delivery`)?"
#: blog/models.py:76 #: blog/models.py:76
msgid "post" msgid "post"
@ -69,8 +77,8 @@ msgstr ""
msgid "" msgid ""
"a markdown file or markdown content must be provided - mutually exclusive" "a markdown file or markdown content must be provided - mutually exclusive"
msgstr "" msgstr ""
"er moet een markdown-bestand of markdown-inhoud worden geleverd - wederzijds " "er moet een markdown-bestand of markdown-inhoud worden geleverd - wederzijds"
"exclusief" " exclusief"
#: blog/models.py:115 #: blog/models.py:115
msgid "internal tag identifier for the post tag" msgid "internal tag identifier for the post tag"
@ -95,3 +103,19 @@ msgstr "Post tag"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Post tags" msgstr "Post tags"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Kapselt operaties in voor het beheren en ophalen van Post-entiteiten in een "
"alleen-lezen model view set. Deze klasse is op maat gemaakt om actieve Post-"
"objecten te behandelen en staat filtering toe op basis van gedefinieerde "
"filters. Het integreert met Django's backend filtersysteem en zorgt ervoor "
"dat bewerkingen in lijn zijn met de gedefinieerde permissies. De view set "
"bevat ook een extra 'ophalen' permissie configuratie."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,14 +17,22 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blogg" msgstr "Blogg"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Liste over alle innlegg (skrivebeskyttet)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Hent et enkelt innlegg (skrivebeskyttet)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Representerer en blogginnleggsmodell. Post-klassen definerer strukturen og " "Representerer en blogginnleggsmodell. Post-klassen definerer strukturen og "
"virkemåten til et blogginnlegg. Den inneholder attributter for forfatter, " "virkemåten til et blogginnlegg. Den inneholder attributter for forfatter, "
@ -91,3 +99,20 @@ msgstr "Post tag"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Tagger for innlegg" msgstr "Tagger for innlegg"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Innkapsler operasjoner for håndtering og henting av Post-enheter i et "
"skrivebeskyttet modellvisningssett. Denne klassen er skreddersydd for å "
"håndtere Post-objekter som er aktive, og tillater filtrering basert på "
"definerte filtre. Den integreres med Djangos backend-filtreringssystem og "
"sørger for at operasjonene er i tråd med de definerte tillatelsene. "
"Visningssettet inkluderer også en ekstra konfigurasjon for "
"\"hent\"-tillatelse."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,14 +17,22 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Lista wszystkich postów (tylko do odczytu)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Pobieranie pojedynczego wpisu (tylko do odczytu)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Reprezentuje model wpisu na blogu. Klasa Post definiuje strukturę i " "Reprezentuje model wpisu na blogu. Klasa Post definiuje strukturę i "
"zachowanie wpisu na blogu. Zawiera atrybuty autora, tytułu, treści, " "zachowanie wpisu na blogu. Zawiera atrybuty autora, tytułu, treści, "
@ -48,7 +56,8 @@ msgstr "jest stroną statyczną"
#: blog/models.py:69 #: blog/models.py:69
msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?" msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?"
msgstr "" msgstr ""
"Czy jest to post dla strony ze statycznym adresem URL (np. `/help/delivery`)?" "Czy jest to post dla strony ze statycznym adresem URL (np. "
"`/help/delivery`)?"
#: blog/models.py:76 #: blog/models.py:76
msgid "post" msgid "post"
@ -93,3 +102,19 @@ msgstr "Tag posta"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Tagi postów" msgstr "Tagi postów"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Enkapsuluje operacje zarządzania i pobierania encji Post w zestawie widoków "
"modelu tylko do odczytu. Klasa ta jest dostosowana do obsługi obiektów Post,"
" które są aktywne i pozwala na filtrowanie w oparciu o zdefiniowane filtry. "
"Integruje się z backendowym systemem filtrowania Django i zapewnia zgodność "
"operacji ze zdefiniowanymi uprawnieniami. Zestaw widoków zawiera również "
"dodatkową konfigurację uprawnień \"retrieve\"."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,21 +17,29 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Listar todas as postagens (somente leitura)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Recuperar um único post (somente leitura)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Representa um modelo de post de blog. A classe Post define a estrutura e o " "Representa um modelo de post de blog. A classe Post define a estrutura e o "
"comportamento de um post de blog. Ela inclui atributos para autor, título, " "comportamento de um post de blog. Ela inclui atributos para autor, título, "
"conteúdo, anexo de arquivo opcional, slug e tags associadas. A classe impõe " "conteúdo, anexo de arquivo opcional, slug e tags associadas. A classe impõe "
"restrições, como exigir conteúdo ou um anexo de arquivo, mas não ambos " "restrições, como exigir conteúdo ou um anexo de arquivo, mas não ambos "
"simultaneamente. Ela também oferece suporte à geração automática de slug com " "simultaneamente. Ela também oferece suporte à geração automática de slug com"
"base no título." " base no título."
#: blog/models.py:23 #: blog/models.py:23
msgid "post title" msgid "post title"
@ -48,8 +56,8 @@ msgstr "é uma página estática"
#: blog/models.py:69 #: blog/models.py:69
msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?" msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?"
msgstr "" msgstr ""
"Essa é uma postagem para uma página com URL estático (por exemplo, `/help/" "Essa é uma postagem para uma página com URL estático (por exemplo, "
"delivery`)?" "`/help/delivery`)?"
#: blog/models.py:76 #: blog/models.py:76
msgid "post" msgid "post"
@ -62,7 +70,8 @@ msgstr "Publicações"
#: blog/models.py:81 #: blog/models.py:81
msgid "markdown files are not supported yet - use markdown content instead" msgid "markdown files are not supported yet - use markdown content instead"
msgstr "" msgstr ""
"Os arquivos markdown não são suportados - use conteúdo markdown em vez disso!" "Os arquivos markdown não são suportados - use conteúdo markdown em vez "
"disso!"
#: blog/models.py:83 #: blog/models.py:83
msgid "" msgid ""
@ -93,3 +102,20 @@ msgstr "Etiqueta de postagem"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Tags de postagem" msgstr "Tags de postagem"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Encapsula operações de gerenciamento e recuperação de entidades Post em um "
"conjunto de visualizações de modelo somente leitura. Essa classe é adaptada "
"para lidar com objetos Post que estão ativos e permite a filtragem com base "
"em filtros definidos. Ela se integra ao sistema de filtragem de backend do "
"Django e garante que as operações estejam alinhadas com as permissões "
"definidas. O conjunto de visualizações também inclui uma configuração "
"adicional de permissão de \"recuperação\"."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,14 +17,22 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Listează toate postările (doar pentru citire)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Recuperează o singură postare (read-only)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Reprezintă un model de postare pe blog. Clasa Post definește structura și " "Reprezintă un model de postare pe blog. Clasa Post definește structura și "
"comportamentul unei postări pe blog. Aceasta include atribute pentru autor, " "comportamentul unei postări pe blog. Aceasta include atribute pentru autor, "
@ -48,8 +56,8 @@ msgstr "este o pagină statică"
#: blog/models.py:69 #: blog/models.py:69
msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?" msgid "is this a post for a page with static URL (e.g. `/help/delivery`)?"
msgstr "" msgstr ""
"este aceasta o postare pentru o pagină cu URL static (de exemplu `/help/" "este aceasta o postare pentru o pagină cu URL static (de exemplu "
"delivery`)?" "`/help/delivery`)?"
#: blog/models.py:76 #: blog/models.py:76
msgid "post" msgid "post"
@ -62,7 +70,8 @@ msgstr "Mesaje"
#: blog/models.py:81 #: blog/models.py:81
msgid "markdown files are not supported yet - use markdown content instead" msgid "markdown files are not supported yet - use markdown content instead"
msgstr "" msgstr ""
"Fișierele Markdown nu sunt acceptate - utilizați în schimb conținut Markdown!" "Fișierele Markdown nu sunt acceptate - utilizați în schimb conținut "
"Markdown!"
#: blog/models.py:83 #: blog/models.py:83
msgid "" msgid ""
@ -94,3 +103,20 @@ msgstr "Etichetă post"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Etichete poștale" msgstr "Etichete poștale"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Încapsulează operațiunile de gestionare și extragere a entităților Post "
"într-un set de vizualizări de model numai pentru citire. Această clasă este "
"adaptată pentru a gestiona obiectele Post care sunt active și permite "
"filtrarea pe baza filtrelor definite. Se integrează cu sistemul de filtrare "
"din backend al Django și asigură alinierea operațiunilor cu permisiunile "
"definite. Setul de vizualizări include, de asemenea, o configurare "
"suplimentară a permisiunii \"retrieve\"."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,14 +17,22 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Блог" msgstr "Блог"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Список всех сообщений (только для чтения)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Получение одного сообщения (только для чтения)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Представляет модель записи в блоге. Класс Post определяет структуру и " "Представляет модель записи в блоге. Класс Post определяет структуру и "
"поведение записи в блоге. Он включает атрибуты автора, заголовка, " "поведение записи в блоге. Он включает атрибуты автора, заголовка, "
@ -94,3 +102,20 @@ msgstr "Тэг поста"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Тэги постов" msgstr "Тэги постов"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Инкапсулирует операции по управлению и получению объектов Post в наборе "
"представлений модели, доступном только для чтения. Этот класс предназначен "
"для работы с активными объектами Post и позволяет осуществлять фильтрацию на"
" основе заданных фильтров. Он интегрируется с системой фильтрации бэкенда "
"Django и обеспечивает соответствие операций заданным разрешениям. Набор "
"представлений также включает дополнительную конфигурацию разрешения "
"'retrieve'."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,14 +17,22 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blogg" msgstr "Blogg"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Lista alla inlägg (skrivskyddad)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Hämta ett enskilt inlägg (skrivskyddat)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Representerar en modell för blogginlägg. Klassen Post definierar strukturen " "Representerar en modell för blogginlägg. Klassen Post definierar strukturen "
"och beteendet för ett blogginlägg. Den innehåller attribut för författare, " "och beteendet för ett blogginlägg. Den innehåller attribut för författare, "
@ -92,3 +100,20 @@ msgstr "Post tagg"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Taggar för inlägg" msgstr "Taggar för inlägg"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Kapslar in operationer för att hantera och hämta Post-enheter i en "
"skrivskyddad modellvy. Denna klass är skräddarsydd för att hantera Post-"
"objekt som är aktiva och tillåter filtrering baserat på definierade filter. "
"Den integreras med Djangos backend-filtreringssystem och säkerställer att "
"operationerna överensstämmer med de definierade behörigheterna. "
"Vyuppsättningen innehåller också en ytterligare behörighetskonfiguration för"
" \"hämta\"."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,19 +17,30 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "บล็อก" msgstr "บล็อก"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "แสดงรายการโพสต์ทั้งหมด (อ่านอย่างเดียว)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "ดึงโพสต์เดียว (อ่านอย่างเดียว)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"แทนแบบจำลองของโพสต์ในบล็อก คลาส Post กำหนดโครงสร้างและพฤติกรรมของโพสต์ในบล็อก " "แทนแบบจำลองของโพสต์ในบล็อก คลาส Post "
"ประกอบด้วยแอตทริบิวต์สำหรับผู้เขียน, ชื่อเรื่อง, เนื้อหา, ไฟล์แนบ (ไม่บังคับ), slug " "กำหนดโครงสร้างและพฤติกรรมของโพสต์ในบล็อก "
"และแท็กที่เกี่ยวข้อง คลาสนี้บังคับใช้ข้อจำกัด เช่น ต้องมีเนื้อหาหรือไฟล์แนบอย่างใดอย่างหนึ่ง " "ประกอบด้วยแอตทริบิวต์สำหรับผู้เขียน, ชื่อเรื่อง, เนื้อหา, ไฟล์แนบ "
"แต่ไม่สามารถมีทั้งสองอย่างพร้อมกันได้ นอกจากนี้ยังรองรับการสร้าง slug โดยอัตโนมัติจากชื่อเรื่อง" "(ไม่บังคับ), slug และแท็กที่เกี่ยวข้อง คลาสนี้บังคับใช้ข้อจำกัด เช่น "
"ต้องมีเนื้อหาหรือไฟล์แนบอย่างใดอย่างหนึ่ง "
"แต่ไม่สามารถมีทั้งสองอย่างพร้อมกันได้ นอกจากนี้ยังรองรับการสร้าง slug "
"โดยอัตโนมัติจากชื่อเรื่อง"
#: blog/models.py:23 #: blog/models.py:23
msgid "post title" msgid "post title"
@ -62,7 +73,9 @@ msgstr "ไฟล์มาร์กดาวน์ยังไม่รองร
#: blog/models.py:83 #: blog/models.py:83
msgid "" msgid ""
"a markdown file or markdown content must be provided - mutually exclusive" "a markdown file or markdown content must be provided - mutually exclusive"
msgstr "ไฟล์มาร์กดาวน์หรือเนื้อหาแบบมาร์กดาวน์ต้องได้รับการจัดเตรียมไว้ - ไม่สามารถใช้ร่วมกันได้" msgstr ""
"ไฟล์มาร์กดาวน์หรือเนื้อหาแบบมาร์กดาวน์ต้องได้รับการจัดเตรียมไว้ - "
"ไม่สามารถใช้ร่วมกันได้"
#: blog/models.py:115 #: blog/models.py:115
msgid "internal tag identifier for the post tag" msgid "internal tag identifier for the post tag"
@ -87,3 +100,19 @@ msgstr "โพสต์แท็ก"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "ป้ายกำกับโพสต์" msgstr "ป้ายกำกับโพสต์"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"รวบรวมการดำเนินการสำหรับการจัดการและดึงข้อมูลเอนทิตีโพสต์ในชุดมุมมองแบบอ่านอย่างเดียว"
" "
"คลาสนี้ถูกออกแบบมาเพื่อจัดการกับวัตถุโพสต์ที่ใช้งานอยู่และอนุญาตให้มีการกรองตามตัวกรองที่กำหนดไว้"
" มันผสานรวมกับระบบการกรองแบ็กเอนด์ของ Django "
"และทำให้แน่ใจว่าการดำเนินการสอดคล้องกับสิทธิ์ที่กำหนดไว้ "
"ชุดมุมมองยังรวมถึงการกำหนดค่าสิทธิ์ 'ดึงข้อมูล' เพิ่มเติมด้วย"

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,19 +17,27 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Tüm gönderileri listele (salt okunur)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Tek bir gönderiyi al (salt okunur)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Bir blog yazısı modelini temsil eder. Post sınıfı, bir blog gönderisinin " "Bir blog yazısı modelini temsil eder. Post sınıfı, bir blog gönderisinin "
"yapısını ve davranışını tanımlar. Yazar, başlık, içerik, isteğe bağlı dosya " "yapısını ve davranışını tanımlar. Yazar, başlık, içerik, isteğe bağlı dosya "
"eki, slug ve ilişkili etiketler için öznitelikler içerir. Sınıf, içerik veya " "eki, slug ve ilişkili etiketler için öznitelikler içerir. Sınıf, içerik veya"
"dosya eki gerektirme ancak her ikisini aynı anda gerektirmeme gibi " " dosya eki gerektirme ancak her ikisini aynı anda gerektirmeme gibi "
"kısıtlamalar uygular. Ayrıca başlığa dayalı otomatik slug oluşturmayı da " "kısıtlamalar uygular. Ayrıca başlığa dayalı otomatik slug oluşturmayı da "
"destekler." "destekler."
@ -69,7 +77,8 @@ msgstr ""
msgid "" msgid ""
"a markdown file or markdown content must be provided - mutually exclusive" "a markdown file or markdown content must be provided - mutually exclusive"
msgstr "" msgstr ""
"bir markdown dosyası veya markdown içeriği sağlanmalıdır - birbirini dışlayan" "bir markdown dosyası veya markdown içeriği sağlanmalıdır - birbirini "
"dışlayan"
#: blog/models.py:115 #: blog/models.py:115
msgid "internal tag identifier for the post tag" msgid "internal tag identifier for the post tag"
@ -94,3 +103,19 @@ msgstr "Mesaj etiketi"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Gönderi etiketleri" msgstr "Gönderi etiketleri"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Salt okunur bir model görünüm kümesinde Post varlıklarını yönetme ve alma "
"işlemlerini kapsüller. Bu sınıf, aktif olan Post nesnelerini işlemek için "
"uyarlanmıştır ve tanımlanmış filtrelere göre filtrelemeye izin verir. "
"Django'nun arka uç filtreleme sistemi ile entegre olur ve işlemlerin "
"tanımlanan izinlerle uyumlu olmasını sağlar. Görünüm kümesi ayrıca ek bir "
"'retrieve' izin yapılandırması içerir."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,14 +17,22 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "Blog" msgstr "Blog"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "Danh sách tất cả các bài đăng (chỉ đọc)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "Lấy một bài đăng duy nhất (chỉ đọc)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"Đại diện cho mô hình bài viết blog. Lớp Post định nghĩa cấu trúc và hành vi " "Đại diện cho mô hình bài viết blog. Lớp Post định nghĩa cấu trúc và hành vi "
"của một bài viết blog. Nó bao gồm các thuộc tính cho tác giả, tiêu đề, nội " "của một bài viết blog. Nó bao gồm các thuộc tính cho tác giả, tiêu đề, nội "
@ -93,3 +101,19 @@ msgstr "Thẻ bài viết"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "Thẻ bài viết" msgstr "Thẻ bài viết"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"Đóng gói các thao tác quản lý và truy xuất các thực thể Post trong một bộ "
"xem mô hình chỉ đọc. Lớp này được thiết kế để xử lý các đối tượng Post đang "
"hoạt động và cho phép lọc dựa trên các bộ lọc đã định nghĩa. Nó tích hợp với"
" hệ thống lọc phía sau của Django và đảm bảo các thao tác tuân thủ các quyền"
" hạn đã định nghĩa. Bộ xem cũng bao gồm một cấu hình quyền 'retrieve' bổ "
"sung."

View file

@ -3,7 +3,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: EVIBES 3.0.0\n" "Project-Id-Version: EVIBES 3.0.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-25 20:41+0300\n" "POT-Creation-Date: 2025-10-26 19:18+0300\n"
"PO-Revision-Date: 2025-06-16 08:59+0100\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n"
"Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n" "Last-Translator: EGOR GORBUNOV <CONTACT@FUREUNOIR.COM>\n"
"Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n" "Language-Team: LANGUAGE <CONTACT@FUREUNOIR.COM>\n"
@ -17,18 +17,24 @@ msgstr ""
msgid "blog" msgid "blog"
msgstr "博客" msgstr "博客"
#: blog/docs/drf/viewsets.py:10
msgid "list all posts (read-only)"
msgstr "列出所有帖子(只读)"
#: blog/docs/drf/viewsets.py:14
msgid "retrieve a single post (read-only)"
msgstr "检索单个帖子(只读)"
#: blog/models.py:12 #: blog/models.py:12
msgid "" msgid ""
"Represents a blog post model. The Post class defines the structure and " "Represents a blog post model. The Post class defines the structure and "
"behavior of a blog post. It includes attributes for author, title, content, " "behavior of a blog post. It includes attributes for author, title, content, "
"optional file attachment, slug, and associated tags. The class enforces " "optional file attachment, slug, and associated tags. The class enforces "
"constraints such as requiring either content or a file attachment but not " "constraints such as requiring either content or a file attachment but not "
"both simultaneously. It also supports automatic slug generation based on the " "both simultaneously. It also supports automatic slug generation based on the"
"title." " title."
msgstr "" msgstr ""
"代表博文模型。帖子类定义了博文的结构和行为。它包括作者、标题、内容、可选文件" "代表博文模型。帖子类定义了博文的结构和行为。它包括作者、标题、内容、可选文件附件、标签和相关标记的属性。该类可强制执行一些限制条件,如要求提供内容或文件附件,但不能同时提供这两种内容。它还支持根据标题自动生成标签。"
"附件、标签和相关标记的属性。该类可强制执行一些限制条件,如要求提供内容或文件"
"附件,但不能同时提供这两种内容。它还支持根据标题自动生成标签。"
#: blog/models.py:23 #: blog/models.py:23
msgid "post title" msgid "post title"
@ -86,3 +92,15 @@ msgstr "职位标签"
#: blog/models.py:130 #: blog/models.py:130
msgid "post tags" msgid "post tags"
msgstr "帖子标签" msgstr "帖子标签"
#: blog/viewsets.py:16
msgid ""
"Encapsulates operations for managing and retrieving Post entities in a read-"
"only model view set. This class is tailored to handle Post objects that are "
"active and allows filtration based on defined filters. It integrates with "
"Django's backend filtering system and ensures operations align with the "
"defined permissions. The view set also includes an additional 'retrieve' "
"permission configuration."
msgstr ""
"该类封装了在只读模型视图集中管理和检索 \"帖子 \"实体的操作。该类专门用于处理活动的 \"帖子 \"对象,并允许根据定义的过滤器进行过滤。它与 "
"Django 的后台过滤系统集成,确保操作与定义的权限一致。视图集还包括额外的 \"检索 \"权限配置。"

View file

@ -1,28 +1,23 @@
from django.utils.translation import gettext_lazy as _
from django_filters.rest_framework import DjangoFilterBackend from django_filters.rest_framework import DjangoFilterBackend
from drf_spectacular.utils import extend_schema_view
from rest_framework.viewsets import ReadOnlyModelViewSet from rest_framework.viewsets import ReadOnlyModelViewSet
from blog.filters import PostFilter from blog.filters import PostFilter
from blog.models import Post from blog.models import Post
from blog.serializers import PostSerializer from blog.serializers import PostSerializer
from blog.docs.drf.viewsets import POST_SCHEMA
from core.permissions import EvibesPermission from core.permissions import EvibesPermission
@extend_schema_view(**POST_SCHEMA)
class PostViewSet(ReadOnlyModelViewSet): # type: ignore [type-arg] class PostViewSet(ReadOnlyModelViewSet): # type: ignore [type-arg]
""" __doc__ = _( # type: ignore [assignment]
Encapsulates operations for managing and retrieving Post entities in a read-only model view set. "Encapsulates operations for managing and retrieving Post entities in a read-only model view set. "
"This class is tailored to handle Post objects that are active and allows filtration based on defined "
This class is tailored to handle Post objects that are active and allows filtration based on defined "filters. It integrates with Django's backend filtering system and ensures operations align with the "
filters. It integrates with Django's backend filtering system and ensures operations align with the "defined permissions. The view set also includes an additional 'retrieve' permission configuration."
defined permissions. The view set also includes an additional "retrieve" permission configuration. )
Attributes:
serializer_class: Specifies the serializer to be used for Post objects.
permission_classes: Defines the permissions required to interact with this view set.
queryset: Determines the initial queryset, filtered to include only active Post objects.
filter_backends: Lists the backends to be used for filtering querysets.
filterset_class: Defines the set of filters used for filtering Post objects.
additional: Contains additional configuration, such as specific action permissions.
"""
serializer_class = PostSerializer serializer_class = PostSerializer
permission_classes = (EvibesPermission,) permission_classes = (EvibesPermission,)

View file

@ -16,7 +16,7 @@ from modeltranslation.translator import NotRegistered, translator
from modeltranslation.utils import get_translation_fields from modeltranslation.utils import get_translation_fields
from mptt.admin import DraggableMPTTAdmin from mptt.admin import DraggableMPTTAdmin
from core.forms import CRMForm, OrderForm, OrderProductForm, VendorForm from core.forms import CRMForm, OrderForm, OrderProductForm, StockForm, VendorForm
from core.models import ( from core.models import (
Address, Address,
Attribute, Attribute,
@ -146,11 +146,7 @@ class AttributeValueInline(TabularInline): # type: ignore [type-arg]
icon = "fa-solid fa-list-ul" icon = "fa-solid fa-list-ul"
def get_queryset(self, request): def get_queryset(self, request):
return ( return super().get_queryset(request).select_related("attribute", "product")
super()
.get_queryset(request)
.select_related("attribute", "product")
)
class ProductImageInline(TabularInline): # type: ignore [type-arg] class ProductImageInline(TabularInline): # type: ignore [type-arg]
@ -168,17 +164,14 @@ class ProductImageInline(TabularInline): # type: ignore [type-arg]
class StockInline(TabularInline): # type: ignore [type-arg] class StockInline(TabularInline): # type: ignore [type-arg]
model = Stock model = Stock
extra = 0 extra = 0
form = StockForm
is_navtab = True is_navtab = True
verbose_name = _("stock") verbose_name = _("stock")
verbose_name_plural = _("stocks") verbose_name_plural = _("stocks")
icon = "fa-solid fa-boxes-stacked" icon = "fa-solid fa-boxes-stacked"
def get_queryset(self, request): def get_queryset(self, request):
return ( return super().get_queryset(request).select_related("vendor", "product")
super()
.get_queryset(request)
.select_related("vendor", "product")
)
class OrderProductInline(TabularInline): # type: ignore [type-arg] class OrderProductInline(TabularInline): # type: ignore [type-arg]
@ -256,7 +249,6 @@ class AttributeAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin): # typ
"created", "created",
) )
autocomplete_fields = [ autocomplete_fields = [
"categories",
"group", "group",
] ]
general_fields = [ general_fields = [
@ -752,6 +744,7 @@ class PromotionAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin): # typ
class StockAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin): # type: ignore [misc, type-arg] class StockAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin): # type: ignore [misc, type-arg]
# noinspection PyClassVar # noinspection PyClassVar
model = Stock # type: ignore [misc] model = Stock # type: ignore [misc]
form = StockForm
list_display = ( list_display = (
"product", "product",
"vendor", "vendor",
@ -786,6 +779,9 @@ class StockAdmin(FieldsetsMixin, ActivationActionsMixin, ModelAdmin): # type: i
"purchase_price", "purchase_price",
"digital_asset", "digital_asset",
] ]
additional_fields = [
"system_attributes",
]
relation_fields = [ relation_fields = [
"product", "product",
"vendor", "vendor",

View file

@ -5,11 +5,11 @@ from core.sitemaps import BrandSitemap, CategorySitemap, ProductSitemap, StaticP
from core.views import ( from core.views import (
CacheOperatorView, CacheOperatorView,
ContactUsView, ContactUsView,
DownloadDigitalAssetView,
GlobalSearchView, GlobalSearchView,
RequestCursedURLView, RequestCursedURLView,
SupportedLanguagesView, SupportedLanguagesView,
WebsiteParametersView, WebsiteParametersView,
download_digital_asset_view,
sitemap_detail, sitemap_detail,
sitemap_index, sitemap_index,
) )
@ -78,7 +78,7 @@ urlpatterns = [
{"sitemaps": sitemaps}, {"sitemaps": sitemaps},
name="sitemap-detail", name="sitemap-detail",
), ),
path("download/<str:order_product_uuid>/", download_digital_asset_view, name="download_digital_asset"), path("download/<str:order_product_uuid>/", DownloadDigitalAssetView.as_view(), name="download_digital_asset"),
path("search/", GlobalSearchView.as_view(), name="global_search"), path("search/", GlobalSearchView.as_view(), name="global_search"),
path("app/cache/", CacheOperatorView.as_view(), name="cache_operator"), path("app/cache/", CacheOperatorView.as_view(), name="cache_operator"),
path("app/languages/", SupportedLanguagesView.as_view(), name="supported_languages"), path("app/languages/", SupportedLanguagesView.as_view(), name="supported_languages"),

View file

@ -14,6 +14,8 @@ from core.serializers import (
AttributeSimpleSerializer, AttributeSimpleSerializer,
AttributeValueDetailSerializer, AttributeValueDetailSerializer,
AttributeValueSimpleSerializer, AttributeValueSimpleSerializer,
BrandDetailSerializer,
BrandSimpleSerializer,
BulkAddOrderProductsSerializer, BulkAddOrderProductsSerializer,
BulkAddWishlistProductSerializer, BulkAddWishlistProductSerializer,
BulkRemoveOrderProductsSerializer, BulkRemoveOrderProductsSerializer,
@ -29,9 +31,21 @@ from core.serializers import (
OrderProductSimpleSerializer, OrderProductSimpleSerializer,
OrderSimpleSerializer, OrderSimpleSerializer,
ProductDetailSerializer, ProductDetailSerializer,
ProductImageDetailSerializer,
ProductImageSimpleSerializer,
ProductSimpleSerializer, ProductSimpleSerializer,
ProductTagDetailSerializer,
ProductTagSimpleSerializer,
PromoCodeDetailSerializer,
PromoCodeSimpleSerializer,
PromotionDetailSerializer,
PromotionSimpleSerializer,
RemoveOrderProductSerializer, RemoveOrderProductSerializer,
RemoveWishlistProductSerializer, RemoveWishlistProductSerializer,
StockDetailSerializer,
StockSimpleSerializer,
VendorDetailSerializer,
VendorSimpleSerializer,
WishlistDetailSerializer, WishlistDetailSerializer,
WishlistSimpleSerializer, WishlistSimpleSerializer,
) )
@ -652,3 +666,196 @@ ORDER_PRODUCT_SCHEMA = {
}, },
), ),
} }
BRAND_SCHEMA = {
"list": extend_schema(
summary=_("list all brands (simple view)"),
responses={status.HTTP_200_OK: BrandSimpleSerializer(many=True), **BASE_ERRORS},
),
"retrieve": extend_schema(
summary=_("retrieve a single brand (detailed view)"),
responses={status.HTTP_200_OK: BrandDetailSerializer(), **BASE_ERRORS},
),
"create": extend_schema(
summary=_("create a brand"),
responses={status.HTTP_201_CREATED: BrandDetailSerializer(), **BASE_ERRORS},
),
"destroy": extend_schema(
summary=_("delete a brand"),
responses={status.HTTP_204_NO_CONTENT: {}, **BASE_ERRORS},
),
"update": extend_schema(
summary=_("rewrite an existing brand saving non-editables"),
responses={status.HTTP_200_OK: BrandDetailSerializer(), **BASE_ERRORS},
),
"partial_update": extend_schema(
summary=_("rewrite some fields of an existing brand saving non-editables"),
responses={status.HTTP_200_OK: BrandDetailSerializer(), **BASE_ERRORS},
),
"seo_meta": extend_schema(
summary=_("SEO Meta snapshot for brand"),
responses={status.HTTP_200_OK: SeoSnapshotSerializer(), **BASE_ERRORS},
),
}
VENDOR_SCHEMA = {
"list": extend_schema(
summary=_("list all vendors (simple view)"),
responses={status.HTTP_200_OK: VendorSimpleSerializer(many=True), **BASE_ERRORS},
),
"retrieve": extend_schema(
summary=_("retrieve a single vendor (detailed view)"),
responses={status.HTTP_200_OK: VendorDetailSerializer(), **BASE_ERRORS},
),
"create": extend_schema(
summary=_("create a vendor"),
responses={status.HTTP_201_CREATED: VendorDetailSerializer(), **BASE_ERRORS},
),
"destroy": extend_schema(
summary=_("delete a vendor"),
responses={status.HTTP_204_NO_CONTENT: {}, **BASE_ERRORS},
),
"update": extend_schema(
summary=_("rewrite an existing vendor saving non-editables"),
responses={status.HTTP_200_OK: VendorDetailSerializer(), **BASE_ERRORS},
),
"partial_update": extend_schema(
summary=_("rewrite some fields of an existing vendor saving non-editables"),
responses={status.HTTP_200_OK: VendorDetailSerializer(), **BASE_ERRORS},
),
}
PRODUCT_IMAGE_SCHEMA = {
"list": extend_schema(
summary=_("list all product images (simple view)"),
responses={status.HTTP_200_OK: ProductImageSimpleSerializer(many=True), **BASE_ERRORS},
),
"retrieve": extend_schema(
summary=_("retrieve a single product image (detailed view)"),
responses={status.HTTP_200_OK: ProductImageDetailSerializer(), **BASE_ERRORS},
),
"create": extend_schema(
summary=_("create a product image"),
responses={status.HTTP_201_CREATED: ProductImageDetailSerializer(), **BASE_ERRORS},
),
"destroy": extend_schema(
summary=_("delete a product image"),
responses={status.HTTP_204_NO_CONTENT: {}, **BASE_ERRORS},
),
"update": extend_schema(
summary=_("rewrite an existing product image saving non-editables"),
responses={status.HTTP_200_OK: ProductImageDetailSerializer(), **BASE_ERRORS},
),
"partial_update": extend_schema(
summary=_("rewrite some fields of an existing product image saving non-editables"),
responses={status.HTTP_200_OK: ProductImageDetailSerializer(), **BASE_ERRORS},
),
}
PROMOCODE_SCHEMA = {
"list": extend_schema(
summary=_("list all promo codes (simple view)"),
responses={status.HTTP_200_OK: PromoCodeSimpleSerializer(many=True), **BASE_ERRORS},
),
"retrieve": extend_schema(
summary=_("retrieve a single promo code (detailed view)"),
responses={status.HTTP_200_OK: PromoCodeDetailSerializer(), **BASE_ERRORS},
),
"create": extend_schema(
summary=_("create a promo code"),
responses={status.HTTP_201_CREATED: PromoCodeDetailSerializer(), **BASE_ERRORS},
),
"destroy": extend_schema(
summary=_("delete a promo code"),
responses={status.HTTP_204_NO_CONTENT: {}, **BASE_ERRORS},
),
"update": extend_schema(
summary=_("rewrite an existing promo code saving non-editables"),
responses={status.HTTP_200_OK: PromoCodeDetailSerializer(), **BASE_ERRORS},
),
"partial_update": extend_schema(
summary=_("rewrite some fields of an existing promo code saving non-editables"),
responses={status.HTTP_200_OK: PromoCodeDetailSerializer(), **BASE_ERRORS},
),
}
PROMOTION_SCHEMA = {
"list": extend_schema(
summary=_("list all promotions (simple view)"),
responses={status.HTTP_200_OK: PromotionSimpleSerializer(many=True), **BASE_ERRORS},
),
"retrieve": extend_schema(
summary=_("retrieve a single promotion (detailed view)"),
responses={status.HTTP_200_OK: PromotionDetailSerializer(), **BASE_ERRORS},
),
"create": extend_schema(
summary=_("create a promotion"),
responses={status.HTTP_201_CREATED: PromotionDetailSerializer(), **BASE_ERRORS},
),
"destroy": extend_schema(
summary=_("delete a promotion"),
responses={status.HTTP_204_NO_CONTENT: {}, **BASE_ERRORS},
),
"update": extend_schema(
summary=_("rewrite an existing promotion saving non-editables"),
responses={status.HTTP_200_OK: PromotionDetailSerializer(), **BASE_ERRORS},
),
"partial_update": extend_schema(
summary=_("rewrite some fields of an existing promotion saving non-editables"),
responses={status.HTTP_200_OK: PromotionDetailSerializer(), **BASE_ERRORS},
),
}
STOCK_SCHEMA = {
"list": extend_schema(
summary=_("list all stocks (simple view)"),
responses={status.HTTP_200_OK: StockSimpleSerializer(many=True), **BASE_ERRORS},
),
"retrieve": extend_schema(
summary=_("retrieve a single stock (detailed view)"),
responses={status.HTTP_200_OK: StockDetailSerializer(), **BASE_ERRORS},
),
"create": extend_schema(
summary=_("create a stock record"),
responses={status.HTTP_201_CREATED: StockDetailSerializer(), **BASE_ERRORS},
),
"destroy": extend_schema(
summary=_("delete a stock record"),
responses={status.HTTP_204_NO_CONTENT: {}, **BASE_ERRORS},
),
"update": extend_schema(
summary=_("rewrite an existing stock record saving non-editables"),
responses={status.HTTP_200_OK: StockDetailSerializer(), **BASE_ERRORS},
),
"partial_update": extend_schema(
summary=_("rewrite some fields of an existing stock record saving non-editables"),
responses={status.HTTP_200_OK: StockDetailSerializer(), **BASE_ERRORS},
),
}
PRODUCT_TAG_SCHEMA = {
"list": extend_schema(
summary=_("list all product tags (simple view)"),
responses={status.HTTP_200_OK: ProductTagSimpleSerializer(many=True), **BASE_ERRORS},
),
"retrieve": extend_schema(
summary=_("retrieve a single product tag (detailed view)"),
responses={status.HTTP_200_OK: ProductTagDetailSerializer(), **BASE_ERRORS},
),
"create": extend_schema(
summary=_("create a product tag"),
responses={status.HTTP_201_CREATED: ProductTagDetailSerializer(), **BASE_ERRORS},
),
"destroy": extend_schema(
summary=_("delete a product tag"),
responses={status.HTTP_204_NO_CONTENT: {}, **BASE_ERRORS},
),
"update": extend_schema(
summary=_("rewrite an existing product tag saving non-editables"),
responses={status.HTTP_200_OK: ProductTagDetailSerializer(), **BASE_ERRORS},
),
"partial_update": extend_schema(
summary=_("rewrite some fields of an existing product tag saving non-editables"),
responses={status.HTTP_200_OK: ProductTagDetailSerializer(), **BASE_ERRORS},
),
}

View file

@ -42,6 +42,15 @@ class OrderProductForm(forms.ModelForm):
} }
class StockForm(forms.ModelForm):
class Meta:
model = Product
fields = "__all__"
widgets = {
"system_attributes": JSONTableWidget(),
}
class OrderForm(forms.ModelForm): class OrderForm(forms.ModelForm):
class Meta: class Meta:
model = Order model = Order

View file

@ -481,6 +481,7 @@ class ProductType(DjangoObjectType): # type: ignore [misc]
personal_orders_only = Boolean(description=_("only available for personal orders")) personal_orders_only = Boolean(description=_("only available for personal orders"))
seo_meta = Field(SEOMetaType, description=_("SEO Meta snapshot")) seo_meta = Field(SEOMetaType, description=_("SEO Meta snapshot"))
rating = Float(description=_("rating value from 1 to 10, inclusive, or 0 if not set.")) rating = Float(description=_("rating value from 1 to 10, inclusive, or 0 if not set."))
discount_price = Float(description=_("discount price"))
class Meta: class Meta:
model = Product model = Product
@ -577,6 +578,9 @@ class ProductType(DjangoObjectType): # type: ignore [misc]
"hreflang": info.context.LANGUAGE_CODE, "hreflang": info.context.LANGUAGE_CODE,
} }
def resolve_discount_price(self: Product, _info) -> float | None:
return self.discount_price
class AttributeValueType(DjangoObjectType): # type: ignore [misc] class AttributeValueType(DjangoObjectType): # type: ignore [misc]
value = String(description=_("attribute value")) value = String(description=_("attribute value"))

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Some files were not shown because too many files have changed in this diff Show more