Commit graph

778 commits

Author SHA1 Message Date
9e1430b05c Fixes: 1) Return filtering options to ProductViewSet 2025-08-25 00:38:05 +03:00
bf4c21d431 Fixes: 1) Fixed elasticsearch's track_scores 2025-08-25 00:27:24 +03:00
fe104c7ff5 Features: 1) Added custom manager for Product model 2025-08-25 00:26:06 +03:00
d948d51f91 Fixes: 1) Reworked search weights so text matches appear first. 2025-08-25 00:11:47 +03:00
b3a0fbef56 Features: 1) Add digital asset file validation before updating order product status; 2) Refactor queryset logic in document class to improve readability;
Fixes: 1) Remove unused serializer import in signals; 2) Fix potential issue with empty digital assets causing errors;

Extra: 1) Clean up logging statements in order processing; 2) Minor formatting and indentation improvements for clarity;
2025-08-22 00:03:48 +03:00
b282706bd2 Features: 1) Add get_queryset method to filter active brands, categories, and vendors;
Fixes: None;

Extra: None;
2025-08-21 05:11:50 +03:00
a2a49c0e83 Features: 1) Adjust boost values for SMART_FIELDS to fine-tune search relevance.
Fixes: 1) Reduce `field_value_factor` weights for improved scoring balance.

Extra: None.
2025-08-20 12:25:44 +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
a2f9ae8693 Features: 1) Rename _BaseDoc to BaseDocument for clarity and consistency; 2) Expose _add_multilang_fields as add_multilang_fields for broader use;
Fixes: 1) Correct `name_ngram` search analyzer in `PostDocument` to `icu_query`;

Extra: 1) Update import paths and references following renaming of `BaseDocument` and `add_multilang_fields`.
2025-08-20 06:22:34 +03:00
167dafefb1 Features: 1) Implement language-specific adjustments for CJK and RTL/Indic languages in Elasticsearch queries; 2) Enhance query fuzziness settings based on language; 3) Refine SMART_FIELDS logic for phonetic and ngram weighting;
Fixes: 1) Correct logic to handle empty or missing language codes in requests;

Extra: Clean up comments and redundant whitespace in analyzers and filters definitions;
2025-08-20 06:09:16 +03:00
0a375ad0d1 Features: 1) Add brand_name and category_name fields to ProductDocument for enhanced search indexing; 2) Introduce expanded ICU-based analyzers for multi-language support, including Arabic, Indic, and CJK; 3) Enable search enhancements with revised weights in SMART_FIELDS and additional language-specific query mappings.
Fixes: 1) Correct typo in total_orders field name in ProductDocument; 2) Replace outdated query_lc analyzer with icu_query for consistent Unicode handling; 3) Remove unnecessary get_object_or_404 calls to optimize batch query performance.

Extra: Refactor process_query function with clearer structure and batch-loading logic; streamline brand and category field handling across documents; improve reboot scripts to rebuild search index automatically.
2025-08-20 05:36:55 +03:00
6e83562ee6 Features: 1) Add include_personal_ordered filter to handle personal orders; 2) Modify ordering filters to support annotation of price using Coalesce and Max;
Fixes: 1) Ensure email and phone number validation rejects duplicates in the user table;

Extra: 1) Minor adjustments to annotated queryset for order filter logic.
2025-08-20 05:00:55 +03:00
421e4a083f Features: 1) Add lookup_field and lookup_url_kwarg to Category and Brand viewsets;
Fixes:

Extra: 1) No changes to existing logic;
2025-08-18 15:43:30 +03:00
5c18404b53 Features: 1) Introduced get_object method for reusable object retrieval logic in Category and Brand viewsets; 2) Enhanced SEO meta retrieval using the new get_object method.
Fixes: 1) Removed reliance on suppressed exceptions for UUID lookup; 2) Improved handling of invalid or missing objects during lookup.

Extra: 1) Cleaned up unused import `suppress`; 2) Simplified code by replacing redundant lookup logic with a unified method.
2025-08-18 15:34:28 +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
733b249643 Features: 1) Add seo endpoint to category schema for SEO metadata snapshots; 2) Add seo endpoint to product schema for SEO metadata snapshots; 3) Add description attribute to various endpoint schemas for enhanced documentation;
Fixes: 1) Remove redundant `seo` action mapping in `EvibesPermission`;

Extra: 1) Add missing import for `SeoSnapshotSerializer`; 2) Minor schema formatting improvements;
2025-08-18 15:02:57 +03:00
d767e17f29 Features: 1) Add "seo" action with "view" permission mapping in EvibesPermission; 2) Extend action serializer classes with additional "seo" allowance in multiple viewsets.
Fixes: 1) None.

Extra: 1) Minor adjustments in viewsets for consistency in handling "seo" action.
2025-08-18 14:57:25 +03:00
5556cd008d Fixes: 1) Remove unnecessary blank line in get_or_create_attribute_safe. 2025-08-18 14:46:18 +03:00
1308aa47db Features: 1) Add get_or_create_attribute_safe method for safely creating or retrieving attributes within a transaction;
Fixes: 1) Extend imports with `transaction` to support atomic operations;

Extra: 1) Minor inline comment adjustments for clarity.
2025-08-18 14:43:54 +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
45e9ffa143 Features: 1) Add FormParser and MultiPartParser to DRF DEFAULT_PARSER_CLASSES;
Fixes: 1) Update variable names in PowerShell script to align with expected environment variable naming convention;

Extra: 1) None;
2025-08-17 18:06:09 +03:00
81247bde52 Features: 1) Deduct buy_price from user's payment balance upon order product creation.
Fixes: None;

Extra: None;
2025-08-13 20:50:07 +03:00
83ce862a83 Features:;
Fixes:;

Extra: 1) Simplify `FileResponse` usage and reduce redundant code in file download logic;.
2025-08-13 20:43:28 +03:00
9b47f6dd7b Fixes: 1) Correct file path lookup for digital assets in download logic;
Extra: Adjusted logic to ensure compatibility with `digital_asset.path`.
2025-08-13 20:35:02 +03:00
10351e4576 Fixes: 1) Correct parameter name from encoded_uuid to order_product_uuid in download_digital_asset_view; 2) Update logging to reflect new parameter name;
Extra: None;
2025-08-13 20:22:19 +03:00
1cc75787ab Features: 1) Add logging configuration with a logger setup; 2) Log debug information in download_digital_asset_view function;
Fixes: 1) Add missing `logging` import;

Extra: 1) Remove redundant alias for `uuid` module.
2025-08-13 20:17:39 +03:00
cbd72f10b8 Features: 1) Add detailed traceback in error response for DEBUG mode; 2) Include received encoded_uuid in server error responses for better debugging;
Fixes: 1) Update error responses to use camelized keys consistently;

Extra: 1) Add missing traceback import; 2) Improve error handling for digital asset downloads;
2025-08-13 20:09:48 +03:00
e7bfa87e74 Fixes: 1) Correct UUID decoding to resolve invalid usage of urlsafe_base64_decode.
Extra: Removed unnecessary variable assignments for cleaner code.
2025-08-13 19:56:08 +03:00
5d8f528dfd Features: 1) Use uuid.UUID for decoding encoded UUIDs to ensure proper handling of byte data;
Fixes: 1) Remove deprecated `force_str` usage for decoding encoded UUIDs;

Extra: 1) Add missing `uuid` module import; 2) Minor code cleanup in `core/views.py`.
2025-08-13 19:45:41 +03:00
5d9cd47e72 Features: 1) Add automatic handling of digital products with DigitalAssetDownload creation for eligible orders;
Fixes: 1) Add missing import for `DigitalAssetDownload`;

Extra: 1) Enhance order processing logic to finalize digital product orders with associated stocks.
2025-08-13 19:31:06 +03:00
59870b3bc5 Features: 1) Add logging for transaction processing errors in payments/signals.py; 2) Add return type annotations for core tasks in core/tasks.py;
Fixes: 1) Avoid unused variable warning in `update_products_task` by removing exception variable `vie`; 2) Add missing imports for `logging` and `traceback` in `payments/signals.py`;

Extra: 1) Minor formatting fix in `dbbackup.py` to consolidate FTP URL string construction; 2) Remove unnecessary newline in `core/vendors/__init__.py`.
2025-08-11 14:05:48 +03:00
8c2fbc1e44 Fixes: 1) Update log message for VendorInactiveError to use info level and clarify reason. 2025-08-07 12:32:17 +03:00
75709a3aa1 Features: 1) Introduce VendorInactiveError for explicitly handling inactive vendors in core/vendors; 2) Update stock update process to skip inactive vendors and log warnings.
Fixes: 1) Add missing import for `VendorInactiveError` in `core/tasks.py`.

Extra: 1) Refactor exception handling for vendor stock updates for better readability.
2025-08-07 12:31:54 +03:00
dbc135aea0 Features: 1) Added get_vendor_instance usage to replace direct vendor class handling.
Fixes: (None).

Extra: 1) Minor refactor to enhance vendor instance management logic.
2025-08-05 22:54:41 +03:00
e373f28358 Features: 1) Introduced AbsoluteFTPStorage class for path customization in FTP storage; 2) Updated dbbackup settings to use AbsoluteFTPStorage for FTP storage configurations.
Fixes: 1) Corrected `DBBACKUP_PATH` default to ensure proper backup directory structure.

Extra: 1) Minor cleanup in FTP storage configuration handling.
2025-08-05 21:08:32 +03:00
2cbea05ea7 Features: 1) Add dynamic project-based remote_dir path generation for backup storage; 2) Support for EVIBES_PROJECT_NAME environment variable in backup paths;
Fixes: 1) Correct root backup path for `FileSystemStorage`;

Extra: 1) Remove unnecessary blank line; 2) Improve code readability with formatted strings and variable standardization; 3) Minor cleanup of backup storage configurations;
2025-08-05 20:50:21 +03:00
877f71f614 Features: 1) Add support for multiple database backup types (SFTP, FTP) with dynamic configuration;
Fixes: 1) Correct formatting issue in `0036_vendor_b2b_auth_token_vendor_users` migration file;

Extra: 1) Update environment file generation scripts to accommodate new DBBACKUP_TYPE configuration; 2) Add import for `ImproperlyConfigured` in `dbbackup.py`.
2025-08-05 20:40:27 +03:00
f39737d624 Features: 1) Add check for is_active status before updating vendor stock;
Fixes: 1) Prevent potential errors by skipping inactive vendors;

Extra: None;
2025-08-05 10:36:43 +03:00
377ea8c45d Features: None;
Fixes: None;

Extra: 1) Remove redundant `depends_on` conditions for `worker` and `stock_updater` in `docker-compose.yml`.
2025-08-05 10:31:45 +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
7f8ab0de88 Fixes: 1) Ensure encoded_uuid is cast to string before decoding to avoid potential errors;
Extra: None;
2025-07-29 22:24:46 +03:00
25b1064c37 Fixes: 1) Handle potential KeyError by switching to kwargs.get for "encoded_uuid";
Extra: None;
2025-07-29 22:23:24 +03:00
866b1dcd63 Features: None;
Fixes: None;

Extra: 1) Removed 'address_set' field from admin panel for cleaner UI.
2025-07-28 12:29:30 +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
5ae198911b Features: 1) Enable strict mode in mypy for stricter type checking; 2) Add attributes field to serializer with JSONField;
Fixes: None;

Extra: 1) Update imports in `serializers.py` to include `JSONField`;
2025-07-26 14:53:00 +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
decd166126 Features: 1) Replace email templates' header image from favicon.png to logo.png; 2) Add Django facet configuration in .idea/evibes.iml;
Fixes: 1) Correct iml file structure for better compatibility;

Extra: Update `.idea/evibes.iml` to include Django-specific settings for project consistency;
2025-07-23 07:39:24 +03:00
b1d404ef6b Features: 1) Add .idea/evibes.ico to version control;
Fixes: 1) None;

Extra: 1) Update `.gitignore` to include `.idea/evibes.ico`;
2025-07-18 19:55:26 +03:00