
    >:h                     |    d dl mZ d dlmZ ddlmZ  ej        e           G d dej                              ZdS )    )admin)format_html   )EmpaqueDistribucionc            	       0    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 Z	de	_
        d Zde_
        d Zde_
        d Zde_        de_
        d Zde_
        d  Zd!e_
        d* fd#	Zd$gZd% Zd&e_
        dZd'Zd(Zd)Z xZS )+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                 N    |j          d|j         d|j         d|j        j         S )N    ×  )r"   r#   r$   r   abreviaturaselfobjs     ;C:\Users\a_gir\Desktop\Interacto\siip\distribucion\admin.pyr   z$EmpaqueDistribucionAdmin.dimensionesb   s2    )cccccc3;U;accc    c                 .    |j          d|j        j         S )Nr.   )r&   r   r/   r0   s     r3   r   z%EmpaqueDistribucionAdmin.peso_empaquef   s    (OO3+A+MOOOr4   c                 &    |j          d|j         dS )Nr-   z niv)r(   r'   r0   s     r3   r   z%EmpaqueDistribucionAdmin.datos_estibaj   s    (NNc.HNNNNr4   Estibac                     |j         j        S N)r	   r   r0   s     r3   r   zEmpaqueDistribucionAdmin.activon   s    ~$$r4   TActivoc                 H    |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   urlr0   s     r3   r   z(EmpaqueDistribucionAdmin.mostrar_simbolos   s*    ; 	wdfifqfuvvv~r4   u   Símboloc                 n   |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   r0   s     r3   r   z*EmpaqueDistribucionAdmin.detalles_calculosy   s    v 	EDD Isy#(CK9R9^Hc0#2CSE_Ek$c&<c>XZ]Zn"C$:C<VX[Xpru  sI  sUK/1KSM_adaz  bG#
 
 	
r4   u   Fórmulas de CálculoNc                      t                      j        ||fi |}|j        d         j                            d          |j        d         _        |S )Nr	   PT)tipo)superget_formbase_fieldsquerysetfilter)r1   requestr2   kwargsform	__class__s        r3   rC   z!EmpaqueDistribucionAdmin.get_form   sU    uww7777262B<2P2Y2`2`fj2`2k2k&/r4   duplicar_empaquesc                     |D ],}d |_         d|j         |_        |                                 -|                     ||                                 d           d S )Nz	Copia de z" empaques duplicados correctamente)r>   r
   savemessage_usercount)r1   rG   rE   empaques       r3   rK   z*EmpaqueDistribucionAdmin.duplicar_empaques   sg     	 	GGJ999GNLLNNNN'hnn&6&6#Z#Z#Z[[[[[r4   zDuplicar empaques seleccionados   d   Fr9   )__name__
__module____qualname__list_displaylist_filtersearch_fieldslist_select_relatedreadonly_fields	fieldsetsr   short_descriptionr   r   r   booleanr   r   rC   actionsrK   save_on_toplist_per_pagelist_max_show_allshow_full_result_count__classcell__)rJ   s   @r3   r   r      s       
LKMO 
  "
 	 
! #
 	
 
 
 	 
 
 	
 
$ &
 	 
" %	$
 	$
 		 
$ &
 	U0Idd d d$1K!P P P%+L"O O O%-L"% % %FN'F   )3O%
 
 
. +B'     
 ##G\ \ \ +L'KM"r4   r   N)	django.contribr   django.utils.htmlr   modelsr   register
ModelAdminr    r4   r3   <module>rj      s                ) ) ) ) ) ) ' ' ' ' ' '#$$^# ^# ^# ^# ^#u/ ^# ^# %$^# ^# ^#r4   