o
    =g5                     @   sP  U d dl Z d dlZd dlmZmZ d dlmZ d dlmZ ddl	m
Z
mZ eeZi ddddd	dd
ddddddddddddddddddg dg dddddg g g i dddd d!d"d#dddd#d$i d#d%Zeeef ed&< i d'd#d(d#d)d#d*d#d+d#d,d-d.d/d0d#d1d#d2d#d3d#d4d#d5d6d7d#d8d#d9d#d:d#d#d#d;dd<d=d>d?d@dAdBdCZeeef edD< i d;dEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkZdkZdldmdndodpdqZdedrefdsdtZdrefdudvZdrefdwdxZdS )y    N)AnyDict)settings)static   )get_admin_urlget_model_meta
site_titlesite_header
site_brand	site_logoz$vendor/adminlte/img/AdminLTELogo.png
login_logologin_logo_darksite_logo_classesz
img-circle	site_iconwelcome_signWelcome	copyright search_modeluser_avatartopmenu_linksusermenu_linksshow_sidebarTnavigation_expanded	hide_appszfas fa-users-cogzfas fa-userzfas fa-users)authz	auth.userz
auth.Groupzfas fa-chevron-circle-rightzfas fa-circleFhorizontal_tabs)hide_modelsorder_with_respect_tocustom_linksiconsdefault_icon_parentsdefault_icon_childrenrelated_modal_active
custom_css	custom_jsuse_google_fonts_cdnshow_ui_builderchangeform_formatchangeform_format_overrideslanguage_chooserDEFAULT_SETTINGSnavbar_small_textfooter_small_textbody_small_textbrand_small_textbrand_colouraccentzaccent-primarynavbarznavbar-white navbar-lightno_navbar_bordernavbar_fixedlayout_boxedfooter_fixedsidebar_fixedsidebarzsidebar-dark-primarysidebar_nav_small_textsidebar_disable_expandsidebar_nav_child_indentsidebar_nav_compact_styledefaultzbtn-primaryzbtn-secondaryzbtn-infozbtn-warningz
btn-dangerzbtn-success)primary	secondaryinfowarningdangersuccess)sidebar_nav_legacy_stylesidebar_nav_flat_stylethemedark_mode_themebutton_classesDEFAULT_UI_TWEAKSz+vendor/bootswatch/default/bootstrap.min.cssceruleanz,vendor/bootswatch/cerulean/bootstrap.min.csscosmoz)vendor/bootswatch/cosmo/bootstrap.min.cssflatlyz*vendor/bootswatch/flatly/bootstrap.min.cssjournalz+vendor/bootswatch/journal/bootstrap.min.cssliteraz*vendor/bootswatch/litera/bootstrap.min.csslumenz)vendor/bootswatch/lumen/bootstrap.min.cssluxz'vendor/bootswatch/lux/bootstrap.min.cssmateriaz+vendor/bootswatch/materia/bootstrap.min.cssmintyz)vendor/bootswatch/minty/bootstrap.min.csspulsez)vendor/bootswatch/pulse/bootstrap.min.css	sandstonez-vendor/bootswatch/sandstone/bootstrap.min.csssimplexz+vendor/bootswatch/simplex/bootstrap.min.csssketchyz+vendor/bootswatch/sketchy/bootstrap.min.cssspacelabz,vendor/bootswatch/spacelab/bootstrap.min.cssunitedz*vendor/bootswatch/united/bootstrap.min.cssyetiz(vendor/bootswatch/yeti/bootstrap.min.cssz*vendor/bootswatch/darkly/bootstrap.min.cssz*vendor/bootswatch/cyborg/bootstrap.min.cssz)vendor/bootswatch/slate/bootstrap.min.cssz)vendor/bootswatch/solar/bootstrap.min.cssz-vendor/bootswatch/superhero/bootstrap.min.css)darklycyborgslatesolar	superherozjazzmin/includes/single.htmlzjazzmin/includes/carousel.htmlz!jazzmin/includes/collapsible.htmlz%jazzmin/includes/horizontal_tabs.htmlz#jazzmin/includes/vertical_tabs.html)singlecarouselcollapsibler   vertical_tabsreturnc                 C   s    |  d\}}dj|| dS )z
    Get a search model string for reversing an admin url.

    Ensure the model name is lower cased but remain the app name untouched.
    .z{app}.{model_name})app
model_name)splitformatlower)r   rf   rg    rk   C/var/www/html/venv/lib/python3.10/site-packages/jazzmin/settings.pyget_search_model_string   s   rm   c                  C   s  t t} dd ttdi  D }| | | d r^t| d ts)| d g| d< g | d< | d D ],}i }t	t
||d< t|}|rK|j |d< n|dd	 d
 |d< | d | q1t| d trl| d g| d< dd | d D | d< t| d tr| d g| d< dd | d D | d< dd | di  D | d< | d p| d | d< | d p| d | d< | d p| d | d< dd | di  D | d< | S )Nc                 S   s   i | ]\}}|d ur||qS )Nrk   .0xyrk   rk   rl   
<dictcomp>       z get_settings.<locals>.<dictcomp>JAZZMIN_SETTINGSr   search_models_parsed
search_urlsearch_namere   sr   c                 S      g | ]}|  qS rk   rj   ro   rp   rk   rk   rl   
<listcomp>       z get_settings.<locals>.<listcomp>r   c                 S   rz   rk   r{   r|   rk   rk   rl   r}      r~   c                 S      i | ]\}}|  |  qS rk   r{   rn   rk   rk   rl   rr      rs   r!   r   r   r   r   c                 S   r   rk   r{   rn   rk   rk   rl   rr      s    r*   )copydeepcopyr,   getattrr   itemsupdate
isinstancelistr   rm   r   verbose_name_pluraltitlerh   appendstrget)jazzmin_settingsuser_settingsr   jazzmin_search_model
model_metark   rk   rl   get_settings   s:   


r   c            	         s  t t} | ttdi  dd |  D   dr( dd   dd  i ddd	dd
ddddddddddddddddddddddddddd}| D ]\}}| v rj| |< q^d t	d!t	f fd"d#} d$ }|t
vrtd%|t
  d&} d'd }|r|tvrtd(| d)}d*|}|tv r|d+7 }| |tt
| d,|d-d|d.dd|d/d
dddd| |d|ddddd|dd0|d	 d1 d2
}|r|tt
| d,|d'< |S )3NJAZZMIN_UI_TWEAKSc                 S   s   i | ]\}}|d vr||qS ))Nr   Frk   rn   rk   rk   rl   rr     rs   z!get_ui_tweaks.<locals>.<dictcomp>r6   r5   r7   r-   ztext-smr.   r/   r0   r:   r4   zborder-bottom-0r;   zsidebar-no-expandr<   znav-child-indentr=   znav-compactrE   z
nav-legacyrF   znav-flatzlayout-boxedr8   zlayout-fixedzlayout-navbar-fixedzlayout-footer-fixedactions_sticky_topz
sticky-topargsrd   c                     s   d  fdd| D  S )N c                    s   g | ]}  |d qS )r   )r   )ro   argtweaksrk   rl   r}   '  s    z2get_ui_tweaks.<locals>.classes.<locals>.<listcomp>)joinstrip)r   r   rk   rl   classes&  s   zget_ui_tweaks.<locals>.classesrG   z!{} not found in {}, using defaultr>   rH   z${} is not a dark theme, using darklyr[   z	 theme-{}z
 dark-mode)namesrcr9   r3   r2   r1   rI   )
rawrG   sidebar_classesnavbar_classesbody_classesactions_classessidebar_list_classesbrand_classesfooter_classesrI   )r   r   rJ   r   r   r   r   r   popr   THEMESloggerrB   ri   keysDARK_THEMESr   )	
raw_tweaksbool_mapkeyvaluer   rG   rH   theme_body_classesretrk   r   rl   get_ui_tweaks  s   

	


r   )r   loggingtypingr   r   django.confr   django.templatetags.staticr   utilsr   r   	getLogger__name__r   r,   r   __annotations__rJ   r   r   CHANGEFORM_TEMPLATESrm   r   r   rk   rk   rk   rl   <module>   s6  
 

"')+-

_
 "$6	
	3