Commit graph

351 commits

Author SHA1 Message Date
efd927f4d1 Revert "Features: 1) Add SearchAsYouTypeField to name field in ProductDocument for improved search capabilities; 2) Introduce product_type and sales_rank fields to ProductDocument with preparation methods; 3) Add total_orders property to model for calculating product order count;"
This reverts commit 432e4bf1
2025-06-20 03:28:27 +03:00
e541dfd624 Revert "Features: 1) Add top_level field to documents with preparation logic; 2) Add price field to documents with preparation logic; 3) Introduce score boosting with function_score using sales_rank field;"
This reverts commit 529fd39ff4.
2025-06-20 03:27:58 +03:00
e68bd73a6a Revert "Features: 1) Update category root logic to retrieve the first family member instead of the root node;"
This reverts commit 82f59307bf.
2025-06-20 03:27:53 +03:00
c0a753fa15 Revert "Features: 1) Add support for .sat suffix fields in search query with phrase_prefix match; 2) Incorporate lenient fuzzy match and prefix match into a combined query logic; 3) Enhance function_score with additional filtering for better query relevance."
This reverts commit 5efac0d5ff.
2025-06-20 03:27:44 +03:00
d0e7c9e4ec Revert "Features: 1) Add typo-tolerant, multi-index search with phrase_prefix query; 2) Enhance query boost logic for name field;"
This reverts commit 781e20eb9a.
2025-06-20 03:27:35 +03:00
781e20eb9a Features: 1) Add typo-tolerant, multi-index search with phrase_prefix query; 2) Enhance query boost logic for name field;
Fixes: 1) Avoid redundant nesting in slug determination; 2) Refactor image_url assignment to prevent repetition;

Extra: Improve formatting and remove unnecessary dictionary structure in query functions.
2025-06-19 17:54:34 +03:00
5efac0d5ff Features: 1) Add support for .sat suffix fields in search query with phrase_prefix match; 2) Incorporate lenient fuzzy match and prefix match into a combined query logic; 3) Enhance function_score with additional filtering for better query relevance.
Fixes: 1) Handle missing or empty query input with a more explicit check; 2) Resolve potential response errors by catching `NotFoundError` exceptions in search execution.

Extra: Refactor code structure to improve readability and modularity, including better slug generation logic and streamlined image URL handling.
2025-06-19 16:31:54 +03:00
570990fd87 Fixes: 1) Remove unnecessary order__status="FINISHED" filter in total_orders property for accurate counts;
Extra: None;
2025-06-19 15:06:12 +03:00
82f59307bf Features: 1) Update category root logic to retrieve the first family member instead of the root node;
Fixes: None;

Extra: None;
2025-06-19 14:54:36 +03:00
529fd39ff4 Features: 1) Add top_level field to documents with preparation logic; 2) Add price field to documents with preparation logic; 3) Introduce score boosting with function_score using sales_rank field;
Fixes: 1) None;

Extra: 1) Replace direct query with boosted query in Elasticsearch `search` logic; 2) Minor refactoring for improved readability;
2025-06-19 14:45:40 +03:00
432e4bf110 Features: 1) Add SearchAsYouTypeField to name field in ProductDocument for improved search capabilities; 2) Introduce product_type and sales_rank fields to ProductDocument with preparation methods; 3) Add total_orders property to model for calculating product order count;
Fixes: 1) Enhance `raw` field in `name` with `lc` normalizer for consistent lowercase processing;

Extra: 1) Define custom `lc` normalizer in Elasticsearch settings; 2) General code formatting and minor cleanup.
2025-06-19 14:27:57 +03:00
77d978fecb Features: 1) Integrated django-summernote for rich text editing; 2) Added Summernote fields in PostAdmin with configuration; 3) Configured summernote settings in a separated module;
Fixes: 1) Adjusted modeltranslation admin import to use external jQuery variant; 2) Corrected optional flags for package dependencies in poetry.lock;

Extra: 1) Removed custom PostAdminForm in favor of SummernoteModelAdmin; 2) Enhanced formatting consistency in api_urls and admin files.
2025-06-19 13:15:04 +03:00
658e799076 Features: 1) Add ordered filtering logic for filter_name methods across products, categories, and brands; 2) Enhance query processing with Case and When operations for precise ordering;
Fixes: 1) Ensure queryset returns `none()` when no valid UUIDs are found in filters;

Extra: 1) Refactor import statements for readability; 2) Clean up and consolidate redundant filter logic across multiple `filter_name` methods;
2025-06-19 10:49:56 +03:00
faaf226c8a Features: 1) Added filter_name method with Elasticsearch-based query processing for ProductFilter, CategoryFilter, and BrandFilter.
Fixes: 1) Replaced direct `name` filtering with `filter_name` method in `ProductFilter`, `CategoryFilter`, and `BrandFilter`.

Extra: 1) Imported `process_query` from `core.elasticsearch`; 2) Cleaned up unused imports and adjusted formatting.
2025-06-19 10:33:34 +03:00
d72c3947d4 Features: 1) Ensure querysets return distinct results in filters;
Fixes: 1) Address potential duplication issue in querysets;

Extra:
2025-06-19 09:42:02 +03:00
d40d7d3c28 Features: 1) Ensure querysets return distinct results in filters;
Fixes: 1) Address potential duplication issue in querysets;

Extra:
2025-06-19 09:41:20 +03:00
b15df3b72a Features: 1) Add is_digital field to ProductAdmin for filtering and display; 2) Extend admin search fields to include slug for products; 3) Introduce slug field in readonly and form layout sections for products.
Fixes: 1) Add `# type: ignore` comments for ForeignKey fields to resolve type-checking warnings in models.

Extra: 1) Refactor admin field formatting for better readability; 2) Add `# noinspection PyProtectedMember` annotation in `rebuild_slugs` management command; 3) Clean up spacing and alignment in various files.
2025-06-18 23:41:28 +03:00
30144c5b6a Features: 1) Add image field to search result types (SearchProductsResultsType, SearchCategoriesResultsType, SearchBrandsResultsType); 2) Enhance tags field for categories with DjangoFilterConnectionField; 3) Implement descriptive error handling in rebuild_slugs script.
Fixes: 1) Correct inconsistent function calls with improved attribute formatting; 2) Fix invalid key usage (`uuid` vs. `pk`) in slug rebuilding logic to prevent uniqueness errors; 3) Ensure correct `query` usage in `process_query` function calls.

Extra: Reformat code for readability by updating indentation, and breaking long function signatures and expressions into multiple lines.
2025-06-18 23:03:50 +03:00
d4ff637169 Features: 1) None;
Fixes: 1) Add missing `created` parameter handling in signal receivers for `Product` and `Category`; 2) Ensure proper formatting for long method calls and imports; 3) Adjust inline object creation to enhance readability;

Extra: Update import style and consistent formatting for readability improvements throughout `signals.py`;
2025-06-18 22:29:04 +03:00
8c906a2880 Features: 1) Add support for auto-generating slugs for Brand, Category, and Product models; 2) Extend Elasticsearch documents with slug indexing and response processing; 3) Introduce image fetching in search results.
Fixes: 1) Update slug population logic in management commands.

Extra: Refactor renderer class formatting, query processing, and formatting for readability across multiple files.
2025-06-18 22:23:14 +03:00
d616d2e18b Features: 1) Improved support for nested multi-line typing hints across numerous functions; 2) Refactored variable assignments for enhanced readability within bulk_add_products and bulk_remove_products; 3) Updated token-related test methods to ensure consistent styling;
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.
2025-06-18 16:55:49 +03:00
8fb4ca3362 Features: 1) Add type annotations for various models and methods; 2) Introduce refined graphene resolvers to enhance permission handling; 3) Include type checking suppression with # type: ignore for unsupported cases.
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.
2025-06-18 16:38:07 +03:00
a33be30098 Features: 1) Added vendor, product tag, category tag models and metadata; 2) Introduced proper noinspection comments for Mypy warnings; 3) Extended Markdown linting rules.
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.
2025-06-18 15:58:49 +03:00
328ccaa615 Features: 1) 2.8.9 update
Fixes: 1) wtf go read diff;

Extra: ???
2025-06-18 15:05:58 +03:00
6ce7b7a6f9 Features: 1) Add optional currency parameter to resolve_price_with_currency for enhanced flexibility;
Fixes: 1) Address minor spacing inconsistencies in list comprehension and JSON detection logic;

Extra: 1) Update `.gitignore` to exclude `.astro/` directory.
2025-06-17 15:39:37 +03:00
39332582bc Fixes: 1) Add missing filter condition for is_active in descendant product query;
Extra: None;
2025-06-17 12:20:06 +03:00
a88221079e Fixes: 1) Correct parameter order in filter_category method to properly match expected signature.
Extra: None.
2025-06-17 12:02:33 +03:00
c8dbaeeb80 Features: 1) Simplify descendant product filtering in filter_whole_categories by replacing intermediate query with direct filters.
Fixes: None;

Extra: 1) Remove redundant query and clean up conditional return formatting in `filter_whole_categories`.
2025-06-17 11:58:05 +03:00
5eccfd8e9e Fixes: 1) Add missing import for Exists in django.db.models. 2025-06-17 11:51:07 +03:00
61561b4a80 Features: 1) Add annotations to filter products based on both own and descendant categories; 2) Enhance filter_whole_categories logic to use annotated product existence checks;
Fixes: 1) Correct filtering logic for categories without products;

Extra: Refactor `filter_whole_categories` for improved readability and maintainability;
2025-06-17 11:50:41 +03:00
0153157653 Features: None;
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.
2025-06-17 11:34:02 +03:00
484bd95d94 Features: 1) Update category field in product model with additional attributes (help_text, related_name, and verbose_name).
Fixes: 1) N/A.

Extra: 1) Add new migration `0025_alter_product_category`.
2025-06-17 11:27:04 +03:00
cf719854e1 Fixes: 1) Correct field from product_set to products in category filtering logic;
Extra: None;
2025-06-17 11:25:42 +03:00
0f65111b53 Fixes: 1) Correct iteration over related objects in fix_prices command using .all() instead of direct access;
Extra: None;
2025-06-17 11:17:40 +03:00
6ee3870ab0 Features: 1) Add a management command to fix product stock prices; 2) Introduce 'products' field to CategoryType in GraphQL schema to fetch products associated with a category; 3) Enable GraphQL resolvers to utilize type hinting for better clarity.
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.
2025-06-17 11:13:11 +03:00
f66a6b0cb6 Features: 1) Add whole BooleanFilter to filter whole categories in CategoryFilter.
Fixes: None;

Extra: 1) Update `CategoryFilter.Meta.fields` to include `whole`; 2) Add `filter_whole_categories` method for filtering logic.
2025-06-17 09:58:18 +03:00
ddad857015 Features: 1) Implement marketological rounding method to handle psychological pricing; 2) Enhance rounding logic to consider price magnitude using logarithmic calculation;
Fixes: None;

Extra: 1) Update import to include `log10` from `math`; 2) Add detailed docstring explaining marketological rounding method logic.
2025-06-17 09:54:03 +03:00
fbdc1bc243 Features: 1) Add CategoryTagType graphene object type with fields and filters; 2) Add tags field to CategoryType for associating category tags; 3) Add category_tags field in schema for querying category tag data.
Fixes: None;

Extra: 1) Update imports to include `CategoryTag` and `CategoryTagType`.
2025-06-16 19:23:14 +03:00
fa588b59ae Features: 1) Add "level" and "order_by" fields to Category filter;
Fixes: None;

Extra: None;
2025-06-16 19:03:30 +03:00
5c27c5d5bb Features: 1) Add level filter to replace children_present in category filtering;
Fixes: 1) Remove unused `filter_children_presence` method to clean up filters;

Extra: 1) Update filters documentation and labels for clarity.
2025-06-16 19:03:12 +03:00
3f533bf9d8 Fixes: 1) Remove unnecessary camelize call in parameter handling;
Extra: Simplify return statement for improved clarity.
2025-06-16 18:38:10 +03:00
27beac4ab2 Fixes: 1) Remove unnecessary camelize call in parameter handling;
Extra: Simplify return statement for improved clarity.
2025-06-16 18:30:24 +03:00
bc4e76edde Features: 1) Add camelize utility to process cached parameters for consistent response formatting;
Fixes: ;

Extra: 1) Modify return statement to utilize camelize function;
2025-06-16 18:25:28 +03:00
916648cf72 Features: 1) Add resolvers for big_logo and small_logo in object_types.py;
Fixes: 1) Ensure logo URLs are returned as absolute paths;

Extra: No additional changes.
2025-06-16 18:20:36 +03:00
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