Aplicoop desde el repo de kidekoop
This commit is contained in:
parent
69917d1ec2
commit
7cff89e418
93 changed files with 313992 additions and 0 deletions
123
website_sale_aplicoop/readme/HISTORY.md
Normal file
123
website_sale_aplicoop/readme/HISTORY.md
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
## [18.0.1.0.3] - 2025-12-19
|
||||
|
||||
### Added
|
||||
- Centralised product discovery API on `group.order`: `_get_products_for_group_order(order_id)`.
|
||||
- Backward-compatible delegation on `product.product._get_products_for_group_order`.
|
||||
- Controller `AplicoopWebsiteSale` now delegates discovery to `group.order` and sanitises supplier display.
|
||||
|
||||
### Changed
|
||||
- Moved discovery responsibility from `product.product` to `group.order` (single responsibility).
|
||||
- Updated `eskaera_shop`, `add_to_eskaera_cart` and `confirm_eskaera` to use centralised discovery.
|
||||
|
||||
### Fixed
|
||||
- Avoided runtime AttributeError when discovery function was not present by providing a canonical implementation.
|
||||
- Ensured product discovery priority remains: explicit products → categories → suppliers.
|
||||
- Fixed a regression where discovery returned only one association branch; discovery now
|
||||
returns the UNION of products from `product_ids`, `category_ids` and
|
||||
`supplier_ids` to avoid dropping valid products when multiple associations exist.
|
||||
|
||||
Note: this change documents and prevents a repeated mistake where a single
|
||||
fallback branch hid products from other association fields.
|
||||
|
||||
### Tests
|
||||
- `website_sale_aplicoop` test-suite: 63 tests, 0 failures after the refactor (commit 4b15207).
|
||||
|
||||
### Security
|
||||
- Kept portal surface minimal (no `res.partner` records exposed); controller only injects supplier name/city for display.
|
||||
|
||||
### I18N
|
||||
- Regenerated translation template (`.pot`) using an addon-only export to avoid collecting unrelated Odoo strings.
|
||||
- Added `docs/I18N_EXPORT_PITFALL.md` explaining the common export pitfall and safe export workflow (export to `/tmp`, restrict `--addons-path`, use `msgmerge`).
|
||||
- Added `tools/filter_pot_by_module.py` to filter POT files by module references and applied it to reduce the POT to addon-only entries (~168 entries).
|
||||
- Updated and committed cleaned `.po` files for all supported languages (es, pt, gl, ca, eu, fr, it).
|
||||
|
||||
## [18.0.1.0.2] - 2025-12-14
|
||||
|
||||
### Added
|
||||
- Multi-company support with company_id field on group.order
|
||||
- Company validation constraint to ensure groups belong to the same company
|
||||
- Multi-company filtering in get_active_orders_for_week() method
|
||||
- company_id field on res.partner for user-group relationships
|
||||
- 9 new test cases for multi-company scenarios (test_multi_company.py)
|
||||
- Post-migration script to assign default company to existing group.order records
|
||||
|
||||
### Changed
|
||||
- group.order now respects allowed_company_ids context for data isolation
|
||||
- get_active_orders_for_week() filters by company context when applicable
|
||||
- group_ids domain now validates company relationships
|
||||
|
||||
### Fixed
|
||||
- Ensured multi-company data isolation between different organizations
|
||||
|
||||
## [18.0.1.0.1] - 2025-12-14
|
||||
|
||||
### Added
|
||||
- Product discovery with 3-level fallback system (direct → categories → suppliers)
|
||||
- Search functionality by product name and description in eskaera_shop
|
||||
- Dynamic category filtering dropdown on shopping page
|
||||
- Product thumbnail images with fallback icons in base64 encoding
|
||||
- Comprehensive logging for debugging group order flow
|
||||
- Logging of cutoff day, pickup day, and order dates in eskaera_shop
|
||||
- 7 new test cases for product discovery scenarios (test_eskaera_shop.py)
|
||||
- Criptomart branding with logo.svg
|
||||
- Professional HTML documentation in static/description/index.html
|
||||
|
||||
### Changed
|
||||
- Refactored product lookup to support three discovery methods
|
||||
- Updated confirm_eskaera to accept products from any discovery method
|
||||
- Improved error handling in checkout flow
|
||||
- Enhanced template rendering with conditional field validation
|
||||
- Optimized product search with regex and case-insensitive matching
|
||||
|
||||
### Fixed
|
||||
- Fixed products not appearing when assigned via categories or suppliers (discovered via fallback)
|
||||
- Fixed translation errors in 7 languages (es, fr, ca, eu, gl, it, pt) - order type labels
|
||||
- Removed obsolete website_sale.py model file causing ImportError
|
||||
- Fixed checkout validation that blocked orders with category/supplier-discovered products
|
||||
- Fixed QWebException when start_date is optional by adding t-if validation
|
||||
- Fixed duplicate sale.order creation from double event binding on confirm button
|
||||
- Corrected product supplier relationship in tests (use seller_ids instead of supplier_id)
|
||||
|
||||
### Deprecated
|
||||
- N/A
|
||||
|
||||
### Removed
|
||||
- Obsolete models/website_sale.py file (functionality migrated to controllers)
|
||||
- Duplicate event listener on confirm button in website_templates.xml
|
||||
- Fallback confirmCheckout() function from template (handled by JS)
|
||||
|
||||
### Security
|
||||
- Maintained CSRF protection on all POST routes
|
||||
- Input validation on JSON payloads in confirm_eskaera
|
||||
- Access control validation for group membership
|
||||
|
||||
## [18.0.1.0.0-beta] - 2025-12-13
|
||||
|
||||
### Added
|
||||
- Initial beta release of Website Sale - Aplicoop module
|
||||
- Complete group order management system (draft → open → closed/cancelled)
|
||||
- Flexible scheduling with start/end dates and optional time windows
|
||||
- Cutoff day support for weekly order management
|
||||
- Product and supplier associations
|
||||
- Group-based user relationships
|
||||
- Full i18n support for 7 languages (ES, FR, CA, EU, GL, IT, PT)
|
||||
- 26 passing tests covering model logic and business rules
|
||||
- OCA-compliant documentation structure
|
||||
- AGPL-3.0 licensing
|
||||
|
||||
### Changed
|
||||
- N/A (initial release)
|
||||
|
||||
### Fixed
|
||||
- N/A (initial release)
|
||||
|
||||
### Deprecated
|
||||
- N/A (initial release)
|
||||
|
||||
### Removed
|
||||
- N/A (initial release)
|
||||
|
||||
### Security
|
||||
- Access control via group permissions
|
||||
- CSRF protection on all POST routes
|
||||
- Input validation on client and server side
|
||||
Loading…
Add table
Add a link
Reference in a new issue