Commit graph

501 commits

Author SHA1 Message Date
f7c5fdcf37 Fixes: 1) Remove redundant populate_index calls from core/tasks.py;
Extra: 1) Cleanup unused import for `populate_index`.
2025-06-23 02:31:16 +03:00
b0aa8e0906 Features: 1) Add auto_refresh attribute to Elasticsearch documents with default False;
Fixes: None;

Extra: 1) Remove unused healthcheck configuration from `docker-compose.yml`.
2025-06-22 23:37:57 +03:00
58b227c2d6 Features: 1) Update project version to 2.8.10 in pyproject.toml and translation files;
Fixes: 1) None;

Extra: 1) Update translation metadata across multiple locales.
2025-06-22 20:45:26 +03:00
b92e7e28f1 Features: 1) Add new email content translations for ru_RU, zh_Hans, and ro_RO locales; 2) Update "balance deposit" and general email-related translations across multiple languages;
Fixes: 1) Correct inconsistent formatting in translation strings; 2) Fix placeholders in email templates for better accuracy;

Extra: Update `.gitignore` to include `.env` file exclusion.
2025-06-22 20:18:19 +03:00
d9e50c04c1 Features: 1) Add related_models attribute to document configuration;
Fixes: None;

Extra: None;
2025-06-22 18:30:49 +03:00
35ac700a44 Features: 1) Add verbose_name attribute to multiple Slug fields for better clarity;
Fixes: 1) Correct conditional handling of `fieldsets` to avoid duplicate `metadata` fields in admin view;

Extra: n/a;
2025-06-22 17:12:59 +03:00
43141bc3d5 Features: 1) Extend metadata field handling in admin to include both uuid and slug.
Fixes: _(no relevant changes detected)_.

Extra: 1) Update Russian locale binary (`django.mo`) file content.
2025-06-22 17:08:16 +03:00
437f3cff31 Features: 1) Simplify FieldsetsMixin class by including translation handling method inline; 2) Improve icon consistency with updated replacements in ModelAdmin classes.
Fixes: 1) Add missing `# type: ignore` comments for type-checking in admin site customizations.

Extra: 1) Refactor admin models by removing `TranslationFieldsetMixin` usage; 2) Streamline translation fieldset injection logic; 3) Code cleanup and minor comment adjustments.
2025-06-22 16:57:54 +03:00
0079998ed7 Features: 1) Add is_navtab, verbose_name, verbose_name_plural, and icon attributes to several inlines for better configuration and clarity;
Fixes: 1) Add `# type: ignore` comments to suppress type checking issues on model assignments;

Extra: 1) General code cleanup and improvements to the `admin.py` file.
2025-06-22 16:48:50 +03:00
15df6dd0c8 Features: 1) Add readonly_fields for uuid, modified, and created attributes across multiple admin models; 2) Improve type annotations for FieldsetsMixin class fields.
Fixes: 1) Resolve "type: ignore" addition for `ProductAdmin` model definition.

Extra: 1) Minor formatting adjustments for improved readability; 2) Enhance code clarity by standardizing `readonly_fields` across admin classes.
2025-06-22 16:41:32 +03:00
d9e67d5de3 Fixes: None;
Features: None;

Extra: 1) Change fieldset titles to lowercase for consistency.
2025-06-22 16:34:57 +03:00
092c7e908c Features: 1) Implement FieldsetsMixin to dynamically generate and manage admin fieldsets; 2) Refactor admin class definitions to leverage FieldsetsMixin for better consistency and extensibility.
Fixes: 1) Correct usage of `CONSTANCE_CONFIG` when setting `site_title` and `index_title` in `admin`.

Extra: Updated imports, removed redundant inline configs, cleaned up unused code, and improved readability in `admin.py`.
2025-06-22 16:34:07 +03:00
d9c4717a8d Features: 1) Add a new Elasticsearch document for TestModel with fields and settings;
Fixes: None;

Extra: 1) Add missing import for TestModel in `core/elasticsearch/documents.py`.
2025-06-22 16:20:05 +03:00
c682137fc5 Features: 1) Replace I18NFieldsetMixin with TranslationFieldsetMixin across all applicable admin classes; 2) Add new inlines for managing related objects such as OrderProduct and CategoryChildren; 3) Introduce support for dynamic translation fields in admin fieldsets.
Fixes: 1) Correct `notifications` field handling in `OrderAdmin` and `OrderItemAdmin` save logic; 2) Fix admin `get_queryset` prefetching logic for various models.

Extra: Remove outdated labels and sections in fieldsets; clean up unused imports and commented code for readability.
2025-06-22 16:15:48 +03:00
5425225e31 Features: 1) Add datetime library import; 2) Introduce id_for_label properties for all fields in NiceModel;
Fixes: 1) Correct field type hints and add `# type: ignore` to suppress validation issues;

Extra: Refactor code for formatting consistency and readability.
2025-06-22 15:54:43 +03:00
a8d5969198 Features: 1) Add icons to various admin inline and model configurations for improved UI clarity;
Fixes: None;

Extra: None;
2025-06-22 14:46:56 +03:00
76c3cd17e3 Features: 1) Replace I18NTabTranslationAdmin with I18NFieldsetMixin for admin classes; 2) Introduce _TranslationInline for managing translation fields dynamically; 3) Add created and modified fields to readonly_fields in Category admin class;
Fixes: 1) Resolve unnecessary imports from `modeltranslation.admin` and streamline admin imports;

Extra: 1) Refactor translation logic into `get_inline_instances` for improved modularity and clarity.
2025-06-22 01:55:46 +03:00
0d37b5b23b Fixes: 1) Correct iteration over local_fields in translator options, replacing deprecated fields.keys(). 2025-06-22 01:42:48 +03:00
c73a8957ed Features: None;
Fixes: None;

Extra: 1) Remove redundant SECTION_I18N fieldsets across admin configurations for cleaner and more maintainable code;
2025-06-22 01:37:37 +03:00
48ef110ac4 Features: 1) Add I18NFieldsetMixin to organize translation fields into a dedicated fieldset; 2) Implement I18NTabTranslationAdmin for enhanced multi-language admin support; 3) Apply new translation admin to AttributeGroupAdmin, AttributeAdmin, AttributeValueAdmin, CategoryAdmin, BrandAdmin, ProductAdmin, ProductTagAdmin, CategoryTagAdmin, and PromotionAdmin.
Fixes: 1) Replace `TranslationGenericTabularInline` with `I18NTabTranslationAdmin` to avoid potential translation field duplication.

Extra: 1) Update fieldsets in various model admins for improved structure and translation field grouping; 2) Add constants for fieldset section names to enhance readability and consistency.
2025-06-22 01:31:33 +03:00
02102fa470 Features: 1) Replace TabbedExternalJqueryTranslationAdmin with TranslationGenericTabularInline for multiple admin classes to update translation handling;
Fixes: 1) None;

Extra: 1) Regenerate `django.mo` file for localization updates.
2025-06-22 01:20:39 +03:00
a91ba0c41a Features: 1) Add priority field to Category model; 2) Update priority field in Brand model to improve consistency.
Fixes: 1) Ensure correct handling of query results in category/brand auto-resolve methods; 2) Fix PO formatting issues across multiple locales.

Extra: 1) Add `priority` field to Django admin for categories; 2) Suppress specific type-checking warnings in settings and utilities.
2025-06-22 00:48:06 +03:00
3160ab4549 **Features**: 1) Add score_mode="first" to function_score query configuration for enhanced scoring;
**Fixes**: None;

**Extra**: 1) Wrap product-specific attributes like `rating` and `brand_priority` in a debug-mode conditional block;
2025-06-21 23:52:05 +03:00
0e4d5fe59f Features: 1) Update regex pattern in slug generator for improved handling of underscores and word characters;
Fixes: None;

Extra: None;
2025-06-21 23:16:34 +03:00
e6ffb476fb Features: 1) Update regex pattern for slug field generation to exclude non-alphanumeric characters; 2) Add support for custom separators in slugs;
Fixes: 1) Remove unnecessary debug logging from get_slug_fields function;

Extra: 1) Minor cleanup in db utility functions;
2025-06-21 23:07:36 +03:00
f2596c25a2 Fixes: 1) Ensure unicode_slugify_function handles non-string input by converting to string.
Extra: None;
2025-06-21 22:56:31 +03:00
5d7075ee2e **Features**: 1) Add unicode_slugify_function for advanced slugify handling; 2) Replace default slugify method with unicode_slugify_function in models; 3) Introduce python-slugify as a project dependency for Unicode slugification;
**Fixes**: 1) Remove redundant `slugify` import from `core/models.py`;

**Extra**: 1) Update `poetry.lock` and `pyproject.toml` to lock `python-slugify@8.0.4` and refine dependency definitions; 2) Improve readability of debug logging in `TweakedAutoSlugField`.
2025-06-21 22:49:34 +03:00
9eb4ee72df Features: 1) Add support for custom slugify_function across models; 2) Introduce logging for debug output in get_slug_fields; 3) Enhance help text for key fields to improve clarity;
Fixes: 1) Correct type hints and comments for better accuracy; 2) Address formatting inconsistencies in exception messages and queries;

Extra: Refactor long lines for improved readability and maintainability across functions and methods;
2025-06-21 22:23:54 +03:00
8ae4c35028 Features: 1) Add yapf dependency with configuration in pyproject.toml; 2) Introduce readonly_fields for uuid and slug in ProductAdmin;
Fixes: 1) Update `markdown` to 3.8.2 and `pygments` to 2.19.2;

Extra: 1) Minor formatting updates in admin path definitions; 2) Update `poetry.lock` for dependency changes.
2025-06-21 21:04:06 +03:00
f8bf60004b Features: 1) Add uuid and slug fields to admin panel category form; 2) Make uuid and slug fields read-only;
Fixes: 1) Add missing import for `core.utils.db` in migration file;

Extra: 1) Minor formatting improvement for admin site path definition.
2025-06-21 20:51:44 +03:00
5e903641c6 Features: 1) Modify slug field of category model to use TweakedAutoSlugField with enhanced properties (e.g., allow_unicode, unique, overwrite);
Fixes: 1) None;

Extra: 1) Auto-generated migration file `0033_alter_category_slug` for the `category` model changes;
2025-06-21 20:40:19 +03:00
fdd92dbf8b Features: 1) Introduced strict parameter for zip function in widgets.py; 2) Added EXTENSIONS_MAX_UNIQUE_QUERY_ATTEMPTS setting;
Fixes: 1) Resolved redundant lines and formatting inconsistencies across multiple files; 2) Corrected Collection typing imports and Optional replacements with union types (e.g., `str | None`);

Extra: Improved formatting and readability by consolidating single-line code sections and simplifying expressions.
2025-06-21 20:38:37 +03:00
67794a7997 Features: 1) Add overwrite=True and max_length=88 to slugs in Brand, Category, and Product models with enhanced slug generation logic; 2) Extend process_query function to include additional fields rating and brand_priority for product results.
Fixes: 1) Add missing type annotation for the return value of `process_query` in `core/elasticsearch/__init__.py`.

Extra: 1) Update migration file to reflect new slug field changes; 2) Minor refactor to improve clarity in query result construction.
2025-06-21 20:19:08 +03:00
4b367944b9 Features: 1) Update product.slug to use AutoSlugField with adjusted populate_from order in migrations and model;
Fixes: 1) None;

Extra: Refactor `product.slug` field declaration for improved readability in `models.py`.
2025-06-21 19:42:16 +03:00
b6ab56624b Features: 1) Update slug field in Category model to populate from both uuid and name.
Fixes: 1) None.

Extra: 1) Add Django migration to reflect `slug` field changes in the database.
2025-06-21 19:34:16 +03:00
e99ae9e85c Features: 1) Alter category.slug to populate only from name and enable null values in migration.
Fixes: 1) None.

Extra: 1) Removed `parent__slug` from `populate_from` in `category.slug` field in models for consistency.
2025-06-21 19:29:43 +03:00
fe9dfe552b Features: None;
Fixes: None;

Extra: 1) Remove unused `divider_title` attribute across app configurations and settings; 2) Cleanup unnecessary translation import in `daisy.py`.
2025-06-21 19:19:09 +03:00
82a79c31f9 Features: 1) Update category.slug to derive from name and parent__slug; 2) Update product.slug to derive from uuid, category__slug, brand__slug, and name;
Fixes: None;

Extra: None;
2025-06-21 19:04:36 +03:00
b96ad5aa80 Features: 1) Added "eVibes Engine" translation for multiple languages; 2) Updated priorities for applications in settings/daisy.py;
Fixes: 1) Corrected mismatched line references in translations; 2) Adjusted timestamps in locale files for accuracy;

Extra: Refactored and cleaned up unused or misplaced translation entries.
2025-06-21 18:45:14 +03:00
3ab95e9b56 Features: 1) Added icons, divider titles, priorities, and hide settings to apps; 2) Introduced Daisy settings file for customizable UI configuration; 3) Implemented new CSS styles for paginator component with hover and active states.
Fixes: 1) Updated AutoSlugField to enhance slug generation logic in core models.

Extra: 1) Removed redundant Daisy settings from base configurations; 2) Minor code cleanup and organization.
2025-06-21 18:35:34 +03:00
3cb6576258 Fixes: 1) Remove unnecessary null=True attribute from brand_priority field. 2025-06-20 05:32:21 +03:00
2840370c3e Features: 1) Add priority field to Brand model to support ranking functionality; 2) Enhance ProductDocument with brand_priority field in Elasticsearch for improved sorting; 3) Integrate function score query with brand_priority in Elasticsearch search logic;
Fixes: None;

Extra: 1) Update migrations for Brand model changes; 2) Refactor Elasticsearch query logic for clarity;
2025-06-20 05:26:03 +03:00
41b6c1aa07 Revert "Features: 1) Add suggest, price, and quantity fields to ProductDocument; 2) Introduce prepare_suggest method for enhancing autocomplete functionality; 3) Enhance search with filters, function scoring, and result aggregation; 4) Add new analyzers and token filters for synonyms and stopwords."
This reverts commit 97829d23a6.
2025-06-20 05:12:11 +03:00
352b5f14ef Revert "Features: None;"
This reverts commit 778d65b963.
2025-06-20 05:12:07 +03:00
1e2351afd5 Revert "Features: 1) Add chunk_size attribute to _BaseDoc class; 2) Enable additional Elasticsearch configurations (timeout, max_retries, retry_on_timeout); 3) Set ELASTICSEARCH_DSL_PARALLEL to True;"
This reverts commit 1dae1a6be5.
2025-06-20 05:12:00 +03:00
65a34bb90b Revert "Features: 1) Adjust Elasticsearch timeout settings and retry configuration for improved connection handling."
This reverts commit 76954ac24c.
2025-06-20 05:11:57 +03:00
76954ac24c Features: 1) Adjust Elasticsearch timeout settings and retry configuration for improved connection handling.
Fixes: 1) Reduce `_BaseDoc.chunk_size` to prevent potential memory issues.

Extra: 1) Disable Elasticsearch parallel indexing to enhance stability.
2025-06-20 04:56:31 +03:00
1dae1a6be5 Features: 1) Add chunk_size attribute to _BaseDoc class; 2) Enable additional Elasticsearch configurations (timeout, max_retries, retry_on_timeout); 3) Set ELASTICSEARCH_DSL_PARALLEL to True;
Fixes: None;

Extra: None;
2025-06-20 04:10:55 +03:00
778d65b963 Features: None;
Fixes: None;

Extra: 1) Remove unused "synonym_filter" and "synonym_analyzer" definitions in Elasticsearch configuration; 2) Cleanup redundant code for better maintainability;
2025-06-20 04:01:20 +03:00
97829d23a6 Features: 1) Add suggest, price, and quantity fields to ProductDocument; 2) Introduce prepare_suggest method for enhancing autocomplete functionality; 3) Enhance search with filters, function scoring, and result aggregation; 4) Add new analyzers and token filters for synonyms and stopwords.
Fixes: 1) Remove unused imports in `core/elasticsearch/__init__.py`.

Extra: Refactor `process_query` for improved readability and functionality; update aggregation and result processing logic; reformat and clean up code.
2025-06-20 03:55:56 +03:00
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
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
82667216f2 Features: None;
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;
2025-05-11 22:43:38 +03:00
3185eb8188 Features: None;
Fixes: 1) Correct typo in 'exclude' method call for categories; 2) Correct typo in 'exclude' method call for brands;

Extra: None;
2025-05-09 06:57:41 +03:00
695058128e Features: 1) Add exception handling for Category.MultipleObjectsReturned and Brand.MultipleObjectsReturned; 2) Add aiosmtpd dependency to pyproject.toml.
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.
2025-05-09 06:53:53 +03:00
fb91243718 Features: 1) Add management command to clear unwanted data including duplicate stocks and categories; 2) Automatically deactivate products without stocks; 3) Remove orphaned stocks.
Fixes: 1) None.

Extra: Refactored logic for grouped deletions and added success messages for better logging.
2025-05-09 04:51:21 +03:00
60c70e50f2 Features:
1) Add "created" and "modified" fields to list_filter in CategoryAdmin;

Fixes:
(none);

Extra:
(none);
2025-05-09 04:35:07 +03:00
ed16a4fd3d Revert "Features:"
This reverts commit a31ce44dfc.
2025-05-09 04:31:48 +03:00