diff --git a/website_sale_aplicoop/models/group_order.py b/website_sale_aplicoop/models/group_order.py index f9e00de..4016eaf 100644 --- a/website_sale_aplicoop/models/group_order.py +++ b/website_sale_aplicoop/models/group_order.py @@ -477,7 +477,10 @@ class GroupOrder(models.Model): len(products), ) - return products + # Sort products by website_sequence (primary) and name (secondary, case-insensitive) + return products.sorted( + lambda p: (p.product_tmpl_id.website_sequence, (p.name or "").lower()) + ) def _get_products_paginated(self, order_id, page=1, per_page=20): """Get paginated products for a group order. diff --git a/website_sale_aplicoop/tests/test_portal_sale_order_creation.py b/website_sale_aplicoop/tests/test_portal_sale_order_creation.py index 1fadb52..d172291 100644 --- a/website_sale_aplicoop/tests/test_portal_sale_order_creation.py +++ b/website_sale_aplicoop/tests/test_portal_sale_order_creation.py @@ -62,7 +62,7 @@ class TestPortalSaleOrderCreation(TransactionCase): { "name": "Test Product", "list_price": 100.0, - "type": "product", + "type": "consu", } ) @@ -117,9 +117,7 @@ class TestPortalSaleOrderCreation(TransactionCase): ) # Child should fallback to commercial partner's salesperson - self.assertEqual( - child_partner.commercial_partner_id.user_id, self.salesperson - ) + self.assertEqual(child_partner.commercial_partner_id.user_id, self.salesperson) def test_portal_user_can_update_order_lines(self): """Test that portal users can update existing order lines with sudo()."""