fix(#60): Corregir impresión de etiquetas para incluir re-muestras activas
- Modificar action_print_sample_labels para usar all_sample_ids - Filtrar muestras rechazadas, canceladas y desechadas - Actualizar condición del botón para usar all_sample_ids - Ahora imprime etiquetas de re-muestras activas 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
b225fa0815
commit
be6c97cfad
Binary file not shown.
|
@ -320,17 +320,22 @@ class SaleOrder(models.Model):
|
|||
return res
|
||||
|
||||
def action_print_sample_labels(self):
|
||||
"""Imprimir etiquetas de todas las muestras generadas para esta orden"""
|
||||
"""Imprimir etiquetas de todas las muestras activas (incluyendo re-muestras)"""
|
||||
self.ensure_one()
|
||||
|
||||
if not self.generated_sample_ids:
|
||||
raise UserError(_('No hay muestras generadas para esta orden. Por favor, confirme la orden primero.'))
|
||||
# Obtener todas las muestras activas (no rechazadas ni canceladas)
|
||||
active_samples = self.all_sample_ids.filtered(
|
||||
lambda s: s.state not in ['rejected', 'cancelled', 'disposed']
|
||||
)
|
||||
|
||||
if not active_samples:
|
||||
raise UserError(_('No hay muestras activas para imprimir. Todas las muestras están rechazadas, canceladas o desechadas.'))
|
||||
|
||||
# Asegurar que todas las muestras tengan código de barras
|
||||
self.generated_sample_ids._ensure_barcode()
|
||||
active_samples._ensure_barcode()
|
||||
|
||||
# Obtener el reporte
|
||||
report = self.env.ref('lims_management.action_report_sample_label')
|
||||
|
||||
# Retornar la acción de imprimir el reporte para todas las muestras
|
||||
return report.report_action(self.generated_sample_ids)
|
||||
# Retornar la acción de imprimir el reporte para las muestras activas
|
||||
return report.report_action(active_samples)
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
string="Imprimir Etiquetas"
|
||||
type="object"
|
||||
class="btn-primary"
|
||||
invisible="not is_lab_request or state != 'sale' or not generated_sample_ids"
|
||||
invisible="not is_lab_request or state != 'sale' or not all_sample_ids"
|
||||
icon="fa-print"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='partner_id']" position="after">
|
||||
|
|
Loading…
Reference in New Issue
Block a user