[IMP] website_sale_aplicoop: Validar disponibilidad de productos al cargar órdenes históricas

- Backend: Agregar método _validate_items_for_group_order() para validar que los productos históricos sigan siendo disponibles en la orden de grupo actual
- Backend: Modificar load_order_from_history() para filtrar solo items disponibles antes de pasar al template
- Backend: Generar mensaje de aviso traducido cuando hay productos no disponibles
- Template: Pasar información de productos no disponibles y warnings al JavaScript
- Frontend: Mostrar notificación de advertencia si hubo productos excluidos durante la carga histórica
- Notas: Esto evita cargar productos que ya no existen en la orden actual debido a cambios en categorías, proveedores o listas negras
This commit is contained in:
snt 2026-05-19 16:45:42 +02:00 committed by GitHub Copilot
parent 4a928e92dd
commit 3ca90578ae
7 changed files with 271 additions and 8 deletions

View file

@ -882,7 +882,7 @@ class GroupOrder(models.Model):
)
def _create_picking_batches_for_sale_orders(self, sale_orders):
"""Create stock.picking.batch grouped by consumer_group_id.
"""Create stock.picking.batch grouped by picking type for this group order.
Args:
sale_orders: Recordset of confirmed sale.order
@ -902,9 +902,13 @@ class GroupOrder(models.Model):
)
grouped_pickings[picking.picking_type_id.id] |= picking
scheduled_date = self.pickup_date
if not scheduled_date and self.delivery_date:
scheduled_date = self.delivery_date - timedelta(days=1)
scheduled_date = None
if self.pickup_date:
scheduled_date = fields.Datetime.to_datetime(self.pickup_date)
elif self.delivery_date:
scheduled_date = fields.Datetime.to_datetime(
self.delivery_date - timedelta(days=1)
)
for picking_type_id, pickings in grouped_pickings.items():
if not pickings: