
    69hK	                         d dl mZmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
  G d d      Z G d d	e      Z G d
 de      Zy)    )label_for_fieldlookup_field)Model)HttpRequest)render_to_string)display_for_fieldc                   ,    e Zd ZdededdfdZdefdZy)BaseSectionrequestinstancereturnNc                      || _         || _        y )Nr   r   )selfr   r   s      J/var/www/html/backend/venv/lib/python3.12/site-packages/unfold/sections.py__init__zBaseSection.__init__
   s         c                     t        d      )Nz4Section subclasses must implement the render method.)NotImplementedErrorr   s    r   renderzBaseSection.render   s    !B
 	
r   )__name__
__module____qualname__r   r   r   strr    r   r   r
   r
   	   s(    ! !u ! !
 
r   r
   c                   (    e Zd Zg ZdZdZdZdefdZy)TableSectionNr   c           	      j   t        | j                  | j                        }g }g }| j                  D ]  }t	        | |      rNt	        t        | |      d      r&|j                  t        | |      j                         K|j                  |       ]|j                  t        ||j                                |j                         D ]  }g }| j                  D ]\  }t	        | |      r"|j                   t        | |      |             1t        ||      \  }}}	|j                  t        |	|d             ^ |j                  |        | j                  ||dd}
t	        | d      r| j                  r| j                  |
d<   t	        | d      r| j                  r| j                  |
d<   t        d|
	      S )
Nshort_description-)headersrows)r   tableverbose_nametitleheightzunfold/components/table.htmlcontext)getattrr   related_namefieldshasattrappendr    r   modelallr   r   r   r%   r'   r   )r   resultsr"   r#   
field_nameresultrowfieldattrvaluer)   s              r   r   zTableSection.render   s   $--):):;++ 	KJtZ(7446IJNN74#<#N#NONN:.z7==IJ	K kkm 
	FC"kk E
4,JJ8wtZ8@A)5j&)I&E4JJ0sCDE KK
	 ||"
 4(T->->#00GG4"t{{ $GH*
 	
r   )	r   r   r   r,   r+   r%   r'   r   r   r   r   r   r   r      s"    FLLF+
 +
r   r   c                       e Zd ZdZdefdZy)TemplateSectionNr   c                 ^    t        | j                  | j                  | j                  d      S )Nr   r(   )r   template_namer   r   r   s    r   r   zTemplateSection.renderK   s+    << MM
 	
r   )r   r   r   r;   r   r   r   r   r   r9   r9   H   s    M
 
r   r9   N)django.contrib.admin.utilsr   r   django.db.modelsr   django.httpr   django.template.loaderr   unfold.utilsr   r
   r   r9   r   r   r   <module>rA      s7    D " # 3 *
 
1
; 1
h

k 

r   