Commit graph

242 commits

Author SHA1 Message Date
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