Commit graph

72 commits

Author SHA1 Message Date
2114c8bb76 Features: 1) Add bulk_prefetch_filterable_attributes for optimized attribute fetching; 2) Introduce FilterableAttribute typing for standardizing attribute data across serializers and models; 3) Enhance CategoryDetailSerializer with custom list_serializer_class for bulk operations.
Fixes: 1) Replace redundant `get_filterable_attributes` logic with `filterable_attributes` property to avoid duplications; 2) Remove unnecessary imports and redundant comments in various modules.

Extra: Refactor admin queryset methods for optimization; remove unused `categories` field in `Attribute` model; improve clarity and maintainability of Graphene resolvers and related logic.
2025-10-26 16:21:34 +03:00
72a96edda1 Features: 3.1.0 2025-10-14 16:46:09 +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
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
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
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
700b55a9b6 Fixes: 1) Handle case where no feedback exists for an order product in resolve_feedback.
Extra: 1) Adjust logic for `resolve_feedback` to safely return the first feedback or `None`.
2025-09-18 15:06:17 +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
dea219f974 Fixes: 1) Remove redundant permission check for core.change_orderproduct in mutations.py;
Extra: None;
2025-09-18 14:10:06 +03:00
018d8ca8e0 Features: 1) Add rating field to Product object with description and GraphQL schema; 2) Implement resolve_rating to fetch the rating value for Product;
Fixes: None;

Extra: 1) Update field lists in `Product` meta to include `rating`.
2025-09-17 18:58:07 +03:00
2f4cceaa6a Features: 1) Add hreflang to metadata response across viewsets; 2) Update GraphQL schema to use hreflang as a string instead of a list.
Fixes: 1) Correct `hreflang` field type in serializers and GraphQL object types.

Extra: Refactor redundant `hreflang` handling; ensure uniform `LANGUAGE_CODE` usage throughout.
2025-09-09 15:30:05 +03:00
6539a63f4f Features: 1) Add slug field to Brand GraphQL object type;
Fixes: 1) None;

Extra: 1) None;
2025-09-09 14:21:04 +03:00
4e2c4c7ccb Features: 1) Add sku field to multiple serializers and GraphQL object types for better product identification;
Fixes: 1) Remove unnecessary `IntegrityError` import in 0038_backfill_product_sku migration;

Extra: 1) Minor formatting cleanup in migration files.
2025-09-01 20:52:42 +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
54d8889ffa Fixes: 1) Corrected products' filtering options on interfaces 2025-08-25 00:41:02 +03:00
ea22ca69a3 Features: 1) Introduce ALLOW validation for generic actions in permissions; 2) Add AllowAny permission class to seo_meta endpoints; 3) Update SEO URL patterns and breadcrumbs with language codes; 4) Improve compatibility of attributes in serializers with ListField and DictField.;
Fixes: 1) Correct dynamic URL generation for images in Open Graph (`og_image` and `logo_url`); 2) Address potential missing or empty `crumbs` handling in breadcrumbs generation;

Extra: 1) Refactor redundant action names (e.g., `seo` to `seo_meta`) for better consistency; 2) Clean up and optimize serializer structures and Graphene object fields; 3) Improve readability and maintainability of action and object implementations.;
2025-08-18 15:20:47 +03:00
91ebaece07 Features: 1) Add SEOMetaType to support structured SEO metadata for brands, products, and categories; 2) Introduce resolve_seo_meta for dynamic SEO data generation on key models; 3) Add helper functions graphene_current_lang and graphene_abs for language-based URLs and absolute URI handling.
Fixes: None;

Extra: 1) Refactor utility docstrings for clarity and detail; 2) Modernize utility function logic and improve inline comments; 3) Adjust logging initialization in `object_types.py`.
2025-08-18 14:36:48 +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
640cfae961 Features: 1) Add feedbacks_count, personal_orders_only, quantity, and attribute_groups to graphene object types; 2) Extend serializer to include personal_orders_only;
Fixes: None;

Extra: None;
2025-07-29 22:38:05 +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
eb213c7f3f Features: 1) Add interfaces with relay.Node to Address Meta class;
Fixes: None;

Extra: None;
2025-07-12 19:04:00 +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
661f9f2fe6 Features: 1) Add additional filters to promocodes query, including used_on__isnull and start_time__lte.
Fixes: None;

Extra: 1) Adjust query formatting for improved readability.
2025-07-09 17:04:14 +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
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
34f25052e0 Features: 1) Update type annotations in resolver methods for clarity and type safety;
Fixes: 1) Ensure accurate return types in resolver methods to avoid potential runtime issues;

Extra: 1) Minor code consistency improvements in `object_types.py`;
2025-07-06 23:34:43 +03:00
07aadb5d83 Features: 1) Add type hinting to resolver methods in Order; 2) Improve resolve_payments_transactions to handle QuerySet access.
Fixes: 1) Add missing `QuerySet` import in `graphene/object_types.py`.

Extra: 1) Minor refactoring for clarity in resolver method definitions.
2025-07-06 23:34:16 +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
41dd02147c Fixes: 1) Ensure Wishlist object query includes user constraint to prevent unauthorized access;
Extra: None;
2025-07-06 16:25:28 +03:00
bf1668b35b Features: 1) Add BulkWishlistAction mutation to perform batch actions on wishlist products; 2) Add FeedbackProductAction mutation to manage feedback for order products.
Fixes: None;

Extra: Update locale files to `EVIBES 2.9.2`; add missing imports to `mutations.py`.
2025-07-05 00:55:27 +03:00
602a59bd84 Features: 1) Add exit condition checks for $LASTEXITCODE in various PowerShell scripts to ensure graceful error handling; 2) Enhance schema filtering with additional condition for active vendors in graphene/schema.py;
Fixes: 1) Remove unused imports in `celery.py`;

Extra: Refactor formatting and improve code readability in PowerShell scripts.
2025-07-04 03:00:51 +03:00
aa8f15d0ee Features: 1) RUFFVCKED 2025-07-03 02:53:01 +03:00
81675fc55f Features: 1) Add service_healthy condition for database in docker-compose.yml dependencies; 2) Add payments_transactions field to OrderType GraphQL schema.
Fixes: 1) Add missing imports for `TransactionType` and `Transaction` in `graphene.object_types.py`.

Extra: 1) Update `docker-compose.yml` and GraphQL schema for improved service health checks and payment transaction resolution.
2025-07-02 16:52:59 +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
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
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
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
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
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
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
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
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
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
7cf133dccf Fixes: 1) Add support for passing additional keyword arguments (**kwargs) to resolve_brands method. 2025-05-30 18:05:43 +03:00