Ë
    Yö@jÝ  ã                   ó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
mZ d dlmZmZ d dlmZmZmZmZmZmZmZ d dlmZ d dlmZ  eded	¬
«      Zdeddfd„Zdedede e   fd„Z!d„ Z"ejG                  d«      eed„ «       «       «       Z$ejG                  dddg¬«      eed„ «       «       «       Z%ejG                  d«      eed„ «       «       «       Z&ejG                  dddg¬«      eed„ «       «       «       Z'ejG                  ddg¬«      eed „ «       «       «       Z(ejG                  d!dg¬«      eed"„ «       «       «       Z)y)#é    )Ú	BlueprintÚflashÚredirectÚrender_templateÚrequestÚurl_for)Úlogin_required)ÚROLE_LABELSÚ	ROLES_LOT)Úcopropriete_requiredÚget_by_public_id)ÚAdresseÚEmailÚLotÚLotPersonneRoleÚPersonneÚ	TelephoneÚdb)Únormalize_phone)ÚSTATUT_ACTIFÚ	personnesz
/personnes)Ú
url_prefixÚpersonneÚreturnNc                 ó¼  — |j                   D ]!  }t        j                  j                  |«       Œ# |j                  D ]!  }t        j                  j                  |«       Œ# |j
                  D ]!  }t        j                  j                  |«       Œ# t        t        | j                  dd«      xs d«      «      D ]}  }t        | j                  d|› �d«      j                  «       «      }|sŒ2t        j                  j                  t        || j                  d|› �d«      j                  «       |¬«      «       Œ t        t        | j                  dd«      xs d«      «      D ]t  }| j                  d|› �d«      j                  «       }|sŒ)t        j                  j                  t        || j                  d	|› �d«      j                  «       |¬
«      «       Œv t        t        | j                  dd«      xs d«      «      D ]Ú  }| j                  d|› �d«      j                  «       }|sŒ)t        j                  j                  t        || j                  d|› �d«      j                  «       || j                  d|› �d«      j                  «       | j                  d|› �d«      j                  «       | j                  d|› �d«      j                  «       ¬«      «       ŒÜ y )NÚ	tel_countr   Útel_numero_Ú Útel_libelle_)r   ÚlibelleÚnumeroÚemail_countÚemail_adresse_Úemail_libelle_)r   r    ÚadresseÚ
addr_countÚaddr_ligne1_Úaddr_libelle_Úaddr_ligne2_Úaddr_cp_Úaddr_ville_)r   r    Úligne1Úligne2Úcode_postalÚville)Ú
telephonesr   ÚsessionÚdeleteÚemailsÚadressesÚrangeÚintÚgetr   ÚstripÚaddr   r   r   )	Úformr   ÚtÚeÚaÚir!   r%   r,   s	            ú(Y:\copro_gestion\app\routes\personnes.pyÚ_parse_contactsr@      sS  € Ø× Ô ˆÜ
�
‰
×Ñ˜!Õð !à�_Œ_ˆÜ
�
‰
×Ñ˜!Õð à×ÔˆÜ
�
‰
×Ñ˜!Õð ô ”3�t—x‘x ¨QÓ/Ò4°1Ó5Ö6ˆÜ  §¡¨K¸°sÐ*;¸RÓ!@×!FÑ!FÓ!HÓIˆÚÜ�J‰J�N‰NÜØ%Ø ŸH™H |°A°3Ð%7¸Ó<×BÑBÓDØ!ôõð 7ô ”3�t—x‘x ¨qÓ1Ò6°QÓ7Ö8ˆØ—(‘(˜^¨A¨3Ð/°Ó4×:Ñ:Ó<ˆÚÜ�J‰J�N‰NÜØ%Ø ŸH™H ~°a°SÐ%9¸2Ó>×DÑDÓFØ#ôõð 9ô ”3�t—x‘x ¨aÓ0Ò5°AÓ6Ö7ˆØ—‘˜L¨¨Ð,¨bÓ1×7Ñ7Ó9ˆÚÜ�J‰J�N‰NÜØ%Ø ŸH™H }°Q°CÐ%8¸"Ó=×CÑCÓEØ!ØŸ8™8 l°1°#Ð$6¸Ó;×AÑAÓCØ $§¡¨8°A°3¨¸Ó <× BÑ BÓ DØŸ(™( [°°Ð#4°bÓ9×?Ñ?ÓAôõ	ñ 8ó    ÚqÚafficher_supprimesÚroles_filtrec           	      ó6  — |r/t        j                  «       j                  | j                  ¬«      }n.t        j                  «       j                  | j                  ¬«      }|rƒd|› d�}|j                  t        j                  t         j                  j                  |«      t         j                  j                  |«      t         j                  j                  |«      «      «      }|røt        j                  j                  t        j                  «      j!                  t"        «      j                  t"        j$                  | j                  k(  t        j&                  t(        k(  t        j*                  j-                  d «      t        j.                  j1                  |«      «      j3                  «       }|j                  t         j                  j1                  |«      «      }|j5                  t         j                  t         j                  «      j7                  «       S )N©Úcopropriete_idÚ%)r   Úquery_archivesÚ	filter_byÚidÚquery_actifsÚfilterr   Úor_ÚnomÚilikeÚprenomÚraison_socialer1   Úqueryr   Úpersonne_idÚjoinr   rG   Ústatutr   Údate_finÚis_ÚroleÚin_ÚdistinctÚorder_byÚall)ÚcoproprieterB   rC   rD   rS   ÚlikeÚpersonnes_avec_roles          r?   Ú_filtrer_personnesra   :   sm  € ÙÜ×'Ñ'Ó)×3Ñ3À;Ç>Á>Ð3ÓR‰ä×%Ñ%Ó'×1Ñ1ÀÇÁÐ1ÓPˆÙØ�1�#�QˆxˆØ—‘Ü�F‰FÜ—‘×"Ñ" 4Ó(Ü—‘×%Ñ% dÓ+Ü×'Ñ'×-Ñ-¨dÓ3óó
ˆñ ä�J‰J×Ñœ_×8Ñ8Ó9ß‰T”#‹Yß‰VÜ×"Ñ" k§n¡nÑ4Ü×&Ñ&¬,Ñ6Ü×(Ñ(×,Ñ,¨TÓ2Ü×$Ñ$×(Ñ(¨Ó6ó	÷ ‰X‹Zð 	ð —‘œXŸ[™[Ÿ_™_Ð-@ÓAÓBˆØ�>‰>œ(Ÿ,™,¬¯©Ó8×<Ñ<Ó>Ð>rA   c                 ó&   — ||| ||t         t        dœS )N)r   rB   r^   rC   rD   Ú	roles_lotÚrole_labels)r   r
   )r^   rB   rC   rD   r   s        r?   Ú_liste_contextre   X   s!   € àØØ"Ø0Ø$ÜÜ"ñð rA   Ú/c                 óÀ  — t         j                  j                  dd«      j                  «       }t         j                  j                  d«      dk(  }t         j                  j	                  d«      D �cg c]  }|t
        v sŒ|‘Œ }}t        | |||«      }t        | ||||«      }t         j                  j                  d«      dk(  rt        di |¤ŽS t        di |¤ŽS c c}w )	NrB   r   Ú	supprimesÚ1rY   Úfragment)zpersonnes/_liste_resultats.html)zpersonnes/liste.html)	r   Úargsr7   r8   Úgetlistr   ra   re   r   )r^   rB   rC   ÚrrD   r   Úctxs          r?   Úlistero   d   sÅ   € ô 	�‰×Ñ˜˜bÓ!×'Ñ'Ó)€AÜ Ÿ™×)Ñ)¨+Ó6¸#Ñ=ÐÜ&Ÿ|™|×3Ñ3°FÔ;ÓNÑ;˜!¸qÄIº~’AÐ;€LÐNÜ" ;°Ð3EÀ|ÓT€IÜ
˜ aÐ);¸\È9Ó
U€CÜ‡|�|×Ñ˜
Ó# sÒ*ÜÑHÀCÑHÐHÜÑ9°SÑ9Ð9ùò Os   Á2CÂ Cz/nouveauÚGETÚPOST)Úmethodsc                 óª  — t         j                  dk(  �r²t         j                  j                  dd«      j	                  «       }t         j                  j                  dd«      j	                  «       }|s|st        dd«       �nDt        | j                  t         j                  j                  dd«      j	                  «       |xs |t         j                  j                  dd«      j	                  «       |t         j                  j                  d	d«      j	                  «       ¬
«      }t        j                  j                  |«       t        j                  j                  «        t        t         j                  |«       t        j                  j                  «        t        dd«       t        t        d|j                   ¬«      «      S t#        dd | ¬«      S )Nrq   rO   r   rR   ú,Le nom ou la raison sociale est obligatoire.ÚdangerÚciviliterQ   Únotes)rG   rv   rO   rQ   rR   rw   u   Personne crÃ©Ã©e.Úsuccessúpersonnes.detail©rT   úpersonnes/form.html©r   r^   )r   Úmethodr:   r7   r8   r   r   rK   r   r1   r9   Úflushr@   Úcommitr   r   Ú	public_idr   )r^   rO   rR   r   s       r?   Únouveaur�   r   sF  € ô ‡~�~˜ÓÜ�l‰l×Ñ˜u bÓ)×/Ñ/Ó1ˆÜ Ÿ™×)Ñ)Ð*:¸BÓ?×EÑEÓGˆÙ™>ÜÐ@À(ÖKäØ*Ÿ~™~Ü Ÿ™×)Ñ)¨*°bÓ9×?Ñ?ÓAØÒ)˜>Ü—|‘|×'Ñ'¨°"Ó5×;Ñ;Ó=Ø-Ü—l‘l×&Ñ& w°Ó3×9Ñ9Ó;ôˆHô �J‰J�N‰N˜8Ô$Ü�J‰J×ÑÔÜœGŸL™L¨(Ô3Ü�J‰J×ÑÔÜÐ% yÔ1ÜœGÐ$6ÀH×DVÑDVÔWÓXÐXÜÐ0¸4È[ÔYÐYrA   z/<uuid:personne_id>c                 ó`   — t        t        || j                  ¬«      }t        d|| t        ¬«      S )NrF   zpersonnes/detail.html)r   r^   rd   )r   r   rK   r   r
   ©r^   rT   r   s      r?   Údetailr„   �   s4   € ô  Ü�+¨k¯n©nô€Hô ØØØÜô	ð rA   z/<uuid:personne_id>/editc                 óè  — t        t        || j                  ¬«      }|j                  r,t	        dd«       t        t        d|j                  ¬«      «      S t        j                  dk(  �r}t        j                  j                  dd«      j                  «       }t        j                  j                  d	d«      j                  «       }|s|st	        d
d«       �nt        j                  j                  dd«      j                  «       |_        |xs ||_        t        j                  j                  dd«      j                  «       |_        ||_        t        j                  j                  dd«      j                  «       |_        t%        t        j                  |«       t&        j(                  j+                  «        t	        dd«       t        t        d|j                  ¬«      «      S t-        d|| ¬«      S )NrF   u=   Cette personne est supprimÃ©e. Restaurez-la pour la modifier.Úwarningry   rz   rq   rO   r   rR   rt   ru   rv   rQ   rw   u   Personne mise Ã  jour.rx   r{   r|   )r   r   rK   Úest_supprimer   r   r   r€   r   r}   r:   r7   r8   rv   rO   rQ   rR   rw   r@   r   r1   r   r   )r^   rT   r   rO   rR   s        r?   Úeditrˆ   œ   sq  € ô  Ü�+¨k¯n©nô€Hð ×ÒÜÐMÈyÔYÜœÐ 2À×@RÑ@RÔSÓTÐTÜ‡~�~˜ÓÜ�l‰l×Ñ˜u bÓ)×/Ñ/Ó1ˆÜ Ÿ™×)Ñ)Ð*:¸BÓ?×EÑEÓGˆÙ™>ÜÐ@À(ÖKä '§¡× 0Ñ 0°¸RÓ @× FÑ FÓ HˆHÔØÒ0 .ˆHŒLÜ%Ÿl™l×.Ñ.¨x¸Ó<×BÑBÓDˆHŒOØ&4ˆHÔ#Ü$Ÿ\™\×-Ñ-¨g°rÓ:×@Ñ@ÓBˆHŒNÜœGŸL™L¨(Ô3Ü�J‰J×ÑÔÜÐ*¨IÔ6ÜœGÐ$6ÀH×DVÑDVÔWÓXÐXÜØ¨¸kôð rA   z/<uuid:personne_id>/supprimerc                 óî   — t        t        || j                  ¬«      }|j                  s:|j	                  «        t
        j                  j                  «        t        dd«       t        t        d«      «      S )NrF   u   Personne supprimÃ©e.Úinfozpersonnes.liste)r   r   rK   r‡   Úmarquer_supprimer   r1   r   r   r   r   rƒ   s      r?   Ú	supprimerrŒ   º   s\   € ô  Ü�+¨k¯n©nô€Hð × Ò Ø×!Ñ!Ô#Ü
�
‰
×ÑÔÜÐ$ fÔ-Ü”GÐ-Ó.Ó/Ð/rA   z/<uuid:personne_id>/restaurerc                 ó   — t        t        || j                  ¬«      }|j                  st	        dd«       n:|j                  «        t        j                  j                  «        t	        dd«       t        t        d|j                  ¬«      «      S )NrF   u!   Cette personne est dÃ©jÃ  active.rŠ   u   Personne restaurÃ©e.rx   ry   rz   )r   r   rK   r‡   r   Ú	restaurerr   r1   r   r   r   r€   rƒ   s      r?   rŽ   rŽ   È   so   € ô  Ü�+¨k¯n©nô€Hð × Ò ÜÐ1°6Õ:à×ÑÔÜ
�
‰
×ÑÔÜÐ$ iÔ0Ü”GÐ.¸H×<NÑ<NÔOÓPÐPrA   )*Úflaskr   r   r   r   r   r   Úflask_loginr	   Úapp.constantsr
   r   Úapp.helpersr   r   Ú
app.modelsr   r   r   r   r   r   r   Ú	app.phoner   Úapp.soft_deleter   Ú__name__Úbpr@   ÚstrÚboolÚlistra   re   Úroutero   r�   r„   rˆ   rŒ   rŽ   © rA   r?   Ú<module>r�      sœ  ðß O× OÝ &ç 0ß >ß T× TÑ TÝ %Ý (áˆ{˜H°Ô>€ð* Hð *°ó *ðZ? sð ?Àð ?ÐTXÐY\ÑT]ó ?ò<	ð ‡�ˆ#ƒØØñ:ó ó ó ð:ð ‡�ˆ*˜u f˜o€Ó.ØØñZó ó ó /ðZð0 ‡�Ð
Ó ØØñ	ó ó ó !ð	ð ‡�Ð
$¨u°f¨o€Ó>ØØñó ó ó ?ðð6 ‡�Ð
)°F°8€Ó<ØØñ0ó ó ó =ð0ð ‡�Ð
)°F°8€Ó<ØØñ
Qó ó ó =ñ
QrA   