Commit graph

125 commits

Author SHA1 Message Date
f3260686cf feat(fixtures): add demo.json for gemstone and jewelry showcase
Includes categories, brands, attributes, products, tags, and vendor/demo user data for demonstration purposes.
2026-02-05 15:40:57 +03:00
82f4381fcb feat(core): improve XML formatting and validation rules
- update `prettify_xml` to strip XML declaration for more flexibility
- prepend XML declaration explicitly in Google Merchant feed generation
- adjust pagination `page_size` max limit to 128 for stricter validation
2026-01-30 14:43:52 +03:00
3c652febe3 chore(core): remove obsolete price fixing command and update .gitignore
Removed the unused `fix_prices` management command to clean up legacy code. Updated `.gitignore` to include vendor documentation files, ensuring the directory is consistent in version control.
2026-01-28 21:52:57 +03:00
8245fe4d36 refactor(vendors): standardize method visibility and improve clarity
- Prefixed internal helper methods with "_" to comply with naming conventions.
- Enhanced docstrings for improved readability and developer guidance.
- Organized the `AbstractVendor` class API into distinct categories (abstract, public, and protected methods).

This refactor improves maintainability and code clarity while preserving functionality.
2026-01-28 13:46:18 +03:00
0db5b9b712 feat(vendor-management): introduce custom querysets and managers for streamlined vendor integration
Add tailored querysets and managers for `Product`, `Stock`, and `AttributeValue` models to simplify vendor-specific operations. Abstract methods were added to `AbstractVendor` for handling essential vendor processes, ensuring clear API expectations.

This change standardizes vendor-related queries, improves clarity, and ensures efficient bulk operations.
2026-01-28 13:41:38 +03:00
8d8c281eab chore(dependencies): update multidict to 6.7.1 and remove unused celery-prometheus-exporter
Upgrade `multidict` package version to 6.7.1 for compatibility and resolve potential dependency issues. Removed `celery-prometheus-exporter` as it is no longer required.
2026-01-27 20:53:30 +03:00
adfa2f20dd feat(feeds): add marketplace-specific feed generators
add feed generators for Google Merchant, Amazon Seller, Yandex Market, and Yandex Products. Includes a shared base class (`BaseFeedGenerator`) for common functionality, such as product retrieval and validation. Each generator supports format-specific output and handles platform-specific requirements.

This change simplifies the creation of product feeds for multiple marketplaces.
2026-01-26 17:44:21 +03:00
c0c1697003 refactor(locale): update Russian locale translations for accuracy
Updated translations to fix pluralization mistakes in administrative actions. Improved clarity and correctness in user-facing messages.
2026-01-26 17:06:52 +03:00
b5e303e7a5 feat(email): add multilingual support and image handling to email templates
Introduce `EmailImage`, `EmailTemplate`, and `EmailCampaign` models for enhanced email management, including campaign tracking and one-click unsubscribe tokens. Added multilingual fields for email templates and improved accessibility with image alt text. Also adapted `Post` content fields to support translations.
2026-01-26 15:35:30 +03:00
9cab9fdd3a fix(models): correct discount_price calculation logic
ensure discount_price reflects the actual discount by using the product's price. Also, suppress type-related issues in admin action descriptions for improved linting compatibility.
2026-01-26 14:51:05 +03:00
28622cec90 2026.1 2026-01-26 03:23:41 +03:00
39b841fcb2 2026.1 2026-01-25 23:16:38 +03:00
8591cc93e7 Fixes: 1) Remove "author" field from general_fields in engine/blog/admin.py;
Extra: None;
2026-01-07 20:23:02 +10:00
135fc6e26d Features: 1) Add validation to return_balance_back to skip execution if status is already "RETURNED"; 2) Raise NotImplementedError when attempting to process a return without an associated user.
Fixes: None;

Extra: None;
2026-01-06 10:20:49 +03:00
f8b89830c5 2026.1 2026-01-04 20:47:52 +03:00
4e89b2aeec Fixes: 1) Correct improper function scope for user.save in UpdateUser mutation;
Extra: 1) Minor code readability adjustment.
2025-12-29 17:36:17 +03:00
a91f8e30d3 Features: 1) Add value_type field to FilterableAttributeType for enhanced attribute customization;
Fixes: 1) Remove unused import of `i18n_patterns` in `urls.py`; 2) Update `coverage`, `psutil`, and `types-psutil` dependencies to latest stable versions in `pyproject.toml` and lock file for improved package compatibility;

Extra: 1) General housekeeping and dependency synchronization in `pyproject.toml` and lock file.
2025-12-29 16:04:41 +03:00
28f6e4d78f - Enhance maintenance page: add dynamic theme support, multilingual support, and improved 3D text rendering logic.
- Simplify URL configuration by replacing i18n patterns with direct path handling.
2025-12-28 17:05:20 +03:00
646fc5e1d7 Refactor attribute handling in vendor module: update type annotations and simplify get_or_create logic. 2025-12-27 01:08:56 +03:00
b6d38d07e5 - Improve pagination logic: add default and validation for page size, fix get_paginated_response behavior.
- Update type annotations in `check_translated` command for app config handling.
- Pin and upgrade dependencies in `pyproject.toml` for consistency and latest features.
2025-12-25 14:50:37 +03:00
e9219c8918 Fixes: 1) Correct invalid return type in get_children; 2) Update default return value from {} to [];
Extra: 1) Adjust inline comments for better clarity; 2) General cleanup in `simple.py`.
2025-12-22 13:53:04 +03:00
95fd17bb43 Features: DRF docs I18N 2025-12-21 02:11:51 +03:00
29fb56be89 Features: 1) Add async and sync capabilities to CamelCaseMiddleWare; 2) Include OpenAPI support for Enum name overrides in DRF settings; 3) Integrate OpenAPI types in DRF views for improved schema accuracy.
Fixes: 1) Correct `lookup_field` to `uuid` in various viewsets; 2) Replace `type=str` with `OpenApiTypes.STR` in path parameters of multiple DRF endpoints; 3) Add missing import `iscoroutinefunction` and `markcoroutinefunction`.

Extra: 1) Refactor `__call__` method in `CamelCaseMiddleWare` to separate sync and async logic; 2) Enhance documentation schema responses with precise types in multiple DRF views.
2025-12-19 17:27:36 +03:00
dc7f8be926 Features: 1) None;
Fixes: 1) Add `# ty: ignore` comments to suppress type errors in multiple files; 2) Correct method argument annotations and definitions to align with type hints; 3) Fix cases of invalid or missing imports and unresolved attributes;

Extra: Refactor method definitions to use tuple-based method declarations; replace custom type aliases with `Any`; improve caching utility and error handling logic in utility scripts.
2025-12-19 16:43:39 +03:00
13e7af52aa Features: 1) Improved request processing in middleware by adding mutable QueryDict implementation; 2) Extended type annotations across various modules for enhanced type safety; 3) Refined JWT token lifetime configuration for environment-specific logic.
Fixes: 1) Addressed missing or incorrect imports and type hints with `# ty:ignore` markers; 2) Fixed search queryset error handling in filters module; 3) Resolved issues in viewsets with updated `@action` method usage.

Extra: Removed unused classes and dependencies (e.g., `BaseMutation`, `basedpyright`, and related packages); streamlined GraphQL mutation implementations; cleaned up unused arguments in model `save` methods.
2025-12-19 15:17:17 +03:00
c3b4becc76 Features: 1) Add "is_updatable" to list_filter and additional_fields in admin configuration;
Fixes: None;

Extra: None;
2025-12-18 21:21:28 +03:00
e852d6adf2 Features: 1) Add is_updatable field to Product model with migration; 2) Introduce check_updatable method in AbstractVendor to validate product updatability; 3) Define ProductUnapdatableError for handling non-updatable product logic;
Fixes: none;

Extra: none;
2025-12-18 21:19:01 +03:00
fdd42b8531 Features: I thought that's gonna be like 2 weeks stuff 2025-12-18 19:24:10 +03:00
5f5274f9cd Features: 1) Add detailed type annotations across middleware, tests, and utility code; 2) Integrate stricter type-checking configurations in pyproject.toml; 3) Enhance middleware functionality with additional type-safe logic.
Fixes: 1) Correct default values and type handling in util constructors; 2) Resolve missing or ambiguous `cast` operations for dynamic typing in tests and views; 3) Address potential issues with fallback/default handling in middleware.

Extra: 1) Refactor test cases to ensure stricter adherence to typing hints and valid contracts; 2) Update docstrings to align with new type annotations; 3) Cleanup unused imports and add comments for improved maintainability.
2025-12-18 16:44:13 +03:00
a81f734e23 Features: (1) None;
Fixes: (1) Removed all `# type: ignore` annotations across the codebase; (2) Fixed usage of Django Model methods by eliminating unnecessary `# type: ignore` directives; (3) Adjusted usage of functions like `get()` to align with method expectations, removing incorrect comments;

Extra: (1) Deleted `pyrightconfig.json` as part of migration to a stricter type-checked environment; (2) Minor code cleanup, including formatting changes and refactoring import statements in adherence to PEP8 recommendations.
2025-12-18 15:55:43 +03:00
dd8652df96 Features: 1) Update vendor object creation to use fully qualified module path;
Fixes: 1) Correct path for vendor module resolving import issue;

Extra: 1) Improve readability of vendor initialization logic;
2025-12-17 16:02:35 +03:00
890957197c Extra: RUFF 2025-12-15 20:29:02 +03:00
845ac8853d Extra: 1) I18N 2025-12-10 22:21:36 +03:00
09fdc7a585 Extra: 1) I18N 2025-12-10 21:51:41 +03:00
625fe6e350 Features: 1) Fallback to default avatar image in avatar_url method; 2) Added header component for admin dashboard template; 3) Improved layout sections in admin dashboard templates for consistent spacing;
Fixes: 1) Prevent `.initialized` file creation in debug mode;

Extra: 1) Refactored and reorganized admin dashboard templates for better readability and maintainability.
2025-12-10 21:44:17 +03:00
76cea49c06 Features: 1) Streamline component inclusion in admin dashboard; 2) Simplify KPIs and sales data layout; 3) Revise product list card structure for better readability and maintainability;
Fixes: 1) Remove redundant breaks and unnecessary div wrappings; 2) Simplify filters component by eliminating unnecessary card wrapper;

Extra: Refactor and clean up admin dashboard templates for decluttered structure and improved code consistency;
2025-12-10 20:25:54 +03:00
d891000b19 Features: None;
Fixes: None;

Extra: 1) Remove redundant comments from `_kpis.html`; 2) Exclude unused `_income_overview.html` include from `index.html`; 3) Comment out GA/Yandex/Ads integration placeholder in `_filters.html`.
2025-12-10 19:46:00 +03:00
5962fb1145 Features: 1) Add timeframe filter component in the admin dashboard; 2) Create low stock products widget with tailored design; 3) Extend KPI section to include dynamic data (GMV, Orders, AOV, Net Revenue, Refund Rate); 4) Allow timeframe selection functionality for metrics and charts.
Fixes: 1) Add missing `constance.config` import in `views.py`; 2) Replace hardcoded timeframe logic with configurable period parsing; 3) Ensure proper handling of empty datasets for low stock and KPI calculations.

Extra: Refactor dashboard templates to improve layout and add contextual adjustments (e.g., grid updates, daily sales title); Optimize cache handling for dashboard metrics; Cleanup unused legacy dashboard variables.
2025-12-10 19:33:18 +03:00
d03b6b0ec9 Features: 1) Add avatar_url property to User model.
Fixes: 1) Restore correct imports order in `engine/vibes_auth/models.py`.

Extra: 1) Adjust formatting and grouping for clarity in imports section.
2025-12-10 18:38:40 +03:00
9fe433221a Fixes: 1) Add missing import for UserChangeForm from django.contrib.auth.forms. 2025-12-10 16:37:30 +03:00
2507eecc55 Features: 1) Add password field using ReadOnlyPasswordHashField in UserForm; 2) Enable unfold_markdown in base settings;
Fixes: None;

Extra: None;
2025-12-10 15:55:24 +03:00
c6e60d1f3e Features: 1) Replace ModelForm with UserChangeForm in UserForm; 2) Add add_form and change_password_form to UserAdmin; 3) Add formfield override for TextField with MarkdownWidget in blog admin; 4) Add dropdown menu definitions in Unfold settings.
Fixes: 1) Add missing import for `AdminPasswordChangeForm`, `UserCreationForm`, and `MarkdownWidget`.

Extra: 1) Add `django-unfold-markdown` as a dependency in `uv.lock` and `pyproject.toml`; 2) Remove redundant dropdown configuration from Unfold settings.
2025-12-10 15:33:58 +03:00
8295d3f5ab Features: None;
Fixes: 1) Correct type hint in `validate` method of `serializers.py`; 2) Fix incorrect use of `uuid` by converting to string in various email tasks across `signals.py` and `viewsets.py`;

Extra: None;
2025-12-08 21:56:32 +03:00
88abb002f1 Extra: 1) I18N update compiled 2025-12-08 11:00:00 +03:00
0697c42f3d Extra: 1) I18N update 2025-12-08 10:58:35 +03:00
87ba06ff0c Features: 1) Add LimitsType GraphQL object and payments_limits query to expose deposit limits; 2) Introduce LimitsSerializer and LimitsAPIView for retrieving minimal and maximal deposit amounts; 3) Implement get_limits utility to calculate deposit boundaries dynamically;
Fixes: 1) Add missing `LimitsSerializer` import in `drf.views` module;

Extra: 1) Update `.gitignore` to exclude `queries`; 2) Refactor schema and views to integrate new limits functionality.
2025-12-08 10:48:22 +03:00
cb096a35df Features: 1) Add new permissions for "delete_brand" and "delete_category" to head_stock_manager_permissions; 2) Extend permissions with "delete_address", "change_balance", and "delete_attachment";
Fixes: (none);

Extra: (none);
2025-12-04 16:12:17 +03:00
a96aab33cb Features: 1) Add initialization timestamp tracking to prevent redundant instance initialization; 2) Include .initialized file in .gitignore for production environments;
Fixes: 1) Remove unnecessary pragma from `install_aiohttp_webhook` definition;

Extra: 1) Add logging for `.initialized` read/write failures; 2) General cleanup and formatting improvements in initialization logic;
2025-12-03 13:33:04 +03:00
9034551502 Features: 1) Add configurable options for BACKUP_DATABASE and BACKUP_MEDIA in system settings; 2) Enhance backup_task to handle selective backups and return status message;
Fixes: 1) Add exception handling for invalid image file dimensions in `validators.py`;

Extra: 1) Update settings categories to include new system options; 2) Improve code clarity in `backup_task` and `validators.py`.
2025-12-01 12:38:23 +03:00
5db4c3be37 Fixes: 1) Improve error logging for vendor integration failures by including the integration path.
Extra: 1) Reformat logger.warning message for better readability.
2025-12-01 11:29:48 +03:00