o
    %Zc+                     @   s   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mZmZ d dlmZ eG dd	 d	ejZejejed
 ejejed
 ejejed
 dS )    )unicode_literals)del_cached_active_theme)FileExtensionValidator	force_strgettext_lazy)
ColorField)models)post_delete	post_savepre_save)python_2_unicode_compatiblec                   @   s  e Zd Zedd Zedd Zedd Zedd Zed	d
 Ze	j
dddeddZe	jdeddZe	j
deddeddZeddddeddZe	jdeddZe	jddeg ddgededdZedd d deddZe	jdd!ed"d#Ze	jdd$ed%d#Ze	jdeddZe	jd&deg d'dged(ed)dZe	j
ddedd*Zedd+ed,deddZe	jded-dZe	jded.dZe	jdeddZ d/ed0fd1ed2ffZ!e	j
d3e!d/ed4d5Z"d6ed6fdedffZ#e	j
de#d6ed7d5Z$edd8d8ded9dZ%edd:d:ded;dZ&edd d ded<dZ'edd=d=ded>dZ(edd:d:ded9dZ)edd?d?ded@dZ*edd d ded;dZ+edd d ded<dZ,edd d dedAdZ-edd=d=ded>dZ.e	jdedBdZ/eddCdCded<dZ0eddDdDded>dZ1edd8d8ded9dZ2eddCdCdedEdZ3edd d ded;dZ4eddFdFded9dZ5eddGdGdedEdZ6edd d ded;dZ7e	jdeddZ8eddHdHded9dZ9dIZ:e	j
dJe:dKdLedMdNZ;e	jdedBdZ<e	jdedOdZ=e	jdedPdZ>e	jdedQdZ?e	jdedRdZ@e	jdSedTdZAe	jdedUdZBe	jdeddZCe	jdSedVdZDe	jdSedWdZEdXdY ZFG dZd[ d[ZGd\d] ZHd^S )_Themec                  K      t   t  d S Nr   r   get_active_themekwargs r   K/var/www/jaguar/venv/lib/python3.10/site-packages/admin_interface/models.pypost_migrate_handler      zTheme.post_migrate_handlerc                  K   r   r   r   r   r   r   r   post_delete_handler   r   zTheme.post_delete_handlerc                 K   s0   t   | jrtjj| jdjdd t  d S )N)pkFactive)r   r   r   objectsexcluder   updater   )instancer   r   r   r   post_save_handler   s   zTheme.post_save_handlerc                 K   sN   | j d u r%ztjj| jd}|r|j | _ W d S W d S  tjy$   Y d S w d S )N)name)r   r   r   getr!   DoesNotExist)r   r   objr   r   r   pre_save_handler#   s   
zTheme.pre_save_handlerc                  C   s   t j} | jdd}t|}t|}|dkr)|   }|r#|  |S |  }|S |dkr3|d }|S |dkr?|d }|  |S )NTr   r      )	r   r   filterlistlenallfirst
set_activecreate)objs_managerobjs_active_qsobjs_active_lsobjs_active_countr$   r   r   r   r   -   s$   	zTheme.get_active_themeT2   Djangor!   )unique
max_lengthdefaultverbose_namer   )r7   r8   zDjango administrationtitle)r6   r7   blankr8   z#F5DD5D
   color)r:   r7   	help_textr6   r8   visiblezadmin-interface/logo/)gifjpgjpegpngsvg)allowed_extensionsz*Leave blank to use the default Django logologo)	upload_tor:   
validatorsr=   r8   z#FFFFFFi  z	max width)r:   r7   r8   d   z
max heightzadmin-interface/favicon/)r?   icor@   rA   rB   rC   z!(.ico|.png|.gif - 16x16|32x32 px)favicon)r:   r6   r8   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)r6   choicesr7   r8   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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%   rQ   rP   zbackground opacity)r6   rM   r7   r=   r8   zclose button visiblezhighlight activezuse dropdownzsticky positionFz7quick remove links for active filters at top of sidebarzfoldable appszsticky submitzsticky paginationc                 C   s   d| _ |   d S )NT)r   saveselfr   r   r   r-   i  s   zTheme.set_activec                   @   s    e Zd ZdZedZedZdS )z
Theme.Metaadmin_interfacer   ThemesN)__name__
__module____qualname__	app_label_r8   verbose_name_pluralr   r   r   r   Metam  s    r^   c                 C   s
   t | jS r   )r   r!   rT   r   r   r   __str__s  s   
zTheme.__str__N)IrX   rY   rZ   staticmethodr   r   r    r%   r   r   	CharFieldr\   r!   BooleanFieldr   r9   r   title_colortitle_visible	FileFieldr   rE   
logo_colorPositiveSmallIntegerFieldlogo_max_widthlogo_max_heightlogo_visiblerJ   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_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recent_actions_visibleform_submit_stickyform_pagination_stickyr-   r^   r_   r   r   r   r   r      s,   



	


	



r   )senderN)
__future__r   admin_interface.cacher   admin_interface.compatr   r   r   r\   colorfield.fieldsr   	django.dbr   django.db.models.signalsr	   r
   r   sixr   Modelr   connectr   r    r%   r   r   r   r   <module>   s     h