Commit graph

101 commits

Author SHA1 Message Date
a4ec737334 Features: 1) Set address_line_1 as a required field in the serializer;
Fixes: 1) Update Russian locale translation for "order" and "orders";

Extra: 1) Adjust minor formatting in Russian locale files.
2025-10-01 16:30:29 +03:00
6f4e952b9b Features: 1) Added new language options to User model's language field in vibes_auth; 2) Introduced localized title and content fields to Post model in blog; 3) Implemented multilingual support for various fields in Attribute, AttributeGroup, AttributeValue, Brand, Category, CategoryTag, and Product models in core;
Fixes: None;

Extra: None;
2025-09-19 17:02:11 +03:00
79714750fa Features: 1) Update resolve_feedback method to retrieve Feedback object based on order_product; 2) Enhance do_feedback method to handle existing feedback with better validation and support for returning feedback deletion count.
Fixes: 1) Fix handling of feedback deletion to return actual delete count rather than `None`.

Extra: 1) Refactor `do_feedback` method for clarity and improved logic flow; 2) Minor updates to error messages for consistency and accuracy.
2025-09-18 14:44:52 +03:00
17a2b01894 Features: 1) Add feedback field to OrderProduct type; 2) Introduce resolution logic for feedback in OrderProduct; 3) Extend allowed statuses for feedback creation to include FAILED;
Fixes: 1) Reorder imports in `core/utils` and `core/utils/seo_builders` sections; 2) Correct misplaced `Boolean` import in `object_types.py`;

Extra: 1) Update GraphQL schema descriptions for new and existing fields; 2) Minor reformatting of imports for consistency.
2025-09-18 14:26:56 +03:00
0ca0756e50 Features: 1) Add support for authorization code grant type in the Amo gateway.
Fixes: 1) Improve validation logic to ensure only one default CRM provider within the model.

Extra: 1) Replace CRM object string representation to use `name` instead of `crm_lead_id`; 2) Refactor token caching to improve reliability and readability.
2025-09-07 03:03:29 +03:00
3769482f56 Features: 1) Add _create_contact and _get_customer_name to handle customer-related details; 2) Introduce process_order_changes to streamline order processing.
Fixes: 1) Correct logging format for CRM integration error messages.

Extra: Remove unused fields `pipeline_id` and `stage_map`; refine `_build_lead_payload`; enhance error logging with stack traces.
2025-09-07 02:33:54 +03:00
3cd12423fe Features: 1) Add migration to update verbose_name and verbose_name_plural for CustomerRelationshipManagementProvider.
Fixes: 1) Correct `verbose_name` and `verbose_name_plural` in `CustomerRelationshipManagementProvider` model.

Extra: 1) None.
2025-09-07 01:16:48 +03:00
a4ca20c8be Features: 1) Add CustomerRelationshipManagementProvider model with fields for integration details and attributes; 2) Add OrderCrmLink model to associate orders with CRM providers; 3) Register both models (CustomerRelationshipManagementProvider and OrderCrmLink) in the admin interface;
Fixes: 1) Correct verbose_name usage for `attributes` field in an existing model;

Extra: 1) Adjust admin field grouping and formatting consistency for readability.
2025-09-07 01:06:36 +03:00
d203095c65 Features: 1) Integrated CRM trigger functionality for Order model, allowing CRM updates during state changes; 2) Added handling for multiple or missing OrderCrmLink entries within upsert_order; 3) Introduced fns_api_key handling in CRM configurations.
Fixes: 1) Resolved malformed phone number issue in serializer when `instance` is unavailable; 2) Corrected relation field naming for `OrderCrmLink` (`order_uuid` to `order`); 3) Ensured only one default CRM provider can exist.

Extra: 1) Refactored `is_business` logic with error handling; 2) Improved logging for CRM integration errors; 3) Added `integration_location` and `default` fields to CRM configuration model.
2025-09-07 00:09:29 +03:00
752f96fcdd Features: 1) Introduce AmoOrderGateway to handle interaction with AMO CRM; 2) Add models CustomerRelationshipManagementProvider and OrderCrmLink to support CRM integration; 3) Implement any_crm_integrations utility function to check CRM provider existence;
Fixes: None;

Extra: 1) Add `URLField` import in models.py; 2) Adjust `save` method signature in models.py to improve typing consistency; 3) Raise custom `CRMException` for CRM setup errors;
2025-09-06 03:07:26 +03:00
ac439d7ead Features: 1) Ensure is_business flag is consistently updated for users and orders; 2) Refactor serializers to improve handling of business order data structures; 3) Add support for business-specific attributes in buy operations.
**Fixes**: 1) Correct handling of non-dict `attributes` for users and orders; 2) Resolve serializer field inconsistencies in `BuyUnregisteredOrderSerializer` and others.

Extra: 1) Clean up redundant error handling and unused local variables; 2) Rename and align method arguments for clarity.
2025-09-05 19:04:15 +03:00
ec147984ab Features: 1) Add sku field to Product model with improvements, including unique constraint and default generation; 2) Implement migration to backfill SKUs for existing products.
Fixes: None.

Extra: 1) Adjust `.po` and `.mo` files for version change to `2.9.3`; 2) Update translations with minor formatting improvements; 3) Clean up comments in locale files.
2025-09-01 20:50:48 +03:00
a44b8fb652 Features: 1) Add handling for business user attributes in order logic; 2) Update HTTP response codes for business order creation to 201.
Fixes: 1) Fix typo `business_inn` to `business_identificator`.

Extra: 1) Improve exception handling with specific error cases for invalid `force` values; 2) Minor formatting adjustments in `models.py`.
2025-09-01 13:17:51 +03:00
fe104c7ff5 Features: 1) Added custom manager for Product model 2025-08-25 00:26:06 +03:00
016b9a575a Features: 1) Update product property to reflect the highest price from stock instead of the lowest; 2) Update filter option to use price_order for consistent sorting;
Fixes: 1) Fix incorrect queryset filtering logic in the `feedbacks` endpoint; 2) Replace redundant product lookup in `feedbacks` with `get_object` for improved clarity and performance;

Extra: 1) Rename annotated field `price` to `price_order` in queryset filters for better semantics; 2) Cleanup and streamline `feedbacks` endpoint logic.
2025-08-20 06:45:46 +03:00
ab10a7a0b7 Features: 1) Add SEO meta utilities and builder functions for schemas; 2) Implement SEO-related APIs in viewsets for categories, brands, and products; 3) Add SeoMeta model and serializer to manage SEO metadata.
Fixes: 1) Resolve annotations compatibility with mypy `type: ignore` adjustments; 2) Correct `resolve_price_with_currency` method to ensure proper float returns; 3) Handle scenarios for empty or null queryset in vendor methods.

Extra: 1) Refactor utility functions for better type annotations and robustness; 2) Minor formatting corrections and removal of redundant mypy strict setting; 3) Improve method return types for consistency.
2025-08-18 14:26:09 +03:00
99fef0e1e0 Features: 1) N/A;
Fixes: 1) Remove unused migration file `0037_alter_vendor_b2b_auth_token`; 2) Update `b2b_auth_token` field in `Vendor` model to remove uniqueness constraint;

Extra: 1) Add explicit return type annotation to `Vendor.save` method.
2025-07-28 12:17:44 +03:00
f52227973b Features: 1) Add b2b_auth_token and users fields to Vendor model with associated migration; 2) Introduce unique constraint for b2b_auth_token with migration; 3) Enhance VendorAdmin and Vendor model's save method to manage related users and token fields automatically;
Fixes: 1) Adjust `is_business` property logic for accuracy; 2) Fix import cleanup in serializers and utils files;

Extra: Refactor `core.models`, `core.utils`, and `core.vendors` for improved type annotations and other minor adjustments; Expand mypy exclusions in `pyproject.toml`.
2025-07-28 11:56:32 +03:00
954e02385c Features: 1) Add personal_orders_only field to GraphQL schema for Product; 2) Implement personal_orders_only property in Product model; 3) Include personal_orders_only in simple serializer;
Fixes: None;

Extra: 1) Remove redundant `stocks__isnull=False` filter from views and schema queries; 2) Minor formatting adjustments;
2025-07-26 14:48:21 +03:00
ec1a63afd8 Features: 1) Add tracking of buy_time when order status is set to payment; 2) Add buy_time field to admin general fields;
Fixes: None;

Extra: None;
2025-07-16 17:25:35 +03:00
0a2b4b65a0 Features: 1) Prevent duplicate "order finished" emails with added check on system_email_sent attribute; 2) Automatically update system_email_sent attribute after sending order email;
Fixes: 1) Remove unused `_` import in `drf.py`; 2) Trim redundant newline in `apply_addresses` method;

Extra: 1) Fix minor formatting in `deepl_translate.py` command; 2) Simplify `SPECTACULAR_PLATFORM_DESCRIPTION` string handling; 3) Minor refactoring and cleanup in email utility and related logic.
2025-07-16 14:54:33 +03:00
c149adb0a8 Features: 1) Add detailed translation logic in deepl_translate command with placeholder mapping and DeepL API integration; 2) Enhance deepl_translate with better PO handling and dynamic saving.
Fixes: 1) Correct incorrect type annotations and imports for `readline` in `deepl_translate` command; 2) Remove unused variables `billing_address` and `shipping_address` in address application logic.

Extra: Add `# type: ignore` comments to suppress type-checking errors across admin classes.
2025-07-14 17:12:26 +03:00
e49c942a1b Features: 1) Add detailed in-line comments with type ignore for improved debugging and maintainability; 2) Update I18N strings and translation placeholders across locales; 3) Introduce "address set" as a translatable object;
Fixes: 1) Resolve malformed phone number error message format; 2) Fix minor grammatical issues in message strings; 3) Align POT-Creation-Date metadata in locale files;

Extra: Enhance formatting consistency in documentation and translations; Remove obsolete translation strings.
2025-07-14 16:22:19 +03:00
eb7cc9847a Features: 1) Add default Address.objects.none() placeholders in apply_addresses method; 2) Validate address application only when billing or shipping address exists;
Fixes: 1) Correct logic for optional address validation to avoid runtime errors;

Extra: 1) Change documentation settings format from "Google" to "Plain".
2025-07-14 10:26:17 +03:00
09366213b6 Features: 1) Introduced AddressFilter and AddressType to enable filtering and querying addresses via GraphQL; 2) Added resolve_addresses method with permission check in GraphQL schema; 3) Updated DRF settings to improve API documentation structure.
Fixes: 1) Corrected `apply_addresses` logic to handle address validation more robustly; 2) Fixed incorrect imports and annotations for better type safety; 3) Resolved typos and clarified docstrings for various views and methods.

Extra: Adjusted formatting, added `# type: ignore` for stricter type checks, and removed unused `dist/` directory from `.dockerignore`.
2025-07-12 18:49:25 +03:00
89301d6432 Features: 1) Add support for processing chosen_products in order creation and update mutations; 2) Introduce new field chosen_products to serializers and GraphQL inputs; 3) Enhance order model to allow bulk addition of products with quantity updates;
Fixes: 1) Correct avatar resolution in `resolve_avatar` method for cases where `url` or `name` attributes are missing; 2) Refresh user object from the database after avatar update to avoid stale data;

Extra: 1) Rename `BulkActionOrderProductInput` to `BulkProductInput` for consistency; 2) Minor code refactorings and adjustments for clarity.
2025-07-08 21:02:54 +03:00
171f2cb20f Features: 1) Add update_order_products_statuses method for bulk updating product statuses; 2) Wrap order creation logic in atomic transaction to ensure integrity.
Fixes: 1) Add missing `transaction` import in `core/models.py`.

Extra: 1) Refactor order product status updates to use the new method; 2) Enhance readability and maintainability of order processing logic.
2025-07-08 16:32:01 +03:00
3427c6ad22 Features: 1) Add validation for empty attributes in Order model; 2) Introduce final_amount retrieval for streamlined promocode application.
Fixes: 1) Update `logger.debug` call to improve readability; 2) Correct `promocode` key to `promocode_uuid` in order attributes dictionary to ensure consistent naming.

Extra: 1) Minor cleanup and code comments in `Order` processing logic.
2025-07-08 14:56:38 +03:00
aa643f6773 Features: 1) Initialize order.attributes as an empty dictionary if undefined;
Fixes: 1) Prevent potential errors when accessing `order.attributes` without initialization;

Extra: None;
2025-07-07 19:49:44 +03:00
def55e9221 Features: None;
Fixes: 1) Change `UUID` to `String` for various GraphQL arguments; 2) Correct type annotation for `chosen_products` in `core/models.py`;

Extra: None;
2025-07-07 19:43:06 +03:00
d8d4c07e80 Fixes: 1) Add missing Any import to typing. 2025-07-06 23:53:58 +03:00
1ace97c233 Features: 1) Add support for optional billing_address_uuid and shipping_address_uuid in apply_addresses; 2) Introduce chosen_products parameter in the buy method for customized order creation;
Fixes: 1) Correct type annotations in `buy` and `bulk_add_products` methods for improved type safety;

Extra: 1) Refactor `buy` method for enhanced readability and maintainability; 2) Update usage of `self` to `order` for clarity in dynamic order creation scenarios.
2025-07-06 23:53:46 +03:00
af127045ae Features: None;
Fixes: 1) Update logging configuration to align all logger instances to use "django" instead of "evibes"; 2) Remove unused logging configuration for "django.request";

Extra: 1) Add detailed error logging in GraphQL execution to include exception messages.
2025-07-06 17:22:14 +03:00
29005527bb Features: 1) RUFFVCKED 2025-07-03 15:00:18 +03:00
aa8f15d0ee Features: 1) RUFFVCKED 2025-07-03 02:53:01 +03:00
83cad6c1cc Features: 1) Update all logger instances across the codebase to use "evibes" instead of "django";
Fixes: 1) None;

Extra: 1) Enhance consistency in logging configuration and improve alignment with project-specific naming conventions.
2025-06-30 01:44:20 +03:00
b040da6e5a Fixes: 1) Update logger initialization to use "django" logger across all modules for consistency;
Extra: None;
2025-06-30 01:37:38 +03:00
14c37701b6 Features: 1) Add _ import for translations in emailing utility; 2) Simplify urlpatterns definition in api_urls; 3) Introduce is_publicly_visible attribute to multiple core models;
Fixes: 1) Correct transaction primary key reference in email utility; 2) Remove unnecessary model permissions in `jazzmin.py`;

Extra: 1) Minor formatting alignments to codebase including whitespace adjustments; 2) Retain static URL handling in debug mode for `api_urls`.
2025-06-29 19:18:27 +03:00
7dc69ad63f Features: 1) Add docutils dependency to pyproject.toml and poetry.lock for enhanced documentation utilities; 2) Add verbose and descriptive docstrings for multiple core models to outline attributes, methods, and meta options; 3) Enable XViewMiddleware in settings for admin documentation support;
Fixes: None;

Extra: Update `lock-version` and `content-hash` in `poetry.lock` reflecting the addition of `docutils` package;
2025-06-29 19:12:48 +03:00
eb68132dd3 Features: 1) None;
Fixes: 1) Correct formatting of multi-line expressions for better readability; 2) Ensure consistent use of single-line expressions where appropriate; 3) Fix minor spacing issues in text fields; 4) Adjust admin model field `general_fields` to include `priority`;

Extra: Refactored several multi-line statements to improve consistency and code style.
2025-06-29 19:08:17 +03:00
0a81b12100 Features: 1) Add support for fine-tuned boosts in Elasticsearch scoring for title and related fields; 2) Adjust product, brand, and category scoring multipliers to improve search ranking flexibility.
Fixes: 1) Correct `total_orders` calculation in `Product` model to count only relevant statuses.

Extra: 1) Refactor comments for clarity in Elasticsearch configuration; 2) Minor formatting adjustments.
2025-06-23 16:52:39 +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
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
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
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