Major fixes: - Fix JSON body parsing in load_products_ajax with type='http' route * Parse JSON from request.httprequest.get_data() instead of post params * Correctly read page, search, category from JSON request body - Fix search and category filter combination * Use intersection (&) instead of replacement to preserve both filters * Now respects search AND category simultaneously - Integrate realtime_search.js with infinite_scroll.js * Add resetWithFilters() method to reset scroll to page 1 with new filters * When search/category changes, reload products from server * Clear grid and load fresh results - Fix pagination reset logic * Set currentPage = 0 in resetWithFilters() so loadNextPage() increments to 1 * Prevents loading empty page 2 when resetting filters Results: ✅ Infinite scroll loads all pages correctly (1, 2, 3...) ✅ Search filters work across all products (not just loaded) ✅ Category filters work correctly ✅ Search AND category filters work together ✅ Page resets to 1 when filters change
61 lines
2 KiB
Python
61 lines
2 KiB
Python
# Copyright 2025 - Today Criptomart
|
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
|
|
|
|
{ # noqa: B018
|
|
"name": "Website Sale - Aplicoop",
|
|
"version": "18.0.1.1.1",
|
|
"category": "Website/Sale",
|
|
"summary": "Modern replacement of legacy Aplicoop - Collaborative consumption group orders",
|
|
"author": "Odoo Community Association (OCA), Criptomart",
|
|
"maintainers": ["Criptomart"],
|
|
"website": "https://git.criptomart.net/criptomart/addons-cm",
|
|
"license": "AGPL-3",
|
|
"depends": [
|
|
"website_sale",
|
|
"product",
|
|
"sale",
|
|
"stock",
|
|
"account",
|
|
"product_get_price_helper",
|
|
"product_origin",
|
|
],
|
|
"data": [
|
|
# Datos: Grupos propios
|
|
"data/groups.xml",
|
|
# Datos: Menús del website
|
|
"data/website_menus.xml",
|
|
# Vistas de seguridad
|
|
"security/ir.model.access.csv",
|
|
"security/record_rules.xml",
|
|
# Vistas
|
|
"views/group_order_views.xml",
|
|
"views/res_partner_views.xml",
|
|
"views/res_config_settings_views.xml",
|
|
"views/website_templates.xml",
|
|
"views/product_template_views.xml",
|
|
"views/sale_order_views.xml",
|
|
"views/stock_picking_views.xml",
|
|
"views/portal_templates.xml",
|
|
"views/load_from_history_templates.xml",
|
|
],
|
|
"i18n": [
|
|
"i18n/es.po",
|
|
"i18n/eu_ES.po",
|
|
],
|
|
"external_dependencies": {
|
|
"python": [],
|
|
},
|
|
"assets": {
|
|
"web.assets_frontend": [
|
|
"website_sale_aplicoop/static/src/css/website_sale.css",
|
|
"website_sale_aplicoop/static/src/js/infinite_scroll.js",
|
|
],
|
|
"web.assets_tests": [
|
|
"website_sale_aplicoop/static/tests/test_suite.js",
|
|
"website_sale_aplicoop/static/tests/test_cart_functions.js",
|
|
"website_sale_aplicoop/static/tests/test_tooltips_labels.js",
|
|
"website_sale_aplicoop/static/tests/test_realtime_search.js",
|
|
],
|
|
},
|
|
"application": True,
|
|
}
|