Commit graph

307 commits

Author SHA1 Message Date
33e557e693 Features: 1) Add children_present BooleanFilter to CategoryFilter for filtering presence of children;
Fixes: None;

Extra: 1) Implement `filter_children_presence` method to support the new filter;
2025-06-16 18:08:31 +03:00
1a36a19662 Features: 1) Add new fields description, big_logo, and small_logo to Brand GraphQL object type;
Fixes: None;

Extra: None;
2025-06-16 17:22:07 +03:00
a4e586719c Features: I18N 2025-06-16 11:07:34 +03:00
7ba9afda6a Features: 1) Add analytics_data and advertisement_data fields to company configuration in GraphQL schema;
Fixes: 1) Correct spelling error in `CONSTANCE` configuration key from `ADVERTISIMENT_DATA` to `ADVERTISEMENT_DATA`;

Extra: 1) Update string translations in `constance.py`.
2025-06-16 10:42:39 +03:00
3ce54ef027 Features: 1) Add optional celery-stubs and django-stubs dependencies to pyproject.toml; 2) Update worker extras to include celery-stubs; 3) Improve URL formatting in digital asset logic.
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.
2025-06-16 09:52:35 +03:00
98993a721e Features: 1) Add validation to ensure category_uuid is present when using include_subcategories flag;
Fixes: 1) Add missing import for `BadRequest` from `django.core.exceptions`;

Extra: 1) Update placeholder method `filter_include_flag` with proper implementation;
2025-06-16 09:42:41 +03:00
ea552fc3ba Features: 1) Add prefetch for "tags" in CategoryViewSet queryset;
Fixes: 1) Simplify `CaseInsensitiveListFilter` by removing redundant debug logs;

Extra: 1) Remove unused conditional filtering for parent category in `CategoryViewSet`.
2025-06-16 09:33:56 +03:00
4f010da204 Fixes: 1) Correct redundant filtering in CaseInsensitiveListFilter by returning pre-filtered queryset.
Extra: 1) Minor adjustment to debug logging for better clarity.
2025-06-16 09:25:34 +03:00
2eaf3b4267 Fixes: 1) Add debug logging for CaseInsensitiveListFilter query and queryset; 2025-06-16 09:21:06 +03:00
1804d26738 Fixes: CaseInsensitiveListFilter debugs 2025-06-16 09:12:27 +03:00
1134fdf90a Fixes: CaseInsensitiveListFilter 2025-06-16 09:07:31 +03:00
12971e88e1 Fixes: CategoryAdmin 2025-06-14 09:26:15 +03:00
fd97d8a072 Fixes: AddressViewSet 2025-06-12 09:18:20 +03:00
1e8d053ab6 Features: 1) OS-specific scripts for deployments.
2) Healthcheck improvements.
Fixes: merge_recently_viewed for UserViewSet
2025-06-11 02:54:46 +03:00
b4b6c7cacc Fixes: get_ancestors -> get_descendants 2025-06-10 08:25:40 +03:00
2d1092eb7c Fixes: get_descendants -> get_ancestors 2025-06-10 08:17:15 +03:00
e7836ebf90 Fixes: add unregistered addresses fix 2025-06-10 06:30:45 +03:00
8a00cd2bff Features: CategoryTag admin 2025-06-10 06:25:52 +03:00
3b9b69a409 Features:
1) CategoryTag migration
2) docker-compose.yml healthchecks
2025-06-10 06:08:50 +03:00
2068ae0add Features: CategoryTag migration 2025-06-10 05:43:51 +03:00
18f3b9d2e8 Features:
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
2025-06-10 05:40:07 +03:00
e7bf6cf912 Fixes: I18N 2025-06-08 21:54:14 +03:00
62b63a9ed2 Fixes: FeedbackFilter 2025-06-08 21:31:16 +03:00
966111f0b7 Fixes: FeedbackViewSet 2025-06-08 21:21:13 +03:00
22b3b91c2f Fixes: OrderProductViewSet 2025-06-08 17:36:47 +03:00
fc2d040ae4 Fixes: OrderProductViewSet 2025-06-08 17:33:06 +03:00
e37de78d73 Fixes: ProductViewSet 2025-06-08 17:08:57 +03:00
b413f98d7f Fixes: ProductViewSet 2025-06-08 17:00:05 +03:00
52b9f5fa35 Fixes: ProductViewSet 2025-06-08 16:57:32 +03:00
afcab65d66 Fixes: ORDER_SCHEMA 2025-06-08 16:44:51 +03:00
7b60cf3d6d Fixes: ORDER_SCHEMA 2025-06-08 16:42:18 +03:00
e716f88eac Fixes: AddressManager 2025-06-08 15:57:02 +03:00
705bb79903 Fixes: AddressManager 2025-06-08 15:54:44 +03:00
8d3b0bd67f Fixes: AddressManager 2025-06-08 15:03:36 +03:00
1ab95e9fd3 Fixes: Add a debugging log for address creation 2025-06-08 14:54:35 +03:00
e775b8233d Fixes: Add a debugging log for address creation 2025-06-08 14:43:19 +03:00
d2fb042c99 Fixes: DoFeedbackSerializer 2025-06-08 14:24:20 +03:00
7fe3e7de9a Fixes: DoFeedbackSerializer 2025-06-08 14:21:51 +03:00
4148d9e02c Features: Added feedbacks support for OrderProducts 2025-06-08 14:18:26 +03:00
b876983ef3 Fixes: EvibesViewSet 2025-06-07 20:56:51 +03:00
73f1bca09c Fixes: OrderSimpleSerializer 2025-06-07 19:49:48 +03:00
b28a4fffce Fixes: OrderSimpleSerializer 2025-06-07 19:47:05 +03:00
8360ecdc98 Fixes: OrderSimpleSerializer 2025-06-07 19:41:01 +03:00
6449b25e41 Fixes: OrderSimpleSerializer 2025-06-07 19:33:26 +03:00
17ae42a0b8 Fixes: OrderViewSet fixes 2025-06-07 19:20:51 +03:00
beb1673cbb Fixes: OrderViewSet fixes 2025-06-07 19:08:04 +03:00
10323a4435 Fixes: OrderViewSet fixes 2025-06-07 18:58:10 +03:00
71dcf8e922 Fixes: OrderViewSet fixes 2025-06-07 18:57:45 +03:00
f6ade70b57 Fixes: OrderViewSet fixes 2025-06-07 18:39:03 +03:00
6c2d452684 Fixes: OrderViewSet fixes 2025-06-07 18:31:27 +03:00
f5a87dac08 Fixes: viewsets.py imports fix 2025-06-07 18:01:56 +03:00
affe75c0af Fixes: Order model orderproducts operations 2025-06-07 18:00:39 +03:00
578ec96603 Fixes: viewsets.py 2025-06-07 17:58:03 +03:00
bf4e7e8aa5 Fixes: I18N 2025-06-07 17:56:32 +03:00
e76d5c1732 Fixes: __str__ for OrderProduct 2025-06-07 17:49:58 +03:00
1f5481d47b Fixes: __str__ for Order 2025-06-07 17:39:35 +03:00
39989aa1d4 Fixes: buy_without_registration for Order 2025-06-07 17:33:26 +03:00
10effefff5 Fixes: add_product for Order 2025-06-07 17:27:30 +03:00
2d96ec9637 Fixes: add_product for Order 2025-06-07 17:27:12 +03:00
44e8ad6307 Fixes: add_product for Order 2025-06-07 17:26:41 +03:00
56e33474dc Fixes: buy_without_registration... 2025-06-07 17:21:15 +03:00
2b181b18cd Fixes: I18N 2025-06-07 17:15:55 +03:00
a533ed90a2 Fixes: buy_unregistered in Order model fix 2025-06-07 16:51:07 +03:00
2022797834 Fixes: buy_unregistered in Order model fix 2025-06-07 16:44:30 +03:00
9e06fa3419 Fixes: save() method for Order model fix 2025-06-07 16:33:55 +03:00
14fe032722 Fixes: buy_unregistered ratelimiting fix 2025-06-07 16:25:26 +03:00
7c2e2442b9 Fixes: buy for OrderViewSet incorrect arguments fix 2025-06-07 16:14:18 +03:00
6681723fe9 Fixes: buy_unregistered for OrderViewSet META unresolved attribute fix 2025-06-07 16:09:53 +03:00
520b8ee8f7 Fixes: fix incorrect imports 2025-06-05 18:01:00 +03:00
00b8c6c336 Fixes: fix incorrect imports 2025-06-05 17:56:26 +03:00
e8ff6a7f1f Fixes: fix circular imports in serializers 2025-06-05 17:52:55 +03:00
47a18a005b Fixes: fix circular imports in serializers 2025-06-05 17:52:21 +03:00
613cbc50e1 Features: Prometheus addons 2025-06-05 16:05:15 +03:00
af61a7ddff Features: Add fields for addresses and attributes in Order's serializers.
Extra: 1) Minor code improvements.
2025-06-04 17:14:30 +03:00
3bf0eaeba2 Features: Add order's IDs to TransactionProcessSerializer.
Extra: 1) Minor code improvements.
2025-06-03 21:35:41 +03:00
b71cc2355e Fixes: 1) Fix OrderViewSet buy action.
Extra: 1) Minor code improvements.
2025-06-03 21:20:48 +03:00
18782a8bc0 Features: 1) Add context to serializers in create method of AddressViewSet.
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.
2025-06-01 19:58:51 +03:00
194e2bef78 Features: 1) None;
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`;
2025-06-01 18:57:06 +03:00
8f7eaa794b Features: 1) Add pagination_class attribute to AddressViewSet for disabling pagination;
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.
2025-06-01 18:44:00 +03:00
06b890889c Features: 1) Updated translations for en_US in django.mo file;
Fixes: 1) Resolved inconsistencies in localized strings;

Extra: Streamlined formatting and corrected typos in comments.
2025-06-01 18:42:44 +03:00
7cf133dccf Fixes: 1) Add support for passing additional keyword arguments (**kwargs) to resolve_brands method. 2025-05-30 18:05:43 +03:00
eb59f9c96e Features: 1) Add "name" to filter_fields in BrandType.
Fixes: 1) Simplify resolve_children method in CategoryType by removing unused depth argument.

Extra: 1) Remove redundant depth parameter declaration; 2) General code cleanup in CategoryType.
2025-05-30 17:35:12 +03:00
03c9874f63 Features: 1) Add permission-aware get_queryset method to OrderProductViewSet; 2) Add permission-aware get_queryset method to PromoCodeViewSet;
Fixes: None;

Extra: None;
2025-05-29 23:14:32 +03:00
543594c2b8 Features: 1) Add get_queryset method to filter Wishlists by user permission;
Fixes: 1) None;

Extra: Update evibes-big-simple.png in documentation;
2025-05-29 23:13:21 +03:00
ac3268748e Features: 1) Add get_queryset method to filter queries based on user permissions;
Fixes: 1) None;

Extra: None;
2025-05-29 23:07:02 +03:00
04656ea223 Features: 1) Add "list" and "retrieve" to USER_SCOPED_ACTIONS; 2) Include new image asset evibes-big-simple.png;
Fixes: None;

Extra: 1) Simplify queryset filtering logic for "list" and "retrieve" actions;
2025-05-29 22:56:19 +03:00
86e2d787b1 Features: 1) Limit distinct values to 128 elements when count exceeds threshold; 2) Replace CategoryDetailSerializer with CategorySimpleSerializer in BrandDetailSerializer;
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;
2025-05-29 22:23:43 +03:00
f3ebf029ef Features: 1) Add filter_fields to product tags in graphene object types;
Fixes: 1) None;

Extra: 1) None;
2025-05-29 19:18:07 +03:00
baf165ddd7 Features: 1) Add ProductTagType to GraphQL schema with associated queries and resolvers; 2) Register ProductTagViewSet in API URLs and core router; 3) Implement detailed and simple serializers for ProductTag.
Fixes: 1) Correct `serializer_class` assignments for `ProductImageViewSet`, `PromoCodeViewSet`, `PromotionViewSet`, `StockViewSet`, and `WishlistViewSet`.

Extra: 1) General code cleanup and reorganization for viewsets.
2025-05-29 18:22:44 +03:00
7e40596cb3 Features: 1) Add address_line_1 and address_line_2 fields to Address serializer; 2) Include detailed traceback information in error responses when DEBUG is enabled.
Fixes: 1) Correct mismanagement of instance and serializer in update method of viewset.

Extra: 1) Minor organizational improvement and clearer formatting in views.
2025-05-29 18:08:44 +03:00
7520184e56 Features: 1) Add filter_parent_uuid method in CategoryFilter to handle parent UUID filtering; 2) Expand CategoryFilter fields to include parent_uuid and slug.
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`.
2025-05-29 17:48:19 +03:00
eb48c78b9d Fixes: 1) Rename id field to uuid in BulkActionOrderProductInput for clarity and consistency;
Extra: align field naming with project standards.
2025-05-29 15:54:01 +03:00
e1c7197d49 Features: 1) Add request, *args, and **kwargs parameters to confirm_password_reset method for compatibility.
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;
2025-05-29 14:08:09 +03:00
bc12dcf35c Features: 1) Extend permissions to include user-based scoping for instances and querysets; 2) Enable admin override with appropriate model-level permissions; 3) Refine queryset filtering logic to enforce user ownership rules.
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.
2025-05-29 13:33:06 +03:00
79c97b7e5a Features: 1) Add address_line field to Address model for enhanced customer address representation; 2) Extend serializers with address_line_1 and address_line_2 fields; 3) Update address parsing logic to include house number in street and support address_line storage;
Fixes: None;

Extra: Refactor address manager to construct `address_line` from parsed data;
2025-05-28 22:07:06 +03:00
09213dd616 Fixes: 1) Correct Nominatim API URL by appending '/search' to avoid endpoint errors. 2025-05-28 19:58:40 +03:00
4e269dc801 Features: 1) Add BulkOrderAction mutation to handle bulk addition/removal of order products; 2) Introduce bulk_add_order_products and bulk_remove_order_products endpoints in viewset; 3) Add BulkAddOrderProductsSerializer and BulkRemoveOrderProductsSerializer.
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.
2025-05-28 14:48:16 +03:00
6e5a008802 Features: None;
Fixes: None;

Extra: 1) Removed redundant "attribute" filter in AttributeValueAdmin to simplify list filters;
2025-05-28 13:04:33 +03:00
ef5cecedda Features: 1) Updated localization file for Czech language (cs_CZ) with extended translations and modifications;
Fixes: None;

Extra: 1) Binary format changes observed in django.mo file, potentially related to recompiled translations;
2025-05-27 16:00:32 +03:00
3ad079b3d9 Features: 1) Extra password validation;
Fixes: 1) ;

Extra: 1) Minor adjustments in binary formatting of the localization file content.
2025-05-27 15:48:40 +03:00
d86a6ed3c8 RUFF 2025-05-26 16:12:59 +03:00
475b0a0c94 Features: 1) Add support for 'create' action with explicit 'ALLOW' flag in AddressViewSet; 2) Introduce refined permission handling with scoped user actions and public model visibility checks in EvibesPermission.
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.
2025-05-26 15:06:24 +03:00
41f8cf55b5 Features: 1) Allow skipping address validation for fully digital products;
Fixes: 1) Correct improper logic when checking for missing addresses;

Extra: 1) Minor structural improvement to conditional logic for clarity;
2025-05-22 18:30:24 +03:00
880d7edda9 Features: 1) Add "slug" field to Category model with AutoSlugField for unique slugs; 2) Ensure slugs are populated during migration with robust error handling;
Fixes: None;

Extra: 1) Adjust migration order for proper execution;
2025-05-22 14:26:48 +03:00
fefa4746df Features: 1) Add "autocomplete" action to permissions checks.
Fixes: None;

Extra: None;
2025-05-22 00:36:32 +03:00
a8b1925aae Features: 1) Add query parameters q and limit to address autocomplete schema for enhanced filtering; 2) Update 'create' endpoint schema to use AddressCreateSerializer;
Fixes: 1) Replace `AddressAutocompleteInputSerializer` with `AddressCreateSerializer` in imports and references;

Extra: None;
2025-05-21 20:04:12 +03:00
cb66f217ac Features: ;
Fixes: 1) Correct DEEPL_API_URL to use the v2/translate endpoint;

Extra: ;
2025-05-21 15:34:54 +03:00
88133b2f93 Features: 1) Update DeepL API URL to standard endpoint in deepl_translate.py and translate_fields.py;
Fixes: 1) None;

Extra: 1) Replaced deprecated API-free URL with standard DeepL API URL for consistency.
2025-05-21 15:31:08 +03:00
797e56a0cd Features: 1) Add translate_fields management command for field translations via DeepL; 2) Add slug population script in 0022_category_slug migration.
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.
2025-05-21 14:27:38 +03:00
a6bbbc6101 Features: 1) Add CaseInsensitiveListFilter for category_slugs to filter by category slug;
Fixes:

Extra:
2025-05-21 12:39:01 +03:00
71cb0fc2db Features: 1) Add AutoSlugField "slug" to Category model with unique and auto-populating behavior; 2) Include "slug" field in CategoryFilter and relevant serializers (detail and simple); 3) Add "slug" to GraphQL object type for categories;
Fixes: None;

Extra: Add migration for new "slug" field in Category model.
2025-05-21 12:37:30 +03:00
6b71695d86 Features: ;
Fixes: ;

Extra: 1) Standardize flag file naming convention by renaming files to lowercase locale codes (e.g., ar-AR.png to ar-ar.png).
2025-05-20 22:35:22 +03:00
4991828b9b Features: 1) Updated user language field in vibes_auth to include more language options with a default set to 'en-gb';
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.
2025-05-20 22:08:04 +03:00
b18c75ccd2 Features: None;
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;
2025-05-20 20:34:11 +03:00
b4b52897fb Features: 1) Dynamically adjust the 'name' field in admin based on LANGUAGE_CODE.
Fixes: 1) Add missing import for LANGUAGE_CODE from settings.

Extra: None.
2025-05-20 20:24:25 +03:00
c839c8a211 Features: ;
Fixes: ;

Extra: 1) Add `# type: ignore` comments to admin site unregister and register calls for typing compliance;
2025-05-20 19:46:53 +03:00
57a6654c89 Features: 1) Add return type annotations for admin actions.
Fixes: 1) Correct translation wrapping by converting to strings with str().

Extra: 1) Minor refactoring and cleanup in admin action methods for clarity.
2025-05-20 19:46:10 +03:00
87369b48a9 Features: 1) Add TabbedTranslationAdmin to all admin classes for translation support.
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.
2025-05-20 19:42:48 +03:00
4f4d4c5c10 Features: 1) Add AddressViewSet to API routing; 2) Add is_publicly_visible attribute to Address model;
Fixes:

Extra: 1) Minor import addition for AddressViewSet in api_urls.py;
2025-05-20 14:12:32 +03:00
495aacc818 Features: 1) Add UploadAvatar mutation to handle avatar uploads; 2) Integrate graphene-file-upload for file upload capability.
Fixes: None;

Extra: 1) Update `poetry.lock` and `pyproject.toml` to include `graphene-file-upload`; 2) Minor formatting adjustments in `poetry.lock`.
2025-05-20 11:52:07 +03:00
5c98129a6f Features: 1) Switch Promotion creation to update_or_create to handle existing records;
Fixes: 1) Ensure Promotion update logic correctly applies changes to existing entries;

Extra: 1) Code formatting adjustments to improve readability;
2025-05-20 10:45:03 +03:00
d001e238f8 2.7.0 2025-05-20 08:56:33 +03:00
07d32de16b Features: 1) Add AddressType class above FeedbackType for organizational clarity;
Fixes: 1) Resolve duplicate declaration of AddressType by removing the redundant implementation;

Extra: Reorder and clean up code to improve structure and maintainability;
2025-05-20 08:18:35 +03:00
351b4eda00 Features: 1) Add migration to remove existing billing and shipping address columns and re-add them pointing to core.Address;
Fixes: 1) Correct on_delete parameter reference from django.db.models.deletion to models.deletion;

Extra: 1) Cleanup migration file header and remove unnecessary import; 2) Add comments for better clarity on SQL operations.
2025-05-20 08:14:00 +03:00
ed1796dbc4 Features: ;
Fixes: 1) Remove duplicate import of Address;

Extra: 1) Reformat import statements for better readability;
2025-05-20 08:00:59 +03:00
0ab8738520 Features: 1) None;
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".
2025-05-20 08:00:44 +03:00
b685c2a2b8 Features:
Fixes: 1) Correct dependency to use 'geo' app's initial migration instead of a later migration;

Extra:
2025-05-19 16:11:13 +03:00
c3c2222d99 Features: ;
Fixes: 1) Update dependency for 'geo' app in core migrations; 2) Remove redundant 'core' app dependency in vibes_auth migrations;

Extra: .
2025-05-19 15:01:57 +03:00
0b1a8550ab Features: None;
Fixes: None;

Extra: 1) Add dependency on 'geo' app in core migration initial script;
2025-05-19 14:57:09 +03:00
564ce0706b Features: Full Geo rework.
Fixes: 1) Address redundant migration logic by dropping stale migrations; 2) Cleanup swapper-based dependencies in Geo models;

Extra: Streamlined database initialization by resetting all previous migrations.
2025-05-19 14:45:53 +03:00
43c8df0c05 Features: 1) Add support for shipping and billing addresses in serializers, mutations, and models; 2) Validate address inputs during order purchasing; 3) Auto-fill billing address if only shipping address is provided and vice-versa;
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;
2025-05-16 01:47:45 +03:00
11071996af Features: 1) Add return self to bulk_add_products; 2) Add return self to bulk_remove_products;
Fixes: None;

Extra: None;
2025-05-14 12:38:40 +03:00
631d0b503e Features: 1) Pass wishlist to WishlistDetailSerializer for correct data serialization;
Fixes: None;

Extra: None;
2025-05-14 12:26:50 +03:00
8375ef41db Features: 1) Add save method to enforce single pending order per user in Order model;
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`.
2025-05-13 23:02:16 +03:00
6cf2903c74 Features: 1) Replace AllValuesFieldListFilter with RelatedOnlyFieldListFilter for "tags" and "stocks__vendor" in list filters;
Fixes: 1) Remove unnecessary import of AllValuesFieldListFilter;

Extra: 1) Minor cleanup of unused imports in admin.py;
2025-05-13 16:46:04 +03:00
e5c0649725 Features: 1) Add AllValuesFieldListFilter import to enhance admin filtering options.
Fixes: 1) Replace RelatedOnlyFieldListFilter with AllValuesFieldListFilter for "tags__tag_name" and "stocks__vendor__name" to fix filter behavior.

Extra: None;
2025-05-13 16:41:12 +03:00
c92cd1d72c Features: 1) Replace custom TagNameListFilter with RelatedOnlyFieldListFilter for tags; 2) Replace custom VendorNameListFilter with RelatedOnlyFieldListFilter for vendors;
Fixes: None;

Extra: 1) Remove redundant custom list filter classes for tags and vendors; 2) Streamline ProductAdmin list_filter configuration;
2025-05-13 07:10:44 +03:00
abc91c599e Features: 1) Refactor vendor lookup logic to improve code readability; 2) Enhance queryset filtering to handle both string and list inputs for vendor names;
Fixes: None;

Extra: 1) Minor reformatting and alignment for better code clarity;
2025-05-13 06:55:22 +03:00
f69de19720 Features: 1) Rename variable 'tags' to 'vendors' for better clarity in admin lookup functionality;
Fixes: 1) None;

Extra: 1) Improve variable naming for readability in admin.py;
2025-05-13 05:53:56 +03:00
859fa7290e Features: ;
Fixes: 1) Correct filtering logic to use stocks__vendor__name instead of vendor__name in admin query;

Extra: ;
2025-05-13 05:24:45 +03:00
ea0d14bfc8 Features: 1) Add "Stock.DoesNotExist" and "ProductImage.DoesNotExist" to ignored exceptions in base settings;
Fixes: 1) Ensure auto_resolver_helper returns only the created or fetched instance by accessing tuple index [0];

Extra: None;
2025-05-13 03:15:15 +03:00
37c0867ab7 Features: 1) Add support for defaults in get_or_create for auto_resolver_helper; 2) Modularize Sentry ignore_errors configuration with a dedicated variable;
Fixes: None;

Extra: 1) Minor code refactor to streamline `ignore_errors` handling in Sentry setup;
2025-05-13 02:48:56 +03:00
87c355474c Features: 1) Enable Elasticsearch DSL autosync and switch to CelerySignalProcessor; 2) Extract common logic into auto_resolver_helper for resolving brands and categories; 3) Add conditional CACHEOPS_ENABLED based on sys arguments;
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;
2025-05-13 02:09:10 +03:00
8bdb74b80c Features: 1) Add prefetch_related for "attributes" in CategoryViewSet queryset;
Fixes: None;

Extra: None;
2025-05-12 20:22:31 +03:00
ae17cc1371 Features: 1) Add populate_index function for Elasticsearch indexing and integrate it into update_products; 2) Enhance CategoryViewSet queryset with prefetching of "parent" and "children";
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.
2025-05-12 20:22:01 +03:00
c9d2881f99 Features: 1) Add TagNameListFilter for filtering products by tag names in admin panel; 2) Add VendorNameListFilter for filtering products by vendor names in admin panel;
Fixes: None;

Extra: 1) Replace redundant `list_filter` entries with new custom list filters for cleaner code structure;
2025-05-12 16:11:27 +03:00
4d2961bc81 Features: 1) Enhance admin list filters to support "__in" lookups for "is_active", "tags__tag_name", and "stocks__vendor__name";
Fixes:

Extra:
2025-05-12 16:02:32 +03:00
b18f962677 Features: 1) Add "stocks__vendor__name" to admin list filters;
Fixes:

Extra:
2025-05-12 15:08:23 +03:00
11cca3b9f0 Features: 1) Add process_attribute method for handling product attributes in vendors module; 2) Introduce blocked_attributes list to manage excluded attributes; 3) Add dependency zeep to pyproject.toml.
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.
2025-05-12 01:51:56 +03:00
be76a3bb8d Features: 1) Introduce conditional check ensuring instance.finalize() execution only when no order product errors exist;
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.
2025-05-11 22:46:45 +03:00