Commit graph

69 commits

Author SHA1 Message Date
0dcee7fefe Features: None;
Fixes: 1) Standardize string quotes in migration file; 2) Fix redundant parentheses in Elasticsearch query execution;

Extra: Format cleanup and minor readability improvements.
2025-11-04 14:41:01 +03:00
38b22704b1 Features: 1) Enhance product filter to support Elasticsearch ranking with preserved order; 2) Add personal_orders_only field to ProductDocument; 3) Introduce "name_exact" analyzer for case-insensitive exact matching in Elasticsearch;
Fixes: 1) Fix Elasticsearch document mapping to include missing "ci" field; 2) Correct slug field index setting from index=False to indexed; 3) Update Elasticsearch search weights and sizes for improved relevance and pagination;

Extra: 1) Refactor product search logic to prioritize partnumber > sku > slug > name.ci; 2) Add new analyzer "name_exact" for case-insensitive exact matching; 3) Adjust stock model to allow blank system_attributes; 4) Update migration to reflect JSONField changes; 5) Adjust Elasticsearch boosting weights for better ranking; 6) Increase category search size to 33 for consistency; 7) Add missing personal_orders_only field to ProductDocument.
2025-11-02 03:09:16 +03:00
b4292fde53 Features: 1) Add JSONField system_attributes to stock model with default as an empty dictionary; 2) Extend sitemaps for Category and Brand to include slug in queried fields;
Fixes: None;

Extra: 1) Standardize quotes in migration dependencies and field declarations; 2) Break down queryset methods in sitemaps for improved readability;
2025-10-26 22:34:01 +03:00
d2b3dccda9 Features: 1) Add system_attributes JSONField to Stock model; 2) Introduce StockForm with system_attributes widget; 3) Integrate StockForm into StockAdmin in Django admin panel.
Fixes: None;

Extra: 1) Update migrations to include addition of `system_attributes`; 2) Modify admin interface to display `system_attributes` in additional_fields.
2025-10-26 19:59:43 +03:00
c9fd4b4f98 Features: 1) Remove categories field from attribute model via migration;
Fixes: 1) Ensure database schema aligns with updated model definitions;

Extra: 1) Auto-generated migration script for database changes.
2025-10-26 17:11:07 +03:00
ae1d16edda Features: Move from poetry to uv.
Fixes: Removed naive datetime warning

Extra: Correct import in elasticsearch submodule.
2025-10-25 02:18:41 +03:00
5384fa494d Features: 1) Add get_integration_class_object method to Transaction for dynamic gateway class instantiation;
Fixes: 1) Validate gateway presence in `process_transaction_changes` signal; 2) Add missing imports for `Type`, `create_object`, and `AbstractGateway`;

Extra: 1) Cleanup unused diff lines in migrations files; 2) Improve JSONField, FloatField, and PositiveIntegerField declarations by consolidating into single lines; 3) Remove redundant match-case logic in `signals.py`.
2025-10-21 12:33:17 +03:00
a87cb31d7e Features: 1) Add Gateway model with fields for UUID, activation status, currency details, limits, and integration variables; 2) Add gateway foreign key to Transaction model; 3) Introduce is_static_page field to Post model to differentiate static pages; 4) Add integration_path field to Vendor model.
Fixes: 1) Correct import order in `payments.admin`.

Extra: 1) Update `productimage.priority` field in `core` app with default value and help text; 2) Include `integration_path` in `Vendor` admin additional fields.
2025-10-21 12:25:24 +03:00
1fed75584e Features: 1) Add migration to enforce unique constraint on Attribute model for fields name, group, and value_type;
Fixes: 1) Remove redundant traceback logging in `core/vendors/__init__.py`;

Extra: 1) Update Attribute model's `unique_together` to include `value_type`.
2025-10-19 00:16:57 +03:00
2212a7ccb6 Features: (none);
Fixes: 1) Remove unnecessary blank line in migration file;

Extra: (none);
2025-10-18 23:16:49 +03:00
a700a1c7e6 Features: 1) Update attribute.name and its localized variants to remove the unique constraint and set null=True for optional fields;
Fixes: 1) Correct field attributes in `attribute` model to align with database requirements;

Extra: 1) Generated migration file `0046_alter_attribute_name_alter_attribute_name_ar_ar_and_more.py`.
2025-10-18 22:41:43 +03:00
efeab3e426 Features: 1) Add multiple database indexes to enhance query performance for models order, orderproduct, and product.
Fixes: 1) Remove redundant blank line in migration file.

Extra: 1) Simplify index definition formatting for better readability.
2025-10-18 11:48:40 +03:00
c78e0e8137 Features: 1) Add database indices for improved query performance on order, orderproduct, product, and vendor models; 2) Update name fields across multiple languages in product model to include db_index and enhanced help text.
Fixes: None;

Extra: Generated new migration `0045_alter_product_name_alter_product_name_ar_ar_and_more`.
2025-10-17 14:28:08 +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
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
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
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
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
23e4611c5e Features: 1) Add readonly_fields for uuid, modified, and created in CustomerRelationshipManagementProvider; 2) Add additional readonly_fields for OrderCrmLink;
Fixes: 1) Fix email validation to properly handle `self.instance` checks in serializers;

Extra: 1) Remove unnecessary blank lines and reformat code for better readability; 2) Consolidate migration field definitions to a single line for cleaner diff;
2025-09-07 01:30:03 +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
efb9aaeeef Features: 1) Update SKU backfill migration to process in batches of 10,000; 2) Add bulk update for improved performance; 3) Refactor SKU generation logic to remove reliance on Product model;
Fixes: 1) Prevent repeated queries by reusing the last processed primary key; 2) Avoid redundant SKU existence checks through optimized logic;

Extra: 1) Set migration atomicity to False for better batch handling; 2) Minor code cleanup and restructuring;
2025-09-02 09:52:21 +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
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
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
aa8f15d0ee Features: 1) RUFFVCKED 2025-07-03 02:53:01 +03:00
97785b29db Features: 1) Add multilingual title and content fields to the Post model in blog; 2) Introduce translation registration for Post in a new blog/translation.py; 3) Enhance PostAdmin with mixins and readonly slug.
Fixes: 1) Fix shebangs in Docker entry-point scripts to use `/usr/bin/bash`.

Extra: 1) Refactor slug fields in `core` migrations for `Brand`, `Category`, and `Product`; 2) Cleanup and simplify admin code in `core/admin.py`.
2025-06-29 16:14: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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