Commit graph

873 commits

Author SHA1 Message Date
8889429a02 Features: 1) Delete vendor's last processing response if present before saving new data;
Fixes: none;

Extra: none;
2025-10-15 17:17:36 +03:00
3b1d20ff14 Features: 1) Import gzip, BytesIO, datetime, and ContentFile at the top level for consolidation and reuse;
Fixes: 1) Remove redundant in-function imports for `gzip`, `BytesIO`, `datetime`, and `ContentFile`;

Extra: 1) Minor reorganization to improve readability and adhere to import best practices.
2025-10-15 16:21:35 +03:00
d355045755 Features: 1) Update save_response method to support data as both dictionary or list;
Fixes: ;

Extra: ;
2025-10-15 16:17:03 +03:00
996362d9f1 Features: 1) Add save_response method to save vendor responses with optional gzip compression; 2) Introduce VendorDebuggingError for debugging-specific exceptions; 3) Add imports for config and settings for enhanced configuration support;
Fixes: None;

Extra: Improve exception handling with `suppress(Exception)` block; add detailed docstring to `VendorDebuggingError`.
2025-10-15 16:15:23 +03:00
20d5f5db21 Features: 1) Add support for linking Gateway to transactions including constraints and limits; 2) Implement new Gateway model with transactional rules and currency configurations; 3) Add integration_path field to Vendor for dynamic integrations; 4) Improve task logic to dynamically use vendor integrations for stock updates and order statuses.
Fixes: 1) Replace `IntegerField` with `PositiveIntegerField` for product image priority to enforce positive values.

Extra: 1) Optimize imports for consistent formatting; 2) Clarify logging messages in tasks; 3) Minor docstring and help text updates.
2025-10-15 14:25:58 +03:00
6fa037390c Features: 1) Add get_gateways_integrations utility for payment gateway integrations; 2) Add get_vendors_integrations utility for vendor integrations; 3) Add version API endpoint to return eVibes version; 4) Implement __str__ method for AbstractVendor;
Fixes: 1) Update return type of `create_object` to `Any`;

Extra: 1) Remove unused fields (`icon`, `priority`, `hide`) from `blog.apps`; 2) Update API URLs to include `version` endpoint; 3) Miscellaneous cleanup and comments.
2025-10-15 14:25:10 +03:00
e7a859ad0a Fixes: 1) Ensure get_parameters handles missing configuration keys gracefully by adding a check for None values;
Extra: Update `cache.get` default value in `get_parameters` method for better safety.
2025-10-14 19:48:46 +03:00
20b4efec90 Fixes: 1) Add "last_processing_response" to additional_fields in admin configuration;
Extra: Adjust admin display fields for improved traceability;
2025-10-14 17:55:03 +03:00
5fcb9e7547 Fixes: 1) Replace "additional_fields" with "last_processing_response" in additional_fields list for better clarity; 2025-10-14 17:54:42 +03:00
72a96edda1 Features: 3.1.0 2025-10-14 16:46:09 +03:00
e0b2f183ce Features: 1) Extend fieldsets by adding additional_fields support in FieldsetsMixin; 2) Add CRMForm for CustomerRelationshipManagementProviderAdmin; 3) Improve Order.__str__ to use human_readable_id for better debugging context;
Fixes: 1) Replace misplaced imports in `core/admin.py` for proper organization;

Extra: Adjust admin fieldsets for consistency, formatting, and search enhancements; Minor contributions to migration file cleanup.
2025-10-13 16:27:47 +03:00
c8aaae4946 Features: 1) Add last_processing_response field to vendor model with FileField support.
Fixes: 1) Update translation strings for multiple locales to correct formatting issues.

Extra: 1) Update POT creation date across locale files; 2) Minor adjustments to translations for consistency.
2025-10-13 16:11:37 +03:00
c9d6ec22f5 Fixes: 1) Remove unnecessary addition of product.category to attribute.categories in core/vendors/__init__.py.
Extra: Minor cleanup to improve readability and maintainability.
2025-10-09 12:41:25 +03:00
d14d8e41db Fixes: 1) Replace product_uuid with product_id in stock filtering queries to ensure compatibility.
Extra: Refactor annotations for consistency across `core/filters.py` and `core/graphene/schema.py`.
2025-10-07 20:05:07 +03:00
f646d5ab09 Features: 1) Add Stock existence filters for has_price and has_stock annotations in queries; 2) Introduce personal_order_tail for improved ordering logic; 3) Support advanced filtering in DjangoFilterConnectionField with augmented filters and types.
Fixes: 1) Correct import order in multiple files; 2) Remove unnecessary migration file metadata changes.

Extra: 1) Refactor ordering logic to streamline query annotations; 2) Improve code readability with explicit list annotations and consistent formatting adjustments.
2025-10-07 17:49:07 +03:00
0752221d22 Features: 1) Simplify robots.txt disallow rules with wildcard usage for better pattern matching;
Fixes: 1) None;

Extra: 1) Cleanup redundant entries in robots.txt for improved readability;
2025-10-07 17:37:54 +03:00
dc4da60e82 Features: 1) Add support for multilingual meta descriptions in the post model, covering 30+ locales.
Fixes: None.

Extra: Update `django.po` and `django.mo` localization files to reflect translation changes and model updates.
2025-10-07 15:53:08 +03:00
9e40323823 Features: 1) Update all locale translations for token-related messages; 2) Update all locale translations with read-only Transaction ViewSet description; 3) Update all locale translations for reset password and token validations;
Fixes: 1) Correct line references in locale files for consistency;

Extra: Improve formatting and alignment of string segments for clarity and maintainability;
2025-10-06 15:58:30 +03:00
64113648eb Features: None;
Fixes: None;

Extra: 1) Remove `.idea/evibes.iml` file to clean up project-specific configuration.
2025-10-06 12:06:33 +03:00
e1f9a7cace Features: 1) Update POT-Creation-Date across translation files to reflect the latest changes; 2) Adjust line references in message comments for accurate mappings.
Fixes: 1) Harmonize inconsistent whitespace across translation files.

Extra: Address formatting issues in translation strings for better readability and maintainability.
2025-10-04 01:57:31 +03:00
58e1390d4d Fixes: 1) Correct string argument in hasattr call within download_url method. 2025-10-03 17:38:18 +03:00
6fe1664d57 Fixes: 1) Corrected download attribute check with hasattr to prevent potential AttributeError;
Extra: n/a;
2025-10-03 17:37:20 +03:00
9ad79f0c5e Fixes: 1) Handle missing DigitalAssetDownload instance in download_url method with explicit conditional logic;
Extra: 1) Simplify exception handling by replacing it with clear branch logic.
2025-10-03 17:26:58 +03:00
90d077fefd Features: 1) Add setter method for personal_orders_only in core.models.py;
Fixes: 1) Correct exception handling by replacing `self.download.RelatedObjectDoesNotExist` with `DigitalAssetDownload.RelatedObjectDoesNotExist`;

Extra: None;
2025-10-03 17:16:52 +03:00
40c86c7eef Features: 1) Streamlined stock and price annotations by removing redundant Max wrapping;
Fixes: None;

Extra: 1) Simplified code structure for readability; 2) Optimized boolean calculations for annotations;
2025-10-03 17:07:59 +03:00
d917584829 Features: 1) Replace IntegerField with BooleanField for has_stock, has_price, and personal_orders_only annotations; 2) Modify final ordering logic to append personal_orders_only at the end.
Fixes: 1) Handle missing `download` relation in `download_url` method by creating a new `DigitalAssetDownload` instance.

Extra: 1) Rename `personal_order_only` to `personal_orders_only` for clarity; 2) Remove unused IntegerField import; 3) General cleanup and minor adjustments in filters logic.
2025-10-03 16:56:29 +03:00
63b3a93938 Fixes: 1) Correct logical grouping in personal_orders_only property for clarity and accuracy;
Extra: None;
2025-10-02 17:13:24 +03:00
a344014d9f Features: 1) Add annotations for has_stock, has_price, and personal_order_only in product query to enhance filtering and sorting; 2) Implement conditional ordering by personal_order_only in product query;
Fixes: 1) Remove redundant `personal_order_only` mapping from filters to fix duplicate processing; 2) Adjust sorting logic to avoid appending unneeded `personal_order_only` in filters;

Extra: 1) Add missing imports for Django model annotations and fields; 2) Refactor product query for clarity and improved handling of availability and price conditions.
2025-10-02 15:08:20 +03:00
fa97a582d3 Features: 1) Add fallback logic for business_identificator lookup in order and user attributes; 2) Implement raise_for_status for FNS API requests to handle HTTP errors effectively;
Fixes: 1) Remove unused Django `settings` import;

Extra: 1) Minor reorganization of variable assignments for clarity.
2025-10-02 14:26:21 +03:00
d1ee8d6f97 Features: 1) Add support for loading redirect_uri from dynamic config using constance.BASE_DOMAIN;
Fixes: 1) Add missing imports for `constance.config` and `django.conf.settings`;

Extra: 1) Minor adjustment to `payload` initialization for consistency.
2025-10-02 13:50:03 +03:00
f2456d1391 Features: 1) Add is_status_code_success utility function to check HTTP status success codes; 2) Implement is_status_code_success in AMO access token retrieval to improve error handling;
Fixes: None;

Extra: 1) Adjust minor formatting in `core/utils/__init__.py`; 2) Add logging for failed AMO access token requests;
2025-10-02 13:37:47 +03:00
eb69fd3328 Fixes: 1) Resolve incorrect URL formatting in AMO CRM gateway by removing redundant "https://" prefix;
Extra: None;
2025-10-02 13:28:35 +03:00
447f70d17a Fixes: 1) Handle generic Exception in current method of viewsets to prevent 500 errors;
Extra: 1) Add fallback error response with status 400 for unexpected exceptions.
2025-10-02 13:19:21 +03:00
4bce9224fc Features: 1) Automatically create a new Order if no pending Order exists for authenticated users;
Fixes: 1) Handle `Order.DoesNotExist` exception in `current` method of viewsets;

Extra: 1) Minor improvement to user experience by ensuring an Order object is always returned.
2025-10-01 18:51:11 +03:00
c6f2029285 Features: 1) Add retrieve method to handle Address retrieval by UUID;
Fixes: None;

Extra: None;
2025-10-01 18:36:00 +03:00
d2cb4c73f0 Features: 1) Allow "retrieve" action in additional permissions for AddressViewSet;
Fixes: none;

Extra: none;
2025-10-01 18:25:31 +03:00
6a42907060 Features: 1) Update rate limit logic to dynamically adjust based on settings.DEBUG instead of hardcoded DEBUG;
Fixes: 1) Remove unused import of `DEBUG` from settings;

Extra: n/a;
2025-10-01 18:19:54 +03:00
b1c022b974 Features: 1) Add promocode_uuid field to BuyAsBusinessOrderSerializer; 2) Enhance error handling in buy_without_registration by wrapping in a try-except block and returning appropriate HTTP 2025-10-01 17:59:06 +03:00
330177f6e4 Features: 1) Add # noinspection PyUnusedLocal annotations to various viewsets, filters, and migrations to suppress unnecessary warnings; 2) Improve post method in BusinessPurchaseView to handle exceptions and inactive orders gracefully; 3) Refactor resolve_transactions and related resolvers in Graphene to include more specific typing hints; 4) Include defensive coding for attributes in several models to ensure type safety.
Fixes: 1) Correct default manager assignment in `Product` model; 2) Address potential division by zero in `AbsoluteFTPStorage`; 3) Ensure proper exception handling for missing `order` attributes in CRM gateway methods; 4) Rectify inaccurate string formatting for `Transaction` `__str__` method.

Extra: Refactor various minor code style issues, including formatting corrections in the README, alignment in the emailing utility, and suppressed pycharm-specific inspections; clean up unused imports across files; enhance error messaging consistency.
2025-10-01 17:26:07 +03:00
91ed79669b Features: 1) Enhance __str__ in payments.models.Transaction to handle cases where balance is missing.
Fixes: 1) Adjust feedback creation logic in `core.models` to ensure it is only allowed when `order.status` is `FINISHED`.

Extra: 1) Minor formatting adjustment in `payments.models.Transaction` for improved readability.
2025-10-01 16:47:01 +03:00
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
3324e5d36b Features: 1) Replace FeedbackDetailSerializer with FeedbackSimpleSerializer in feedback retrieval endpoint;
Fixes: none;

Extra: 1) Update API documentation to reflect serializer change;
2025-09-30 12:12:28 +03:00
795adea793 Fixes: 1) Rename lookup parameter to lookup_value in product SEO metadata API for clarity. 2025-09-30 11:55:02 +03:00
e18327b920 Features: 1) Add "feedbacks" action with corresponding serializer in ProductViewSet;
Fixes: 1) Replace `lookup` with `lookup_value` in API parameter definitions;

Extra: 1) Remove unused query parameters for product listing documentation.
2025-09-30 11:54:45 +03:00
e0c26efa5d Features: 1) Update dependencies to their latest versions, including anyio to 4.11.0, argon2-cffi-bindings to 25.1.0, asgiref to 3.9.2, bcrypt to 5.0.0, and several others.
Fixes: None;

Extra: Streamlined poetry.lock file with updated package descriptions, versions, and checksums; minor formatting adjustments in extras and dependencies sections.
2025-09-30 11:42:12 +03:00
d44bbdd920 Features: 1) Add support for filtering objects by SKU in get_object method; 2) Introduce handling for new feedbacks and do_feedback in additional and serializers;
Fixes: 1) Adjust import order in `viewsets.py` to match project convention; 2) Correct schema name from `seo` to `seo_meta` in documentation;

Extra: 1) Refactor SEO schemas import order for better readability; 2) Update `additional` field structure with consistent formatting.
2025-09-30 11:37:58 +03:00
f95f640a06 Features: 1) Optimized __init__ method in filters to handle annotation logic for rating and price fields, improving query efficiency.
Fixes: 1) Removed redundant annotation logic for `rating` and `price` fields from `qs` method, ensuring no duplication and enhancing maintainability.

Extra: Reorganized filter logic by consolidating annotation processes into the constructor; eliminated unused code for cleaner and more maintainable structure.
2025-09-29 11:35:42 +03:00
bb5911abe6 Features: 1) Introduced search fields with transliteration support across filters and Elasticsearch queries; 2) Simplified name filters in product, category, and brand filters by replacing custom logic with standard icontains; 3) Added process_system_query function with enhanced query capabilities.
Fixes: 1) Corrected inconsistent `QuerySet` type hints in vendors module; 2) Resolved string concatenation issue in `get_uuid_as_path` by prepending the path with "users/".

Extra: Updated Elasticsearch weighting factors and SMART_FIELDS configuration for better search relevance; removed unused methods and redundant comments in filters and documents; cleaned up migrations and adjusted query building logic.
2025-09-27 15:56:52 +03:00
cf268c8af3 Features: None;
Fixes: None;

Extra: 1) Update README.md with a new project description emphasizing simplicity and flexibility.
2025-09-22 15:18:43 +03:00
1f68fa8b73 Features: 1) Add is_filterable field to Attribute model with migration; 2) Extend admin panel to include is_filterable in general_fields; 3) Update serializers to respect is_filterable for attribute querying; 4) Ensure object types enforce is_filterable in attribute filtering;
Fixes: None;

Extra: Improve `AlterUniqueTogether` constraint for attributes with `name` and `group`;
2025-09-22 14:11:15 +03:00