Ë
    2‰Ajt  ã                   óà   — d dl m Z  d dlmZmZmZ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 d dlmZmZmZmZmZmZmZmZ d dlmZmZ d d	lmZ  e	«       Z e«       Z G d
„ de«      Z efd„Z!y)é    )Údatetime)ÚFlaskÚhas_request_contextÚredirectÚrequestÚsessionÚurl_for)ÚLoginManager)ÚSecureCookieSessionInterface)ÚCSRFProtect)ÚConfig)ÚDATABASE_PROFILESÚPROFILE_IMPORTÚPROFILE_PRODÚprofile_badge_classÚprofile_labelÚprofile_pathÚregister_database_hooksÚsession_profile_key)ÚUserÚdb)ÚForwardedPrefixMiddlewarec                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )ÚProxyAwareSessionInterfaceuS   Cookie de session calÃ© sur le prÃ©fixe envoyÃ© par le proxy (ex. /papa, /gestion).c                 óv   •— t        «       r t        j                  rt        j                  S t        ‰| �  |«      S ©N)r   r   Úscript_rootÚsuperÚget_cookie_path)ÚselfÚappÚ	__class__s     €ú Y:\copro_gestion\app\__init__.pyr   z*ProxyAwareSessionInterface.get_cookie_path   s-   ø€ ÜÔ ¤W×%8Ò%8Ü×&Ñ&Ð&Ü‰wÑ& sÓ+Ð+ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__classcell__)r"   s   @r#   r   r      s   ø„ Ù]÷,ð ,r$   r   c                 óØ  — t        t        «      }|j                  j                  | «       t	        «       |_        t        |j                  «      |_        t        j                  |«       t        |t        «       t        j                  |«       t        j                  |«       dt        _        dt        _        dt        _        t        j                   d„ «       }ddlm} ddlm} ddlm} ddlm} ddlm} ddlm} ddlm}	 ddlm}
 |j5                  |«       |j5                  |«       |j5                  |«       |j5                  |«       |j5                  |«       |j5                  |«       |j5                  |
«       |j5                  |	«       |j6                  d„ «       }|j9                  d«      d	„ «       }|j9                  d
«      dd„«       }|j;                  d«      d„ «       }|S )Nz
auth.loginu4   Veuillez vous connecter pour accÃ©der Ã  cette page.Úwarningc                 ó\   — t         j                  j                  t        t	        | «      «      S r   )r   r   Úgetr   Úint)Úuser_ids    r#   Ú	load_userzcreate_app.<locals>.load_user4   s   € ä�z‰z�~‰~œd¤C¨£LÓ1Ð1r$   r   )Úbpc                  óÈ  — ddl m}  ddlm} ddlm} ddlm} t        j                  d«      }|r t        j                  j                  ||«      nd }| j                  xs d}ddlm} ||t        j                  «       j                   ||t#        «       t%        t#        «       «      t'        t#        «       «      t(        t*        t,        t/        t,        «      j1                  «       d	œS )
Nr   )r   ©Úcurrent_user)ÚCopropriete)ÚTEL_AFFICHAGE_LABELSÚcopropriete_idÚ )ÚROLE_LABELS)Úpublic_pathÚcopropriete_activeÚnow_yearÚrole_labelsÚtel_affichage_labelsÚ
db_profileÚdb_profile_labelÚdb_profile_badge_classÚdatabase_profilesÚprofile_prodÚprofile_importÚimport_db_available)Úflaskr   Úflask_loginr4   Ú
app.modelsr5   Ú	app.phoner6   r   r-   r   r   Úapp.constantsr9   r   ÚutcnowÚyearr   r   r   r   r   r   r   Úis_file)r   r4   r5   r6   Úcopro_idÚcopror:   r9   s           r#   Úinject_globalsz"create_app.<locals>.inject_globalsK   s¨   € å!Ý,Ý*Ý2ä—;‘;Ð/Ó0ˆÙ9A”—
‘
—‘˜{¨HÔ5ÀtˆØ×)Ñ)Ò/¨RˆÝ-ð 'Ø"'Ü Ÿ™Ó)×.Ñ.Ø&Ø$8Ü-Ó/Ü -Ô.AÓ.CÓ DÜ&9Ô:MÓ:OÓ&PÜ!2Ü(Ü,Ü#/´Ó#?×#GÑ#GÓ#Iñ
ð 	
r$   Ú
format_telc                 ót   — ddl m} ddlm}m} |}|j
                  r|j                  xs |} || xs d|«      S )Nr   r3   )ÚTEL_AFFICHAGE_INTERNATIONALÚformat_phoner8   )rG   r4   rI   rS   rT   Úis_authenticatedÚtel_affichage)Únumeror4   rS   rT   Ústyles        r#   Úformat_tel_filterz%create_app.<locals>.format_tel_filterf   s8   € å,ßGà+ˆØ×(Ò(Ø ×.Ñ.ÒMÐ2MˆEÙ˜FšL b¨%Ó0Ð0r$   Úsort_by_datec                 óN   ‡‡— ddl m}  |ddd«      Šˆˆfd„}t        | |d¬«      S )u:   Tri dÃ©croissant par date ; les valeurs nulles en dernier.r   )Údateé   c                 ó*   •— t        | ‰d «      }|xs ‰S r   )Úgetattr)ÚitemÚvalueÚattrÚsentinels     €€r#   Úsort_keyz9create_app.<locals>.sort_by_date_filter.<locals>.sort_keyw   s   ø€ Ü˜D $¨Ó-ˆEØÒ$˜HÐ$r$   T)ÚkeyÚreverse)r   r\   Úsorted)Úitemsrb   r\   rd   rc   s    `  @r#   Úsort_by_date_filterz'create_app.<locals>.sort_by_date_filterp   s+   ù€ õ 	"á˜˜1˜a“=ˆõ	%ô �e °4Ô8Ð8r$   i”  c                 ó*   — t        t        d«      «      S )u8   URL inconnue sous /papa/â€¦ â†’ racine de l'application.z
main.index)r   r	   )Ú_errors    r#   Úpage_not_foundz"create_app.<locals>.page_not_found}   s   € ô œ Ó-Ó.Ð.r$   )Ú
date_debut)r   r%   ÚconfigÚfrom_objectr   Úsession_interfacer   Úwsgi_appr   Úinit_appr   Úlogin_managerÚcsrfÚ
login_viewÚlogin_messageÚlogin_message_categoryÚuser_loaderÚapp.routes.authr1   Úapp.routes.mainÚapp.routes.coproprietesÚapp.routes.personnesÚapp.routes.lotsÚapp.routes.compteursÚapp.routes.adminÚapp.routes.typesÚregister_blueprintÚcontext_processorÚtemplate_filterÚerrorhandler)Úconfig_classr!   r0   Úauth_bpÚmain_bpÚcopro_bpÚpersonnes_bpÚlots_bpÚcompteurs_bpÚadmin_bpÚtypes_bprP   rY   ri   rl   s                  r#   Ú
create_apprŽ   #   s¢  € Ü
”‹/€CØ‡J�J×Ñ˜<Ô(Ü6Ó8€CÔô -¨S¯\©\Ó:€C„Lä‡K�K�ÔÜ˜C¤Ô$Ü×Ñ˜3ÔÜ‡M�M�#Ôà+„MÔØ"X„MÔØ+4„MÔ(ä×Ññ2ó ð2õ .Ý-Ý6Ý7Ý-Ý7Ý/Ý/ð ×Ñ˜7Ô#Ø×Ñ˜7Ô#Ø×Ñ˜8Ô$Ø×Ñ˜<Ô(Ø×Ñ˜7Ô#Ø×Ñ˜<Ô(Ø×Ñ˜8Ô$Ø×Ñ˜8Ô$à×Ññ
ó ð
ð4 	×Ñ˜Ó&ñ1ó 'ð1ð 	×Ñ˜Ó(ò
9ó )ð
9ð 	×Ñ�cÓñ/ó ð/ð €Jr$   N)"r   rF   r   r   r   r   r   r	   rG   r
   Úflask.sessionsr   Úflask_wtf.csrfr   rn   r   Úapp.database_profilesr   r   r   r   r   r   r   r   rH   r   r   Úapp.wsgi_middlewarer   rs   rt   r   rŽ   © r$   r#   Ú<module>r”      sW   ðÝ ç Q× QÝ $Ý 7Ý &å ÷	÷ 	ó 	÷  Ý 9á“€Ùƒ}€ô,Ð!=ô ,ð #ô _r$   