§
    «Žªj  ã                   ó   — 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 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#dS )é    )Ú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)Úregister_sqlite_pragmas)Ú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                 ó’   •— t          ¦   «         rt          j        rt          j        S t          ¦   «                              |¦  «        S ©N)r   r   Úscript_rootÚsuperÚget_cookie_path)ÚselfÚappÚ	__class__s     €ú1/var/www/stessy.org/copro_gestion/app/__init__.pyr    z*ProxyAwareSessionInterface.get_cookie_path   s<   ø€ ÝÑ Ô ð 	'¥WÔ%8ð 	'ÝÔ&Ð&Ý‰wŒw×&Ò& sÑ+Ô+Ð+ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r    Ú__classcell__)r#   s   @r$   r   r      s>   ø€ € € € € Ø]Ð]ð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,r%   r   c                 ó¾  — t          t          ¦  «        }|j                             | ¦  «         t	          ¦   «         |_        t          |j        ¦  «        |_        t          j	        |¦  «         t          ¦   «          t          |t          ¦  «         t           	                    |¦  «         t           	                    |¦  «         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}
 ddlm} |                     |¦  «         |                     |¦  «         |                     |¦  «         |                     |¦  «         |                     |¦  «         |                     |¦  «         |                     |
¦  «         |                     |	¦  «         |                     |¦  «         |j        d„ ¦   «         }|                     d¦  «        d	„ ¦   «         }|                     d
¦  «        dd„¦   «         }|                     d¦  «        d„ ¦   «         }|S )Nz
auth.loginu4   Veuillez vous connecter pour accÃ©der Ã  cette page.Úwarningc                 óf   — t           j                             t          t	          | ¦  «        ¦  «        S r   )r   r   Úgetr   Úint)Úuser_ids    r$   Ú	load_userzcreate_app.<locals>.load_user6   s   € åŒz�~Š~�d¥C¨¡L¤LÑ1Ô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         	                    ||¦  «        nd }| j        pd}ddlm} ||t          j        ¦   «         j        ||t#          ¦   «         t%          t#          ¦   «         ¦  «        t'          t#          ¦   «         ¦  «        t(          t*          t,          t/          t,          ¦  «                             ¦   «         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_loginr5   Ú
app.modelsr6   Ú	app.phoner7   r   r.   r   r   Úapp.constantsr:   r   ÚutcnowÚyearr   r   r   r   r   r   r   Úis_file)r   r5   r6   r7   Úcopro_idÚcopror;   r:   s           r$   Úinject_globalsz"create_app.<locals>.inject_globalsO   s  € à!Ð!Ð!Ð!Ð!Ð!Ø,Ð,Ð,Ð,Ð,Ð,Ø*Ð*Ð*Ð*Ð*Ð*Ø2Ð2Ð2Ð2Ð2Ð2å”;Ð/Ñ0Ô0ˆØ9AÐK•”
—’˜{¨HÑ5Ô5Ð5ÀtˆØÔ)Ð/¨RˆØ-Ð-Ð-Ð-Ð-Ð-ð 'Ø"'Ý œÑ)Ô)Ô.Ø&Ø$8Ý-Ñ/Ô/Ý -Õ.AÑ.CÔ.CÑ DÔ DÝ&9Õ:MÑ:OÔ:OÑ&PÔ&PÝ!2Ý(Ý,Ý#/µÑ#?Ô#?×#GÒ#GÑ#IÔ#Ið
ð 
ð 	
r%   Ú
format_telc                 ó^   — ddl m} ddlm}m} |}|j        r	|j        p|} || pd|¦  «        S )Nr   r4   )ÚTEL_AFFICHAGE_INTERNATIONALÚformat_phoner9   )rH   r5   rJ   rT   rU   Úis_authenticatedÚtel_affichage)Únumeror5   rT   rU   Ústyles        r$   Úformat_tel_filterz%create_app.<locals>.format_tel_filterj   sa   € à,Ð,Ð,Ð,Ð,Ð,ØGÐGÐGÐGÐGÐGÐGÐGà+ˆØÔ(ð 	NØ Ô.ÐMÐ2MˆEØˆ|˜F˜L b¨%Ñ0Ô0Ð0r%   Úsort_by_dateÚ
date_debutc                 ó\   ‡‡— 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 ¦  «        }|p‰S r   )Úgetattr)ÚitemÚvalueÚattrÚsentinels     €€r$   Úsort_keyz9create_app.<locals>.sort_by_date_filter.<locals>.sort_key{   s   ø€ Ý˜D $¨Ñ-Ô-ˆEØÐ$˜HÐ$r%   T)ÚkeyÚreverse)r   r^   Úsorted)Úitemsrd   r^   rf   re   s    `  @r$   Úsort_by_date_filterz'create_app.<locals>.sort_by_date_filtert   s^   øø€ ð 	"Ð!Ð!Ð!Ð!Ð!à�4˜˜1˜a‘=”=ˆð	%ð 	%ð 	%ð 	%ð 	%ð 	%õ �e °4Ð8Ñ8Ô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%   )r\   ) r   r&   ÚconfigÚfrom_objectr   Úsession_interfacer   Úwsgi_appr   Úinit_appr   r   Úlogin_managerÚcsrfÚ
login_viewÚlogin_messageÚlogin_message_categoryÚuser_loaderÚapp.routes.authr2   Úapp.routes.mainÚapp.routes.coproprietesÚapp.routes.personnesÚapp.routes.lotsÚapp.routes.compteursÚapp.routes.adminÚapp.routes.typesÚapp.routes.pwaÚregister_blueprintÚcontext_processorÚtemplate_filterÚerrorhandler)Úconfig_classr"   r1   Úauth_bpÚmain_bpÚcopro_bpÚpersonnes_bpÚlots_bpÚcompteurs_bpÚadmin_bpÚtypes_bpÚpwa_bprQ   rZ   rk   rn   s                   r$   Ú
create_appr‘   $   sÌ  € Ý
•‰/Œ/€CØ„J×Ò˜<Ñ(Ô(Ð(Ý6Ñ8Ô8€CÔõ -¨S¬\Ñ:Ô:€C„Lå„K�ÑÔÐÝÑÔÐÝ˜C¥Ñ$Ô$Ð$Ý×Ò˜3ÑÔÐÝ‡M‚M�#ÑÔÐà+…MÔØ"X…MÔØ+4…MÔ(åÔð2ð 2ñ Ôð2ð .Ð-Ð-Ð-Ð-Ð-Ø-Ð-Ð-Ð-Ð-Ð-Ø6Ð6Ð6Ð6Ð6Ð6Ø7Ð7Ð7Ð7Ð7Ð7Ø-Ð-Ð-Ð-Ð-Ð-Ø7Ð7Ð7Ð7Ð7Ð7Ø/Ð/Ð/Ð/Ð/Ð/Ø/Ð/Ð/Ð/Ð/Ð/Ø+Ð+Ð+Ð+Ð+Ð+ð ×Ò˜7Ñ#Ô#Ð#Ø×Ò˜7Ñ#Ô#Ð#Ø×Ò˜8Ñ$Ô$Ð$Ø×Ò˜<Ñ(Ô(Ð(Ø×Ò˜7Ñ#Ô#Ð#Ø×Ò˜<Ñ(Ô(Ð(Ø×Ò˜8Ñ$Ô$Ð$Ø×Ò˜8Ñ$Ô$Ð$Ø×Ò˜6Ñ"Ô"Ð"àÔð
ð 
ñ Ôð
ð4 	×Ò˜Ñ&Ô&ð1ð 1ñ 'Ô&ð1ð 	×Ò˜Ñ(Ô(ð
9ð 
9ð 
9ñ )Ô(ð
9ð 	×Ò�cÑÔð/ð /ñ Ôð/ð €Jr%   N)$r   rG   r   r   r   r   r   r	   rH   r
   Úflask.sessionsr   Úflask_wtf.csrfr   ro   r   Úapp.database_profilesr   r   r   r   r   r   r   r   Úapp.db_sqliter   rI   r   r   Úapp.wsgi_middlewarer   rt   ru   r   r‘   © r%   r$   ú<module>r˜      s›  ðØ Ð Ð Ð Ð Ð à QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QØ $Ð $Ð $Ð $Ð $Ð $Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø &Ð &Ð &Ð &Ð &Ð &à Ð Ð Ð Ð Ð ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 2Ð 1Ð 1Ð 1Ð 1Ð 1Ø Ð Ð Ð Ð Ð Ð Ð Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9à�‘”€Ø€{�}„}€ð,ð ,ð ,ð ,ð ,Ð!=ñ ,ô ,ð ,ð #ð bð bð bð bð bð br%   