U
    È�b2  ã                   @   sr  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ddddddd	d
ddg g 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< 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!œZeeef ed"< d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9œZd:Zd;d<d=d>d?d@œZeedAœdBdC„ZedDœdEdF„ZedDœdGdH„ZdS )Ié    N)ÚDictÚAny)Úsettings)Ústaticé   )Úget_admin_urlÚget_model_metaz$vendor/adminlte/img/AdminLTELogo.pngz
img-circleZWelcomeÚ Tz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)Z
site_titleZsite_headerZ
site_brandÚ	site_logoZsite_logo_classesÚ	site_iconZwelcome_signÚ	copyrightÚsearch_modelZuser_avatarZtopmenu_linksZusermenu_linksZshow_sidebarZnavigation_expandedÚ	hide_appsÚhide_modelsZorder_with_respect_toZcustom_linksÚiconsZdefault_icon_parentsZdefault_icon_childrenZrelated_modal_activeZ
custom_cssZ	custom_jsZuse_google_fonts_cdnZshow_ui_builderZchangeform_formatÚchangeform_format_overridesZlanguage_chooserÚDEFAULT_SETTINGSzaccent-primaryznavbar-white navbar-lightzsidebar-dark-primaryÚdefaultzbtn-outline-primaryzbtn-outline-secondaryzbtn-outline-infozbtn-outline-warningzbtn-outline-dangerzbtn-outline-success)ZprimaryZ	secondaryÚinfoÚwarningZdangerÚsuccess)Únavbar_small_textÚfooter_small_textÚbody_small_textÚbrand_small_textÚbrand_colourÚaccentÚnavbarÚno_navbar_borderÚnavbar_fixedÚlayout_boxedÚfooter_fixedÚsidebar_fixedÚsidebarÚsidebar_nav_small_textÚsidebar_disable_expandÚsidebar_nav_child_indentÚsidebar_nav_compact_styleÚsidebar_nav_legacy_styleÚsidebar_nav_flat_styleÚthemeÚdark_mode_themeÚbutton_classesÚDEFAULT_UI_TWEAKSz+vendor/bootswatch/default/bootstrap.min.cssz,vendor/bootswatch/cerulean/bootstrap.min.cssz)vendor/bootswatch/cosmo/bootstrap.min.cssz*vendor/bootswatch/flatly/bootstrap.min.cssz+vendor/bootswatch/journal/bootstrap.min.cssz*vendor/bootswatch/litera/bootstrap.min.cssz)vendor/bootswatch/lumen/bootstrap.min.cssz'vendor/bootswatch/lux/bootstrap.min.cssz+vendor/bootswatch/materia/bootstrap.min.cssz)vendor/bootswatch/minty/bootstrap.min.cssz)vendor/bootswatch/pulse/bootstrap.min.cssz-vendor/bootswatch/sandstone/bootstrap.min.cssz+vendor/bootswatch/simplex/bootstrap.min.cssz+vendor/bootswatch/sketchy/bootstrap.min.cssz,vendor/bootswatch/spacelab/bootstrap.min.cssz*vendor/bootswatch/united/bootstrap.min.cssz(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)r   ZceruleanZcosmoZflatlyZjournalZliteraZlumenZluxZmateriaZmintyZpulseZ	sandstoneZsimplexZsketchyZspacelabZunitedZyetiÚdarklyÚcyborgÚslateÚsolarÚ	superhero)r0   r1   r2   r3   r4   zjazzmin/includes/single.htmlzjazzmin/includes/carousel.htmlz!jazzmin/includes/collapsible.htmlz%jazzmin/includes/horizontal_tabs.htmlz#jazzmin/includes/vertical_tabs.html)ZsingleZcarouselZcollapsibler   Zvertical_tabs)Újazzmin_settingsÚreturnc                 C   s$   | d   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.
    r   Ú.z{app}.{model_name})ÚappÚ
model_name)ÚsplitÚformatÚlower)r5   r8   r9   © r=   ú4/tmp/pip-unpacked-wheel-o69wxf3u/jazzmin/settings.pyÚget_search_model_stringÂ   s    r?   )r6   c                  C   s>  t  t¡} dd„ ttdi ƒ ¡ D ƒ}|  |¡ | d r€tt| ƒƒ| d< t	| d ƒ}|rf|j
 ¡ | d< n| d  d¡d d	 | d< t| d
 ƒtkrž| d
 g| d
< dd„ | d
 D ƒ| d
< t| d ƒtkrÒ| d g| d< dd„ | d D ƒ| d< dd„ |  di ¡ ¡ D ƒ| d< | d �p| d | d< dd„ |  di ¡ ¡ D ƒ| d< | S )Nc                 S   s   i | ]\}}|d k	r||“qS )Nr=   ©Ú.0ÚxÚyr=   r=   r>   Ú
<dictcomp>Ï   s       z get_settings.<locals>.<dictcomp>ZJAZZMIN_SETTINGSr   Z
search_urlZsearch_namer7   éÿÿÿÿÚsr   c                 S   s   g | ]}|  ¡ ‘qS r=   ©r<   ©rA   rB   r=   r=   r>   Ú
<listcomp>Þ   s     z get_settings.<locals>.<listcomp>r   c                 S   s   g | ]}|  ¡ ‘qS r=   rG   rH   r=   r=   r>   rI   â   s     c                 S   s   i | ]\}}|  ¡ |  ¡ “qS r=   rG   r@   r=   r=   r>   rD   å   s      r   r   r   c                 S   s   i | ]\}}|  ¡ |  ¡ “qS r=   rG   r@   r=   r=   r>   rD   ë   s     r   )ÚcopyÚdeepcopyr   Úgetattrr   ÚitemsÚupdater   r?   r   Zverbose_name_pluralÚtitler:   ÚtypeÚstrÚget)r5   Zuser_settingsZ
model_metar=   r=   r>   Úget_settingsÍ   s*    

ÿ
rS   c            	         s¨  t  t¡} |  ttdi ƒ¡ dd„ |  ¡ D ƒ‰ ˆ  d¡rPˆ  dd ¡ ˆ  dd ¡ ddddddd	d
dddddddddœ}| ¡ D ]\}}|ˆ kr~|ˆ |< q~t	t	dœ‡ fdd„}ˆ d }|t
krÖt d |t
 ¡ ¡¡ d}ˆ  dd ¡}|�r|tk�rt d |¡¡ d}d |¡}|tk�r"|d7 }| |tt
| ƒdœ|d d!ƒ|d"d#d$ƒ|d%d&ddd'dƒ| |d(ƒ|d)d*d+d,d-ƒ|d.d/ƒ|d0ƒˆ d1 d2œ
}|�r¤|tt
| ƒdœ|d< |S )3NZJAZZMIN_UI_TWEAKSc                 S   s   i | ]\}}|d kr||“qS ))Nr	   Fr=   r@   r=   r=   r>   rD   õ   s       z!get_ui_tweaks.<locals>.<dictcomp>r"   r!   r#   ztext-smzborder-bottom-0zsidebar-no-expandznav-child-indentznav-compactz
nav-legacyznav-flatzlayout-boxedzlayout-fixedzlayout-navbar-fixedzlayout-footer-fixedz
sticky-top)r   r   r   r   r&   r    r'   r(   r)   r*   r+   r"   r$   r!   r#   Úactions_sticky_top)Úargsr6   c                     s   d  ‡ fdd„| D ƒ¡ ¡ S )Nú c                    s   g | ]}ˆ   |d ¡‘qS )r	   )rR   )rA   Úarg©Ztweaksr=   r>   rI     s     z2get_ui_tweaks.<locals>.classes.<locals>.<listcomp>)ÚjoinÚstrip)rU   rX   r=   r>   Úclasses  s    zget_ui_tweaks.<locals>.classesr,   z!{} not found in {}, using defaultr   r-   z${} is not a dark theme, using darklyr0   z	 theme-{}z
 dark-mode)ÚnameÚsrcr%   r'   r   r    r   r   r   r$   rT   r&   r+   r*   r(   r)   r   r   r   r.   )
Úrawr,   Zsidebar_classesZnavbar_classesZbody_classesZactions_classesZsidebar_list_classesZbrand_classesZfooter_classesr.   )rJ   rK   r/   rN   rL   r   rM   rR   ÚpoprQ   ÚTHEMESÚloggerr   r;   ÚkeysÚDARK_THEMESr   )	Z
raw_tweaksZbool_mapÚkeyÚvaluer[   r,   r-   Ztheme_body_classesÚretr=   rX   r>   Úget_ui_tweaksò   s†    

ð



     ÿýûírg   )rJ   ÚloggingÚtypingr   r   Zdjango.confr   Zdjango.templatetags.staticr   Úutilsr   r   Ú	getLoggerÚ__name__ra   r   rQ   Ú__annotations__r/   r`   rc   ZCHANGEFORM_TEMPLATESr?   rS   rg   r=   r=   r=   r>   Ú<module>   sÆ    


®\úÔ8èû	%