Fixes: 1) Removed unused imports including `Order` from `payments/models.py` and `health_check.contrib.redis` from settings; 2) Fixed inconsistent formatting and parameter alignment in method definitions; 3) Corrected type annotations and adjusted verbose text handling;
Extra: Cleaned up formatting in docstrings, comments, and JSON field help text across multiple files for better code style compliance and readability.
Fixes: 1) Correct `urlsafe_base64_encode` decoding logic in tests; 2) Fix queryset access issues in resolvers; 3) Address missing or incorrect imports across multiple files.
Extra: Improve code readability with consistent naming and formatting; Add `# noinspection` annotations to suppress IDE warnings; Update `pyproject.toml` to exclude `drf.py` in MyPy checks.
Fixes: 1) Corrected `ForeignKey` type assertions across models; 2) Resolved typos and formatting inconsistencies in `.env` and README; 3) Fixed explicit boolean checks in user manager methods.
Extra: Updated type hints in multiple models, serializers, and views.
Fixes: 1) Address minor spacing inconsistencies in list comprehension and JSON detection logic;
Extra: 1) Update `.gitignore` to exclude `.astro/` directory.
Fixes: 1) Correct filtering logic for categories without products;
Extra: Refactor `filter_whole_categories` for improved readability and maintainability;
Fixes: 1) Correct indentation in multiple modules, including mutations, models, and utility methods to maintain consistency; 2) Fix typos in function parameters and update alignment for readability;
Extra: Refactored for improved code readability and adherence to PEP 8 style guidelines.
Fixes: 1) Correct multiple unaligned code blocks in various Python scripts and GraphQL resolvers; 2) Improve condition formatting for readability in mutations and queries; 3) Resolve missing related_name in product model.
Extra: Simplify and refactor Windows scripts removing legacy spinner logic for clarity and better user feedback; adjust spacing, comments, and formatting across various files; update imports for unused QuerySet.
Fixes: 1) Correct spelling error in `CONSTANCE` configuration key from `ADVERTISIMENT_DATA` to `ADVERTISEMENT_DATA`;
Extra: 1) Update string translations in `constance.py`.
Fixes: 1) Rename `Adress` to `Address` in `core/viewsets.py`; 2) Fix incorrect argument usage in filter methods; 3) Correct file formatting in lockfile.
Extra: Code cleanup for consistent file format in `poetry.lock`, adding comments (`# noqa`) where necessary.
1) Userless orders will be merged on user's registration by their phone number and/or email. Added Viewset action "merge_recently_viewed" so recently viewed products may be stored on server's side.
2) Added comprehensive products' filtering by category(support for including subcategories)
Fixes: I18N
Fixes: 1) Correct serialization flow by separating create and output serializers.
Extra: 1) Minor variable renaming for clarity; 2) Improved readability of the `create` method.
Fixes: 1) Remove unused positional arguments from wishlist-related viewset methods; 2) Adjust `create` method to accept only required arguments;
Extra: 1) Minor cleanup for method signatures in `core.viewsets.py`;
Fixes: 1) Remove unused `*_args` and `**kwargs` parameters from `current` and `buy_unregistered` methods in `OrderViewSet` and `WishlistViewSet`;
Extra: 1) Minor formatting adjustments for improved readability.
Fixes: 1) Add conditional caching based on user permissions;
Extra: 1) Remove redundant condition on distinct values count; 2) Minor readability improvements within detail serializer logic;
Fixes: 1) Correct `serializer_class` assignments for `ProductImageViewSet`, `PromoCodeViewSet`, `PromotionViewSet`, `StockViewSet`, and `WishlistViewSet`.
Extra: 1) General code cleanup and reorganization for viewsets.
Fixes: 1) Correct mismanagement of instance and serializer in update method of viewset.
Extra: 1) Minor organizational improvement and clearer formatting in views.
Fixes: 1) Update `resolve_categories` in schema to include all categories in query.
Extra: 1) Add missing `uuid` import in `filters.py`; 2) Improve handling for null and invalid parent UUID values in `filter_parent_uuid`.
Fixes: 1) Adjust password reset serializer to use `request.data` instead of `self.request.data`; 2) Remove unnecessary language scoping from category query.
Extra: None;
Fixes: 1) Address incorrect scoping for user-based permissions; 2) Correct queryset handling for actions like "list" and "retrieve."
Extra: Refactor permission checks for clarity and maintainability; simplify conditional logic in queryset filters.
Fixes: 1) Update `remove_product` model method to handle zero quantity removal; 2) Correct permission check in order product removal.
Extra: 1) Add `autocomplete_fields` for products in admin; 2) Enhance docs with bulk add/remove schemas; 3) Various code refactorings and minor tweaks for improved maintainability.
Fixes: 1) Ensure 'user' is set to authenticated user in AddressSerializer.create method.
Extra: 1) Refactor EvibesPermission for clarity and comprehensive action handling; 2) Add detailed class-level docstring for EvibesPermission; 3) Simplify queryset filtering logic with USER_SCOPED_ACTIONS and explicit permission checks.
Fixes: 1) Update locale codes in `deepl_translate.py` to lowercase for consistency.
Extra: 1) Minor refactoring to ensure compatibility and avoid undefined behavior in slug population logic.
Fixes: 1) Standardized field names in core models by renaming locale-specific fields to lowercase format for consistency (e.g., name_en_GB to name_en_gb);
Extra: Applied migrations to reflect these changes in vibes_auth and core apps for smoother db schema alignment.
Fixes: 1) Correct "name" field reference by replacing dynamic LANGUAGE_CODE-based key;
Extra: 1) Remove unnecessary get_prepopulated_fields method; 2) Minor cleanup of admin field logic;
Fixes: 1) Correct translation wrapping by converting to strings with str().
Extra: 1) Minor refactoring and cleanup in admin action methods for clarity.
Fixes: 1) Remove unused LANGUAGES reference from ProductAdmin; 2) Eliminate redundant translatable_fields definition from ProductAdmin.
Extra: Refactor admin class imports and integrate TabbedTranslationAdmin for a centralized translation approach.
Fixes: 1) Resolve duplicate declaration of AddressType by removing the redundant implementation;
Extra: Reorder and clean up code to improve structure and maintainability;
Fixes: 1) None;
Extra: 1) Removed the entire "geo" module, including migrations, model definitions, admin configurations, utilities, documentation, templates, translations, and related files. Moved functionality to "core".
Fixes: 1) Correct redundant variable and file handling in geo management commands; 2) Fix formatting inconsistencies in tqdm loops across geo management commands; 3) Remove unnecessary decorator in token verification view;
Extra: Clean up imports, line breaks, and redundant code for better readability and maintainability in multiple files;
Fixes: 1) Adjust import order in `core/models.py` for better consistency;
Extra: Refactor formatting for better readability in `core/models.py`; Update `pyproject.toml` version to 2.6.2; Update compiled translation file `cs_CZ/LC_MESSAGES/django.mo`.
Fixes: 1) Replace RelatedOnlyFieldListFilter with AllValuesFieldListFilter for "tags__tag_name" and "stocks__vendor__name" to fix filter behavior.
Extra: None;
Fixes: 1) Add missing sys import in caches.py; 2) Ensure CACHEOPS_REDIS is only declared when CACHEOPS_ENABLED is True;
Extra: 1) Formatting and cleanup for readability in settings and auto-resolve methods; 2) Rearrange cacheops import in base settings;
Fixes: 1) Refine logic in vendor category and brand handling to correctly handle multiple active/inactive entries;
Extra: 1) Add missing import for `registry` in Elasticsearch module; 2) Minor cleanup and spacing adjustments in Elasticsearch and vendor modules.
Fixes: 1) Correctly handle `IntegrityError` and `MultipleObjectsReturned` exceptions in `process_attribute` to prevent crashes; 2) Add missing imports for `django.db.IntegrityError`, `Attribute`, and `AttributeGroup`.
Extra: Cleanup formatting in `poetry.lock` for consistent style.
Fixes: 1) Prevent potential incorrect execution of `instance.finalize()` by adding else block;
Extra: 1) Add spacing for improved readability; 2) Minor formatting tweaks in signal logic.
Fixes: 1) Prevent error by adding user check when processing non-PENDING orders; 2) Remove redundant status assignment and save for CREATED orders; 3) Add missing error handler for POST requests in settings;
Extra: None;
Fixes: None;
Extra: 1) Update poetry.lock for the new aiosmtpd package; 2) Perform formatting changes to json and hash entries in poetry.lock for consistency.
1) Add Celery shared_task decorator to `update_stock` method for asynchronous execution.
Fixes:
1) Replace direct `update_stock()` calls with `update_stock.delay()` to enable task queuing.
Extra:
1) Add missing import for `shared_task` in `core/vendors/__init__.py`.
1) Add error handling with logger and custom error message for holiday API requests;
Fixes:
(none);
Extra:
1) Replace direct API response raising with try-except block for better robustness and logging;
1) Add `BrandProductDetailSerializer` with logo fields (small_logo, big_logo);
2) Replace `BrandDetailSerializer` with `BrandProductDetailSerializer` in `ProductDetailSerializer`;
Fixes:
(none);
Extra:
1) Minor structural adjustments for code clarity;
1) Enhance `OpenApiParameter` usage by introducing structured keyword arguments to improve readability and maintainability;
Fixes:
1) Remove redundant `location` parameter for consistency in parameter definitions;
Extra:
1) Refactor `extend_schema` definitions with a uniform formatting style for better clarity and alignment;
2) Update response structures to improve readability and maintain consistent indentation.
1) Add fallback to use `msgid` when user input is empty during translation prompt.
Fixes:
1) Fix alignment and indentation issues in API request data formatting.
Extra:
1) Minor formatting and whitespace cleanup in placeholder regex and related functions;
2) Regenerate `.mo` file for `cs_CZ` locale.
1) Enhance lookup logic to support UUID validation for products in viewsets;
2) Add extensive filtering, sorting, and attributes documentation for product endpoints;
3) Define new OpenAPI parameters for querying products with detailed constraints.
Fixes:
1) Add missing import for `UUID` in core viewsets.
Extra:
1) Refactor and reorganize product API schema for clarity and consistency.
1) None;
Fixes:
1) Corrected formatting of "fuzzy" flags in multiple locale `.po` files for consistent syntax;
Extra:
1) No functional changes, only formatting updates in translation files;
Improve handling of duplicate and inactive objects during category and brand resolution. Ensures only the most relevant entry is retained while unused duplicates are deleted. Fixes potential issues with object retrieval and creation logic.
The `BuyAsBusinessOrderSerializer` import was removed as it is no longer used. Additionally, new error types were added to the `ignore_errors` list in the base settings file to prevent unnecessary logging of expected exceptions.
Updated the fallback chain to check for "title" if "name" is unavailable when extracting object names in Elasticsearch results. This ensures better handling of hits where "title" is present instead of "name".
Extended the search functionality to include results for posts. Updated `SearchResultsType` and related types to handle `posts`, adding a new `SearchPostsResultsType` with `uuid`, `name`, and `slug`. Adjusted mutations to populate posts in the search response.
Ensure inactive products without stock are excluded from queries by updating the filter. Add 'buy_unregistered' action to permissions for better access control."
This change eliminates redundant filters like "category", "attributes__attribute", and "brand" from the admin panel. This helps simplify the interface and improve usability.
Replaced context manager suppress(KeyError) with try-except blocks to handle both KeyError and IndexError in auto_resolve_category and auto_resolve_brand methods. This improves clarity and ensures proper handling of potential IndexError cases.
Add error handling during the stock update process to log and skip problematic vendors without halting execution. Additionally, ensure `get_vendor_instance` only returns active vendors, raising an error if the vendor is inactive. This improves system resilience and data integrity.
Introduced a new static method, auto_resolve_brand, to simplify and automate the resolution or creation of Brand objects based on a given brand name. Updated imports in core/vendors/__init__.py to include the Brand model. This enhances the system's ability to process brands effectively.
Introduced the auto_resolve_category method to streamline category resolution using Elasticsearch. This enhances category lookup efficiency and ensures seamless creation or retrieval of categories when necessary.