From fa165244b824154ec2a096d56ec88bba0023d9cd Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Sun, 16 Nov 2025 17:22:16 +0300 Subject: [PATCH] Features: 1) Added DigitalAssetDownload functionality to handle file serving and download URL generation; 2) Implemented business purchase flow without registration; Fixes: 1) Added missing configuration check for NOMINATIM_URL; Extra: 1) Enhanced error handling for missing digital asset files; 2) Improved API response headers for sitemap index; 3) Added missing fields and metadata support for Product, Order, and Attribute models. --- .../core/locale/en_GB/LC_MESSAGES/django.mo | Bin 85990 -> 85992 bytes .../core/locale/en_GB/LC_MESSAGES/django.po | 4 ++-- .../core/locale/en_US/LC_MESSAGES/django.mo | Bin 85981 -> 85983 bytes .../core/locale/en_US/LC_MESSAGES/django.po | 4 ++-- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/engine/core/locale/en_GB/LC_MESSAGES/django.mo b/engine/core/locale/en_GB/LC_MESSAGES/django.mo index 1a7883b333d4bd255aef940bd726fbfdb24fd5f2..06778040ed1cd8dfce120aa7222520856c12dd5f 100644 GIT binary patch delta 4853 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 delta 4834 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 delta 4834 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 diff --git a/engine/core/locale/en_US/LC_MESSAGES/django.po b/engine/core/locale/en_US/LC_MESSAGES/django.po index 609c7b12..2b19ac8b 100644 --- a/engine/core/locale/en_US/LC_MESSAGES/django.po +++ b/engine/core/locale/en_US/LC_MESSAGES/django.po @@ -2746,7 +2746,7 @@ msgstr "No links available." #: engine/core/templates/admin/index.html:119 msgid "Most wished product" -msgstr "Most wished product" +msgstr "Most wished products" #: engine/core/templates/admin/index.html:128 #: engine/core/templates/admin/index.html:144 @@ -2755,7 +2755,7 @@ msgstr "No data yet." #: engine/core/templates/admin/index.html:135 msgid "Most popular product" -msgstr "Most popular product" +msgstr "Most popular products" #: engine/core/templates/digital_order_created_email.html:7 #: engine/core/templates/digital_order_created_email.html:100