
    9i/                         d dl mZ d dlmZ d dlmZ d dlmZ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ej&                        Z G d dej*                        Z eee      d        Z eee      d        Z ee	e      d        Zy)    )
ColorField)FileExtensionValidator)models)post_delete	post_savepre_save)receiver)	force_str)gettext_lazy   )del_cached_active_themec                       e Zd Zd Zy)ThemeQuerySetc                 4   | j                  d      }t        |      }t        |      }|dk(  rD| j                         j	                         }|r|j                          |S | j                         }|S |dk(  r|d   }|S |dkD  r|d   }|j                          S )NTactiver   r   )filterlistlenallfirst
set_activecreate)selfobjs_active_qsobjs_active_lsobjs_active_countobjs        M/var/www/apihucms/venv/lib/python3.12/site-packages/admin_interface/models.py
get_activezThemeQuerySet.get_active   s    D1n-/!((*""$C  
 kkm 
 !# #C 
	 " $CNN
    N)__name__
__module____qualname__r!    r"   r    r   r      s    r"   r   c            	       r   e Zd Z ej                  ddd ed            Z ej                  d ed            Z ej                  d ed      d ed	      
      Z	 e
dddd ed            Z ej                  d ed            Z ej                  dd eg d      g ed       ed            Z e
dddd ed            Z ej"                  dd ed            Z ej"                  dd ed            Z ej                  d ed            Z ej                  dd eg d      g ed       ed            Z ej                  dd ed             Z e
dd! ed"      d ed            Z ej                  d ed#            Z ej                  d ed$            Z ej                  d ed            Zd% ed&      fd' ed(      ffZ ej                  d)ed% ed*      +      Zd, ed,      fd ed      ffZ ej                  ded, ed-      +      Z e
dd.d.d ed/            Z e
dd0d0d ed1            Z  e
dddd ed2            Z! e
dd3d3d ed4            Z" e
dd0d0d ed/            Z# e
dd5d5d ed6            Z$ e
dddd ed1            Z% e
dddd ed2            Z& e
dddd ed7            Z' e
dd3d3d ed4            Z( ej                  d ed8            Z) e
dd9d9d ed2            Z* e
dd:d:d ed4            Z+ e
dd;d;d ed<            Z, e
dd.d.d ed/            Z- e
dd9d9d ed=            Z. e
dddd ed1            Z/ e
dd>d>d ed/            Z0 e
dd?d?d ed=            Z1 e
dddd ed1            Z2 ej                  d ed            Z3 e
dd@d@d ed/            Z4dAZ5 ej                  dBe5dCdD edE      F      Z6 ej                  d ed8            Z7 ej                  d edG            Z8 ej                  d edH            Z9 ej                  d edI            Z: ej                  d edJ            Z; ej                  dK edL            Z< ej                  d edM            Z= ej                  dK edN            Z> ej                  dK edO            Z? ej                  dK edP            Z@ ej                  d edQ            ZA ej                  dK edR            ZB ej                  d edS            ZC ej                  d ed            ZD ej                  dK edT            ZE ej                  dK edU            ZFeGj                         ZIdV ZJ G dW dX      ZKdY ZLyZ)[ThemeT2   Djangoname)unique
max_lengthdefaultverbose_namer   )r.   r/   zDjango administrationtitle)r-   r.   blankr/   z#F5DD5D
   color)r1   r.   	help_textr-   r/   visiblezadmin-interface/logo/)gifjpgjpegpngsvg)allowed_extensionsz*Leave blank to use the default Django logologo)	upload_tor1   
validatorsr4   r/   z#FFFFFFi  z	max width)r1   r.   r/   d   z
max heightzadmin-interface/favicon/)r6   icor7   r8   r9   r:   z!(.ico|.png|.gif - 16x16|32x32 px)favicon)r1   r-   r/   z#E74C3CzO(red: #E74C3C, orange: #E67E22, yellow: #F1C40F, green: #2ECC71, blue: #3498DB)z#visible in header (marker and name)zvisible in favicon (marker)zdefault-selectzDefault Selectzminimal-selectzMinimal Select   control)r-   choicesr.   r/   codedisplayz#0C4B33zbackground colorz#44B78Bz
text colorz
link colorz#C9F0DDzlink hover colorz#FFFFCCzbackground selected colorzlink selected colorzrounded cornersz#0C3C26z#156641z#29B864zlink active colorzbackground hover colorz#BA2121z#A41515z#000000)	)z0.1z10%)z0.220%)0.3z30%)z0.4z40%)z0.5z50%)z0.6z60%)z0.7z70%)z0.8z80%)z0.9z90%   rH   rG   zbackground opacity)r-   rD   r.   r4   r/   zclose button visiblezhighlight activezuse dropdownzsticky positionFz7quick remove links for active filters at top of sidebarzfoldable appszfieldsets as tabszinlines as tabszcollapsible stacked inlinesz%collapsible stacked inlines collapsedzcollapsible tabular inlinesz%collapsible tabular inlines collapsedzsticky submitzsticky paginationc                 2    d| _         | j                          y )NT)r   saver   s    r    r   zTheme.set_active  s    		r"   c                   0    e Zd ZdZ ed      Z ed      Zy)
Theme.Metaadmin_interfacer(   ThemesN)r#   r$   r%   	app_label_r/   verbose_name_pluralr&   r"   r    MetarN     s    %	zkr"   rT   c                 ,    t        | j                        S N)r
   r+   rL   s    r    __str__zTheme.__str__  s    ##r"   N)Mr#   r$   r%   r   	CharFieldrR   r+   BooleanFieldr   r0   r   title_colortitle_visible	FileFieldr   r<   
logo_colorPositiveSmallIntegerFieldlogo_max_widthlogo_max_heightlogo_visiblerA   env_name	env_colorenv_visible_in_headerenv_visible_in_faviconlanguage_chooser_active language_chooser_control_choiceslanguage_chooser_control language_chooser_display_choiceslanguage_chooser_displaycss_header_background_colorcss_header_text_colorcss_header_link_colorcss_header_link_hover_colorcss_module_background_color$css_module_background_selected_colorcss_module_text_colorcss_module_link_colorcss_module_link_selected_colorcss_module_link_hover_colorcss_module_rounded_cornerscss_generic_link_colorcss_generic_link_hover_colorcss_generic_link_active_color css_save_button_background_color&css_save_button_background_hover_colorcss_save_button_text_color"css_delete_button_background_color(css_delete_button_background_hover_colorcss_delete_button_text_colorrelated_modal_activerelated_modal_background_color(related_modal_background_opacity_choices related_modal_background_opacityrelated_modal_rounded_corners"related_modal_close_button_visiblelist_filter_highlightlist_filter_dropdownlist_filter_stickylist_filter_removal_linksfoldable_appsshow_fieldsets_as_tabsshow_inlines_as_tabscollapsible_stacked_inlines%collapsible_stacked_inlines_collapsedcollapsible_tabular_inlines%collapsible_tabular_inlines_collapsedrecent_actions_visibleform_submit_stickyform_pagination_stickyr   
as_managerobjectsr   rT   rW   r&   r"   r    r(   r(   #   s   6vY	D !V  x[F
 F)*wZ	E wZK (F''y\M
 6)"#G

 @AvY
D wZJ 6V55{^N
 7f66|_O
 '6&&y\L
 f,"#N

 78y\
G  vvYH
 -
 wZ	I 0F//<= 1V0045
 2f11x[
 
1-./	1-./($  0v//0 y\	  
6	6($  0v//0y\	  #-)*# '|_ '|_ #-)*# #-)*# ,623,( '|_ '|_ &0,-&" #-)*# "5!4!4()"
 (|_ $.)*$  %/*+%! (2)*($ .8/0.* ",|_" *4)**& 0:/00, $.|_$  /6..x[ &0)*&"
0, (8v'7'78+,($ %8F$7$7()%! *=)<)<-.*&
 0F//)* /6..~& -,,() !4 3 3PQ!
 (F'''M
 1V00*+
 /6..()
 #6&"5"545# -@F,?,?>?-) #6&"5"545# -@F,?,?>?-)
 1V00y\
 -,,' 1V00*+
 &&(G* *
$r"   r(   )senderc                 T    t                t        j                  j                          y rV   )r   r(   r   r!   r   instancekwargss      r    post_delete_handlerr     s    	MMr"   c                     t                |j                  r:t        j                  j	                  |j
                        j                  d       t        j                  j                          y )N)pkFr   )r   r   r(   r   excluder   updater!   r   s      r    post_save_handlerr     sF    -44E4B	MMr"   c                     |j                   =	 t        j                  j                  |j                        }|j                   |_         y y # t        j
                  $ r Y y w xY w)N)r+   )r   r(   r   getr+   DoesNotExist)r   r   r   r   s       r    pre_save_handlerr     sV    {{	--###7C&&HK  !! 		s   ;A A! A!N)colorfield.fieldsr   django.core.validatorsr   	django.dbr   django.db.models.signalsr   r   r   django.dispatchr	   django.utils.encodingr
   django.utils.translationr   rR   cacher   QuerySetr   Modelr(   r   r   r   r&   r"   r    <module>r      s    ( 9  E E $ + 6 *FOO .{$FLL {$| 
+e$ %
 
)E" # 
(5! "r"   