Commit graph

581 commits

Author SHA1 Message Date
ae1d16edda Features: Move from poetry to uv.
Fixes: Removed naive datetime warning

Extra: Correct import in elasticsearch submodule.
2025-10-25 02:18:41 +03:00
202964aea6 Features: 1) Add _in_celery_task utility function to detect task execution context; 2) Enhance vendor integration retrieval with context-specific logging (async/sync); 3) Improve error handling in vendor integration loading with exception logging;
Fixes: None;

Extra: 1) Refactor vendor filtering logic for clarity; 2) Add imports for logging, contextlib, and Celery utilities;
2025-10-21 12:44:19 +03:00
45d20bc17e Features: 1) Add integration_path filter to active vendor query in get_vendors_integrations;
Fixes: 1) Ensure only vendors with a valid integration_path are included in the results;

Extra: 1) Adjust query formatting for improved readability.
2025-10-21 12:40:21 +03:00
5384fa494d Features: 1) Add get_integration_class_object method to Transaction for dynamic gateway class instantiation;
Fixes: 1) Validate gateway presence in `process_transaction_changes` signal; 2) Add missing imports for `Type`, `create_object`, and `AbstractGateway`;

Extra: 1) Cleanup unused diff lines in migrations files; 2) Improve JSONField, FloatField, and PositiveIntegerField declarations by consolidating into single lines; 3) Remove redundant match-case logic in `signals.py`.
2025-10-21 12:33:17 +03:00
a87cb31d7e Features: 1) Add Gateway model with fields for UUID, activation status, currency details, limits, and integration variables; 2) Add gateway foreign key to Transaction model; 3) Introduce is_static_page field to Post model to differentiate static pages; 4) Add integration_path field to Vendor model.
Fixes: 1) Correct import order in `payments.admin`.

Extra: 1) Update `productimage.priority` field in `core` app with default value and help text; 2) Include `integration_path` in `Vendor` admin additional fields.
2025-10-21 12:25:24 +03:00
3b7c405e84 Features: 1) Add GatewayForm to manage Gateway model; 2) Enhance GatewayAdmin with list display, search, and ordering; 3) Introduce integration_variables field in the Gateway model; 4) Expand support for currencies with symbols via CURRENCIES_WITH_SYMBOLS;
Fixes: 1) Add missing Gateway import in forms and admin modules; 2) Correct maximum lengths for currency fields in the Gateway model;

Extra: 1) Refactor README for clarity and conciseness; 2) Adjust formatting in `core/sitemaps.py` for readability.
2025-10-21 12:23:02 +03:00
4757634ce5 Merge branch 'feature/update-center' 2025-10-21 11:58:27 +03:00
06290c0278 Features: 1) Add dynamic static page generation in StaticPagesSitemap by integrating active blog posts marked as static pages; 2) Introduce SitemapLanguageMixin to handle language-based URL generation across sitemaps; 3) Add is_static_page field to Post model for designating posts as static pages;
Fixes: 1) Correct router naming in `blog/urls.py` from `payment_router` to `blog_router` for clarity;

Extra: 1) Refactor obsolete `StaticPagesSitemap.PAGES` structure with a dynamic `items` method; 2) Create placeholder 404 URLs for non-existent slugs; 3) Update and simplify docstring for `Post` class, replacing inline details with a concise translation-aware docstring.
2025-10-20 22:56:11 +03:00
2712ccdeb7 Features: 1) Add retry mechanism with exponential backoff for saving attributes to handle deadlocks.
Fixes: 1) Remove unused `traceback` import; 2) Add missing import for `OperationalError`; 3) Prevent redundant saves for unchanged attributes.

Extra: 1) Simplify attribute save logic and improve efficiency; 2) Code cleanup for better readability.
2025-10-19 01:44:28 +03:00
1fed75584e Features: 1) Add migration to enforce unique constraint on Attribute model for fields name, group, and value_type;
Fixes: 1) Remove redundant traceback logging in `core/vendors/__init__.py`;

Extra: 1) Update Attribute model's `unique_together` to include `value_type`.
2025-10-19 00:16:57 +03:00
2212a7ccb6 Features: (none);
Fixes: 1) Remove unnecessary blank line in migration file;

Extra: (none);
2025-10-18 23:16:49 +03:00
a700a1c7e6 Features: 1) Update attribute.name and its localized variants to remove the unique constraint and set null=True for optional fields;
Fixes: 1) Correct field attributes in `attribute` model to align with database requirements;

Extra: 1) Generated migration file `0046_alter_attribute_name_alter_attribute_name_ar_ar_and_more.py`.
2025-10-18 22:41:43 +03:00
44e5e74044 Features: 1) Add async logger initialization in core/vendors and log warnings for missing attribute values, groups, and integrity errors; 2) Add traceback logging for attribute-related errors in core/vendors;
Fixes: 1) Add missing `sku` to readonly fields in `core/admin`;

Extra: 1) Remove unnecessary import of `AnonymousUser` from `core/serializers/detail.py`.
2025-10-18 16:19:39 +03:00
efeab3e426 Features: 1) Add multiple database indexes to enhance query performance for models order, orderproduct, and product.
Fixes: 1) Remove redundant blank line in migration file.

Extra: 1) Simplify index definition formatting for better readability.
2025-10-18 11:48:40 +03:00
ef8fdd6347 Fixes: 1) Correct ordering logic in final_ordering to prepend "personal_order_tail" instead of appending. 2025-10-18 11:45:27 +03:00
f67319ba5a Features: 1) None;
Fixes: 1) Correct conditional check for cached filterable results to handle `None` values; 2) Remove unnecessary permission checks for attribute filtering;

Extra: 1) Update cache expiry time from 86400 seconds to 3600 seconds.
2025-10-18 11:35:55 +03:00
c78e0e8137 Features: 1) Add database indices for improved query performance on order, orderproduct, product, and vendor models; 2) Update name fields across multiple languages in product model to include db_index and enhanced help text.
Fixes: None;

Extra: Generated new migration `0045_alter_product_name_alter_product_name_ar_ar_and_more`.
2025-10-17 14:28:08 +03:00
c263182414 Features: 1) Add seen_keys mechanism to avoid duplicate hits in Elasticsearch query results; 2) Introduce _collect_hits helper function for processing and storing hits; 3) Add exact-match queries for categories, brands, and products to improve search accuracy.
Fixes: 1) Prevent duplicate entries in hit processing by checking `seen_keys`.

Extra: Refactor query-building logic for consistency and readability; minor performance optimizations in query execution.
2025-10-16 15:19:13 +03:00
e894affad7 Features: 1) Add with_related method to managers for optimized prefetching; 2) Add indexes to models for enhanced query performance; 3) Introduce cached_property for feedback count and product quantity; 4) Implement Exists and OuterRef filters for active stock validation in viewsets.
Fixes: 1) Simplify rating and feedback count logic by removing caching layers; 2) Refactor price and quantity calculations for improved accuracy and simplicity; 3) Optimize total price and quantity aggregations in orders by leveraging Django ORM tools.

Extra: Adjusted import statements, removed redundant cache logic, and cleaned up methods for better readability and maintainability.
2025-10-16 14:04:18 +03:00
00e94a2b29 Features: 1) Add validation to ensure order_product_uuid is required in download_digital_asset_view.
Fixes: 1) Remove unnecessary blank line in `core/viewsets.py`.

Extra: 1) Minor cleanup in `core/views.py` to improve clarity.
2025-10-16 10:01:34 +03:00
0bfc4c2984 Features: 1) Add detailed error responses with exception messages for Order.DoesNotExist and ValueError in order-related actions; 2) Improve create_promocode_on_user_referring with stricter type check for user attributes;
Fixes: 1) Move `get_object()` call into `try` block to prevent unhandled exceptions during order retrieval;

Extra: 1) Minor code reformatting for improved readability.
2025-10-16 09:58:13 +03:00
8889429a02 Features: 1) Delete vendor's last processing response if present before saving new data;
Fixes: none;

Extra: none;
2025-10-15 17:17:36 +03:00
3b1d20ff14 Features: 1) Import gzip, BytesIO, datetime, and ContentFile at the top level for consolidation and reuse;
Fixes: 1) Remove redundant in-function imports for `gzip`, `BytesIO`, `datetime`, and `ContentFile`;

Extra: 1) Minor reorganization to improve readability and adhere to import best practices.
2025-10-15 16:21:35 +03:00
d355045755 Features: 1) Update save_response method to support data as both dictionary or list;
Fixes: ;

Extra: ;
2025-10-15 16:17:03 +03:00
996362d9f1 Features: 1) Add save_response method to save vendor responses with optional gzip compression; 2) Introduce VendorDebuggingError for debugging-specific exceptions; 3) Add imports for config and settings for enhanced configuration support;
Fixes: None;

Extra: Improve exception handling with `suppress(Exception)` block; add detailed docstring to `VendorDebuggingError`.
2025-10-15 16:15:23 +03:00
20d5f5db21 Features: 1) Add support for linking Gateway to transactions including constraints and limits; 2) Implement new Gateway model with transactional rules and currency configurations; 3) Add integration_path field to Vendor for dynamic integrations; 4) Improve task logic to dynamically use vendor integrations for stock updates and order statuses.
Fixes: 1) Replace `IntegerField` with `PositiveIntegerField` for product image priority to enforce positive values.

Extra: 1) Optimize imports for consistent formatting; 2) Clarify logging messages in tasks; 3) Minor docstring and help text updates.
2025-10-15 14:25:58 +03:00
6fa037390c Features: 1) Add get_gateways_integrations utility for payment gateway integrations; 2) Add get_vendors_integrations utility for vendor integrations; 3) Add version API endpoint to return eVibes version; 4) Implement __str__ method for AbstractVendor;
Fixes: 1) Update return type of `create_object` to `Any`;

Extra: 1) Remove unused fields (`icon`, `priority`, `hide`) from `blog.apps`; 2) Update API URLs to include `version` endpoint; 3) Miscellaneous cleanup and comments.
2025-10-15 14:25:10 +03:00
e7a859ad0a Fixes: 1) Ensure get_parameters handles missing configuration keys gracefully by adding a check for None values;
Extra: Update `cache.get` default value in `get_parameters` method for better safety.
2025-10-14 19:48:46 +03:00
20b4efec90 Fixes: 1) Add "last_processing_response" to additional_fields in admin configuration;
Extra: Adjust admin display fields for improved traceability;
2025-10-14 17:55:03 +03:00
5fcb9e7547 Fixes: 1) Replace "additional_fields" with "last_processing_response" in additional_fields list for better clarity; 2025-10-14 17:54:42 +03:00
72a96edda1 Features: 3.1.0 2025-10-14 16:46:09 +03:00
e0b2f183ce Features: 1) Extend fieldsets by adding additional_fields support in FieldsetsMixin; 2) Add CRMForm for CustomerRelationshipManagementProviderAdmin; 3) Improve Order.__str__ to use human_readable_id for better debugging context;
Fixes: 1) Replace misplaced imports in `core/admin.py` for proper organization;

Extra: Adjust admin fieldsets for consistency, formatting, and search enhancements; Minor contributions to migration file cleanup.
2025-10-13 16:27:47 +03:00
c8aaae4946 Features: 1) Add last_processing_response field to vendor model with FileField support.
Fixes: 1) Update translation strings for multiple locales to correct formatting issues.

Extra: 1) Update POT creation date across locale files; 2) Minor adjustments to translations for consistency.
2025-10-13 16:11:37 +03:00
c9d6ec22f5 Fixes: 1) Remove unnecessary addition of product.category to attribute.categories in core/vendors/__init__.py.
Extra: Minor cleanup to improve readability and maintainability.
2025-10-09 12:41:25 +03:00
d14d8e41db Fixes: 1) Replace product_uuid with product_id in stock filtering queries to ensure compatibility.
Extra: Refactor annotations for consistency across `core/filters.py` and `core/graphene/schema.py`.
2025-10-07 20:05:07 +03:00
f646d5ab09 Features: 1) Add Stock existence filters for has_price and has_stock annotations in queries; 2) Introduce personal_order_tail for improved ordering logic; 3) Support advanced filtering in DjangoFilterConnectionField with augmented filters and types.
Fixes: 1) Correct import order in multiple files; 2) Remove unnecessary migration file metadata changes.

Extra: 1) Refactor ordering logic to streamline query annotations; 2) Improve code readability with explicit list annotations and consistent formatting adjustments.
2025-10-07 17:49:07 +03:00
0752221d22 Features: 1) Simplify robots.txt disallow rules with wildcard usage for better pattern matching;
Fixes: 1) None;

Extra: 1) Cleanup redundant entries in robots.txt for improved readability;
2025-10-07 17:37:54 +03:00
dc4da60e82 Features: 1) Add support for multilingual meta descriptions in the post model, covering 30+ locales.
Fixes: None.

Extra: Update `django.po` and `django.mo` localization files to reflect translation changes and model updates.
2025-10-07 15:53:08 +03:00
9e40323823 Features: 1) Update all locale translations for token-related messages; 2) Update all locale translations with read-only Transaction ViewSet description; 3) Update all locale translations for reset password and token validations;
Fixes: 1) Correct line references in locale files for consistency;

Extra: Improve formatting and alignment of string segments for clarity and maintainability;
2025-10-06 15:58:30 +03:00
e1f9a7cace Features: 1) Update POT-Creation-Date across translation files to reflect the latest changes; 2) Adjust line references in message comments for accurate mappings.
Fixes: 1) Harmonize inconsistent whitespace across translation files.

Extra: Address formatting issues in translation strings for better readability and maintainability.
2025-10-04 01:57:31 +03:00
58e1390d4d Fixes: 1) Correct string argument in hasattr call within download_url method. 2025-10-03 17:38:18 +03:00
6fe1664d57 Fixes: 1) Corrected download attribute check with hasattr to prevent potential AttributeError;
Extra: n/a;
2025-10-03 17:37:20 +03:00
9ad79f0c5e Fixes: 1) Handle missing DigitalAssetDownload instance in download_url method with explicit conditional logic;
Extra: 1) Simplify exception handling by replacing it with clear branch logic.
2025-10-03 17:26:58 +03:00
90d077fefd Features: 1) Add setter method for personal_orders_only in core.models.py;
Fixes: 1) Correct exception handling by replacing `self.download.RelatedObjectDoesNotExist` with `DigitalAssetDownload.RelatedObjectDoesNotExist`;

Extra: None;
2025-10-03 17:16:52 +03:00
40c86c7eef Features: 1) Streamlined stock and price annotations by removing redundant Max wrapping;
Fixes: None;

Extra: 1) Simplified code structure for readability; 2) Optimized boolean calculations for annotations;
2025-10-03 17:07:59 +03:00
d917584829 Features: 1) Replace IntegerField with BooleanField for has_stock, has_price, and personal_orders_only annotations; 2) Modify final ordering logic to append personal_orders_only at the end.
Fixes: 1) Handle missing `download` relation in `download_url` method by creating a new `DigitalAssetDownload` instance.

Extra: 1) Rename `personal_order_only` to `personal_orders_only` for clarity; 2) Remove unused IntegerField import; 3) General cleanup and minor adjustments in filters logic.
2025-10-03 16:56:29 +03:00
63b3a93938 Fixes: 1) Correct logical grouping in personal_orders_only property for clarity and accuracy;
Extra: None;
2025-10-02 17:13:24 +03:00
a344014d9f Features: 1) Add annotations for has_stock, has_price, and personal_order_only in product query to enhance filtering and sorting; 2) Implement conditional ordering by personal_order_only in product query;
Fixes: 1) Remove redundant `personal_order_only` mapping from filters to fix duplicate processing; 2) Adjust sorting logic to avoid appending unneeded `personal_order_only` in filters;

Extra: 1) Add missing imports for Django model annotations and fields; 2) Refactor product query for clarity and improved handling of availability and price conditions.
2025-10-02 15:08:20 +03:00
fa97a582d3 Features: 1) Add fallback logic for business_identificator lookup in order and user attributes; 2) Implement raise_for_status for FNS API requests to handle HTTP errors effectively;
Fixes: 1) Remove unused Django `settings` import;

Extra: 1) Minor reorganization of variable assignments for clarity.
2025-10-02 14:26:21 +03:00
d1ee8d6f97 Features: 1) Add support for loading redirect_uri from dynamic config using constance.BASE_DOMAIN;
Fixes: 1) Add missing imports for `constance.config` and `django.conf.settings`;

Extra: 1) Minor adjustment to `payload` initialization for consistency.
2025-10-02 13:50:03 +03:00