Commit graph

680 commits

Author SHA1 Message Date
ef2830d36a Fix duplicate detection by using UUID in migration script
The migration script now counts duplicates based on the "uuid" field instead of "id". This ensures more accurate identification of duplicate "human_readable_id" entries.
2025-05-06 17:16:52 +03:00
146bbc3539 Fix duplicate human_readable_id values in Order model
This migration resolves duplicate human_readable_id values by assigning unique IDs where necessary. A data migration script is introduced to identify and fix duplicates before altering the field.
2025-05-06 17:13:33 +03:00
ca60bf09a6 Increase max_length of human_readable_id to 8.
Updated the `human_readable_id` field in the `Order` model to support a maximum length of 8 instead of 6. Removed the redundant migration file `0019_alter_order_human_readable_id.py` for cleanup.
2025-05-06 17:06:39 +03:00
dc9effdd5b Update human_readable_id field in Order model
Alter the `human_readable_id` field to use a custom generator function and ensure uniqueness. This improves the readability and integrity of order identifiers.
2025-05-06 17:04:29 +03:00
4deece673f Increase max_length of human_readable_id to 8.
Updated the field definition of `human_readable_id` to allow up to 8 characters instead of 6. This change accommodates longer identifiers as required for recent updates.
2025-05-06 17:01:55 +03:00
0c1caa422c Add human-readable ID field to Order model
Introduced a `human_readable_id` field to the Order model to provide a concise and recognizable identifier, initialized with a default generator. Updated the field to enforce uniqueness to ensure consistent identification across orders.
2025-05-06 16:58:44 +03:00
131258517f Adjust Celery task time limits in configuration.
Increased `task_soft_time_limit` to 7200 seconds and `task_time_limit` to 10800 seconds in both `celery.py` and `docker-compose.yml`. This change allows longer-running tasks to complete without premature termination.
2025-05-06 16:39:21 +03:00
ef553a94a4 Refactor Elasticsearch documents for efficiency and clarity
Simplified field definitions and improved code consistency by consolidating and aligning styles. Added `prepare_*` methods to gracefully handle None values for fields. Enhanced multilingual support and streamlined query construction for better maintainability.
2025-05-06 15:32:55 +03:00
64a2fe7726 Increase Celery task time limits.
Updated `task_soft_time_limit` to 3600 seconds and `task_time_limit` to 7200 seconds in both `celery.py` and `docker-compose.yml`. This allows tasks to run longer before being terminated, ensuring support for extended processing requirements.
2025-05-06 14:58:39 +03:00
d87e93e705 Update docker-compose to include Elasticsearch dependencies
Added Elasticsearch as a dependency for 'app' and 'database' services to ensure proper startup order. Removed unnecessary Redis dependency from the Flower service to streamline configuration. These changes improve service interactions and startup stability.
2025-05-06 14:47:47 +03:00
3f94933017 Add core.b2b_urls to B2B URL routing
Included the core.b2b_urls module in the main B2B URL patterns to organize and modularize URL configurations. This change enhances code maintainability and improves routing logic clarity.
2025-05-06 04:14:04 +03:00
5012727e84 Refactor DRF settings and fix schema configurations
Updated DRF settings with new TOS URL and version for consistency. Corrected API URLs in B2B schema and reorganized imports in core views for better readability. These changes ensure accurate references and maintain cleaner code structure.
2025-05-06 03:48:59 +03:00
76d490f2e2 Refactor translation command and improve order model.
Enhanced the `deepl_translate` management command with improved placeholder handling, error messages, and support for missing translations. Added `human_readable_id` and `is_business` attributes to the `Order` model, updating associated admin configurations to reflect these changes.
2025-05-06 03:28:06 +03:00
85a49c4e8b Add "DISABLED_COMMERCE" feature to disable buying functionality
Introduce a global config flag `DISABLED_COMMERCE` to toggle buy functionality availability. Raise specific `DisabledCommerceError` when buying is disabled, ensuring end-users are informed. Additionally, reformat code for readability and consistency, improving overall maintainability.
2025-05-05 17:32:57 +03:00
96c3fe23b0 Update promotion handling and logging levels
Change promotions to inactive instead of deleting them to maintain data integrity. Adjust Celery logging levels to be DEBUG/INFO based on the DEBUG setting, improving log granularity during development and clarity in production.
2025-05-05 17:16:57 +03:00
4e04caf91d Update Product slug generation to include UUID
The migration alters the `slug` field to include `uuid` in its `populate_from` attributes. This ensures more robust and unique slug generation, improving data integrity and avoiding potential collisions.
2025-05-05 15:56:21 +03:00
4bd037b828 Update middleware to validate hosts and conditionally log errors
Replaced hardcoded host checks with a dynamic check using `ALLOWED_HOSTS` from environment variables. Adjusted exception logging to include tracebacks only when the `DEBUG` environment variable is enabled.
2025-05-05 15:49:20 +03:00
04a89be549 Update Celery settings and worker configuration
Refactored Celery configurations to enhance task reliability, including changes to prefetch multiplier and timeout settings. Updated the worker command in `docker-compose.yml` to specify concurrency, memory limits, and task timeouts. Added a memory limit for the worker service to improve resource management.
2025-05-05 15:28:20 +03:00
8f55bece81 Add slug generation and extend search results handling
Introduced slug creation using `slugify` for improved usability in search results. Extended the search results structure to include a new "posts" category alongside "products", "categories", and "brands". This enhances the flexibility and scope of the search functionality.
2025-04-30 19:24:26 +03:00
b4ef65314d Update query logic to fix invalid method chaining
Removed invalid `select_related` and `prefetch_related` chaining on the product query. This resolves potential errors in fetching related data and ensures proper functionality.
2025-04-30 17:08:43 +03:00
b924797869 Update Product slug field to use simpler populate_from sources
Revised the `populate_from` argument of the Product model's `slug` field to use only `category__name` and `name` for generation. This simplifies the slug creation logic and aligns with the updated migration `0015_alter_product_slug`.
2025-04-30 17:03:53 +03:00
3caab8f523 Add management command to populate Product slugs
Introduce a Django management command to populate the `slug` field for Product instances where it is null. The command processes products in batches, handles errors gracefully, and logs issues for troubleshooting.
2025-04-30 16:58:57 +03:00
e41ac426f4 Alter Product slug field to allow null values
Changed the `slug` field in the `Product` model to allow null values by setting `null=True`. This ensures better flexibility when handling cases where a slug might not be immediately available.
2025-04-30 16:49:54 +03:00
2c8c8ba291 Update Product slug field configuration in migrations
Made the `slug` field nullable in migration 0013 before reverting this change in migration 0014. Additionally, altered the population logic to always include `uuid`.
2025-04-30 16:46:58 +03:00
f2e319f477 Update product slug field to include UUID in generation logic
This change modifies the `slug` field in the `Product` model to also populate from the `UUID` field, ensuring enhanced uniqueness and consistency. The migration file is included to apply this change to the database schema.
2025-04-30 16:42:42 +03:00
d4928db393 Set slug field to allow null values
The slug field in the model now permits null values by adding `null=True`. This change enhances flexibility in scenarios where slugs may not always be mandatory.
2025-04-30 16:39:28 +03:00
a3eb5cf7f2 Simplify product URL structure in sitemap generation.
Removed the UUID component from product URLs in the sitemap to enhance readability and improve user experience. This change ensures cleaner, more user-friendly links without impacting functionality.
2025-04-30 16:33:28 +03:00
3ec0991aa6 Add slug field to Product and update related functionalities
Introduce a unique, auto-generated slug field to the Product model, populated from category, brand, and name. Update core filters, serializers, sitemaps, and GraphQL object types to support the new slug functionality. Also, enforce HTTP-only cookies for session, CSRF, and language for improved security.
2025-04-30 16:31:54 +03:00
bbde0a4654 Update PostType and PostTagType field definitions
Replaced `fields = "__all__"` with specific fields for better control and security. Removed unused `filter_fields` to clean up the code and align with actual requirements. These changes improve maintainability and clarity.
2025-04-30 00:37:09 +03:00
68febcdb08 Initial Commit 2025-04-29 22:40:30 +03:00