o
    >:h                     @   sD   d dl mZ d dlmZ ddlmZ eeG dd dejZdS )    )admin)format_html   )EmpaqueDistribucionc                	       s   e Zd ZdZdZdZdZdZdddifd	dd
ifdddifdddifdddifddddfdddiffZdd Z	de	_
dd Zde_
dd Zde_
dd Zd e_d!e_
d"d# Zd$e_
d%d& Zd'e_
d2 fd)d*	Zd+gZd,d- Zd.e_
d Zd/Zd0Zd1Z  ZS )3EmpaqueDistribucionAdmin)	
referencianombreunidades_por_empaquedimensionespeso_empaquedatos_estibaactivoempaque_leanmostrar_simbolo)referencia__tiporeferencia__clasificacionunidad_medida_pesor   )r   referencia__skureferencia__descripcion)r   unidad_medida_longitudr   unidad_medida_volumen)volumenaltura_optimaitems_por_estibapeso_estiva_completavolumen_estivadetalles_calculosu   Información Básicafields)r   r   descripcionzContenido del Empaque)r	   Dimensiones))largor   )ancho)altor   Peso))peso_empaque_llenor   u   Configuración de Estiba))niveles_maximos_estibaempaques_por_nivelr   u   Cálculos Automáticos)r   r   r   r   r   )collapse)r   classesu   Configuración Adicional)r   simboloc                 C   s$   |j  d|j d|j d|jj S )N    ×  )r    r!   r"   r   abreviaturaselfobj r0   */var/www/html/public/distribucion/admin.pyr
   b   s   $z$EmpaqueDistribucionAdmin.dimensionesc                 C   s   |j  d|jj S )Nr+   )r$   r   r,   r-   r0   r0   r1   r   f      z%EmpaqueDistribucionAdmin.peso_empaquec                 C   s   |j  d|j dS )Nr*   z niv)r&   r%   r-   r0   r0   r1   r   j   r2   z%EmpaqueDistribucionAdmin.datos_estibaEstibac                 C   s   |j jS N)r   r   r-   r0   r0   r1   r   n   s   zEmpaqueDistribucionAdmin.activoTActivoc                 C   s   |j r
td|j jS dS )NzC<img src="{}" width="30" height="30" style="object-fit:contain;" />u   Sin símbolo)r)   r   urlr-   r0   r0   r1   r   s   s   z(EmpaqueDistribucionAdmin.mostrar_simbolou   Símboloc                 C   sv   |j sdS td|j|j|j|j|jj|j|j|j	|j
j|j|j|j|j|j|j|j|j|jj|j|j|j|j|jjS )Nu/   Los cálculos se mostrarán después de guardaruW  
            <div style="background:#f8f8f8; padding:10px; border-left:4px solid #ddd">
                <h4>Detalles de Cálculos</h4>
                <ul>
                    <li><b>Volumen unitario:</b> {} × {} × {} = {} {}</li>
                    <li><b>Altura óptima:</b> {} × {} = {} {}</li>
                    <li><b>Ítems por estiba:</b> {} × {} × {} = {} unidades</li>
                    <li><b>Peso estiva completa:</b> {} × {} × {} = {} {}</li>
                    <li><b>Volumen por estiva:</b> {} × {} × {} = {} {}</li>
                </ul>
            </div>
            )pkr   r    r!   r"   r   r   r,   r%   r   r   r	   r&   r   r$   r   r   r   r-   r0   r0   r1   r   y   s   z*EmpaqueDistribucionAdmin.detalles_calculosu   Fórmulas de CálculoNc                    s6   t  j||fi |}|jd jjdd|jd _|S )Nr   PT)tipo)superget_formbase_fieldsquerysetfilter)r.   requestr/   kwargsform	__class__r0   r1   r;      s   z!EmpaqueDistribucionAdmin.get_formduplicar_empaquesc                 C   s@   |D ]}d |_ d|j |_|  q| ||  d d S )Nz	Copia de z" empaques duplicados correctamente)r7   r   savemessage_usercount)r.   r?   r=   empaquer0   r0   r1   rD      s
   
z*EmpaqueDistribucionAdmin.duplicar_empaqueszDuplicar empaques seleccionados   d   Fr4   )__name__
__module____qualname__list_displaylist_filtersearch_fieldslist_select_relatedreadonly_fields	fieldsetsr
   short_descriptionr   r   r   booleanr   r   r;   actionsrD   save_on_toplist_per_pagelist_max_show_allshow_full_result_count__classcell__r0   r0   rB   r1   r      sd    

2r   N)	django.contribr   django.utils.htmlr   modelsr   register
ModelAdminr   r0   r0   r0   r1   <module>   s
    