Ë
    
û@jB+  ã                   ó¼  — 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mZ d dlmZmZmZmZmZmZmZ d dlmZ  eded¬	«      Zd
„ Zdedz  fd„Zdee   dee    fd„Z!dedee    fd„Z"dede#fd„Z$ejK                  d«      eed„ «       «       «       Z&ejK                  dddg¬«      eed„ «       «       «       Z'ejK                  d«      eed„ «       «       «       Z(ejK                  dddg¬«      eed„ «       «       «       Z)ejK                  d dg¬«      eed!„ «       «       «       Z*ejK                  d"dg¬«      eed#„ «       «       «       Z+ejK                  d$dg¬«      eed%„ «       «       «       Z,ejK                  d&dg¬«      eed'„ «       «       «       Z-ejK                  d(dg¬«      eed)„ «       «       «       Z.ejK                  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Úpublic_id_str)ÚLotÚLotMilliemesÚLotPersonneRoleÚLotTypeÚMilliemeTypeÚPersonneÚdb)Ú
parse_dateÚlotsz/lots)Ú
url_prefixc                 óÊ   — t         j                  j                  | j                  ¬«      j	                  t         j
                  t         j                  «      j                  «       S )N©Úcopropriete_id)r   ÚqueryÚ	filter_byÚidÚorder_byÚordreÚlibelleÚall)Úcoproprietes    ú<\\10.66.66.1\www.stessy.org\copro_gestion\app\routes\lots.pyÚ
_lot_typesr%      s;   € ä�‰×Ñ¨{¯~©~ÐÓ>ß	‰”'—-‘-¤§¡Ó	1ß	‰‹ðó    ÚreturnNc                 óÌ   — |j                  dd«      j                  «       }|sy t        j                  j	                  t        |«      | j                  ¬«      j                  «       S )NÚlot_type_idÚ ©Ú	public_idr   )ÚgetÚstripr   r   r   r   r   Úfirst)r#   ÚformÚpids      r$   Ú_lot_type_from_formr2      sR   € Ø
�(‰(�= "Ó
%×
+Ñ
+Ó
-€CÙØÜ�=‰=×"Ñ"Ü Ó$°[·^±^ð #ó ç�eƒgðr&   Útype_public_idsc                 óL  — |sg S t         j                  j                  t         j                  | j                  k(  t         j
                  j                  |D �cg c]  }t        |«      ‘Œ c}«      «      j                  «       }|D �cg c]  }|j                  ‘Œ c}S c c}w c c}w ©N)	r   r   Úfilterr   r   r,   Úin_r   r"   )r#   r3   ÚpÚrowsÚts        r$   Ú_lot_type_ids_from_formr;      sŠ   € ÙØˆ	ä�‰×ÑÜ×"Ñ" k§n¡nÑ4Ü×Ñ×!Ñ!¹_Ó"M¹_¸¤=°Õ#3¸_Ñ"MÓNó	
÷ 
‰‹ð 	ñ Ó™$�QˆA�D‹D˜$ÑÐùò	 #Nùò  s   ÁBÂB!ÚqÚtype_idsc           
      ó¬  — |r¡d|› d�}| j                  t        j                  t        j                  j                  |«      t        j                  j                  |«      t        j                  j                  |«      t        j                  j                  |«      «      «      } |r.| j                  t        j                  j                  |«      «      } | S )NÚ%)r6   r   Úor_r   ÚdesignationÚilikeÚ	lot_coproÚ
lot_syndicÚnumero_fiscalr)   r7   )r   r<   r=   Úlikes       r$   Ú_filtrer_lotsrG   *   s�   € ÙØ�1�#�QˆxˆØ—‘Ü�F‰FÜ—‘×%Ñ% dÓ+Ü—‘×#Ñ# DÓ)Ü—‘×$Ñ$ TÓ*Ü×!Ñ!×'Ñ'¨Ó-ó	ó
ˆñ Ø—‘œSŸ_™_×0Ñ0°Ó:Ó;ˆØ€Lr&   Úlotc                 óø  — |j                  dd«      j                  «       | _        |j                  dd«      j                  «       | _        |j                  dd«      j                  «       | _        |j                  dd«      j                  «       | _        |j                  dd«      j                  «       | _        |j                  dd«      j                  «       | _        |j                  d«      rt        |d   «      nd	| _	        |j                  d
d«      j                  «       | _
        |j                  dd«      j                  «       | _        |j                  dd«      j                  «       | _        |j                  dd«      j                  «       }|r-t        ||«      }|st        dd«       y|j                  | _        nd	| _        | j                  s%| j                  s| j
                  st        dd«       yy)uJ   Remplit le lot depuis le formulaire. Retourne False si validation Ã©choue.rA   r*   ÚetageÚporterD   rC   rE   ÚsurfaceNÚcaveÚbalÚnotesr)   zType de lot invalide.ÚdangerFuF   Indiquez au moins une dÃ©signation ou un nÂ° de lot (copro ou syndic).T)r-   r.   rA   rJ   rK   rD   rC   rE   ÚfloatrL   rM   rN   rO   r2   r   r   r)   )rH   r#   r0   Útype_pidÚlot_types        r$   Ú_remplir_lot_depuis_formrT   :   sƒ  € à—h‘h˜}¨bÓ1×7Ñ7Ó9€C„OØ—‘˜ "Ó%×+Ñ+Ó-€C„IØ—‘˜ "Ó%×+Ñ+Ó-€C„IØ—X‘X˜l¨BÓ/×5Ñ5Ó7€C„NØ—H‘H˜[¨"Ó-×3Ñ3Ó5€C„MØŸ™ °"Ó5×;Ñ;Ó=€CÔØ,0¯H©H°YÔ,?”%˜˜Y™Ô(ÀT€C„KØ�x‰x˜ Ó#×)Ñ)Ó+€C„HØ�h‰h�u˜bÓ!×'Ñ'Ó)€C„GØ—‘˜ "Ó%×+Ñ+Ó-€C„Ià�x‰x˜ rÓ*×0Ñ0Ó2€HÙÜ& {°DÓ9ˆÙÜÐ)¨8Ô4ØØ"Ÿ+™+ˆ�àˆŒà�OŠO˜sŸ}š}°·²ÜÐVÐX`ÔaØØr&   Ú/c           
      óò  — t         j                  j                  dd«      j                  «       }t         j                  j                  d«      dk(  }t         j                  j	                  d«      D �cg c]  }|sŒ|‘Œ	 }}t        | |«      }|r/t        j                  «       j                  | j                  ¬«      }n.t        j                  «       j                  | j                  ¬«      }t        |||«      }|j                  t        j                  t        j                  t        j                  t        j                   «      j#                  «       }t%        | «      }t'        d|| |t(        |||¬«      S c c}w )	Nr<   r*   Ú	supprimesÚ1Útyper   zlots/liste.html)r   r#   Úafficher_supprimesÚrole_labelsr<   Útypes_filtreÚ	lot_types)r   Úargsr-   r.   Úgetlistr;   r   Úquery_archivesr   r   Úquery_actifsrG   r   rA   rJ   rK   rC   r"   r%   r   r
   )	r#   r<   rZ   r:   r\   r=   r   r   r]   s	            r$   Úlisterb   W   s#  € ô 	�‰×Ñ˜˜bÓ!×'Ñ'Ó)€AÜ Ÿ™×)Ñ)¨+Ó6¸#Ñ=ÐÜ&Ÿ|™|×3Ñ3°FÔ;ÓAÑ;˜!ºq’AÐ;€LÐAÜ& {°LÓA€HáÜ×"Ñ"Ó$×.Ñ.¸k¿n¹nÐ.ÓM‰ä× Ñ Ó"×,Ñ,¸K¿N¹NÐ,ÓKˆä˜%  HÓ-€EØ�>‰>œ#Ÿ/™/¬3¯9©9´c·i±iÄÇÁÓO×SÑSÓU€DÜ˜;Ó'€IäØØØØ-ÜØ
Ø!Øô	ð 	ùò Bs   Á2E4Á:E4z/nouveauÚGETÚPOST)Úmethodsc                 ó�  — t        | «      }t        j                  dk(  ršt        | j                  ¬«      }t        || t        j                  «      rit        j                  j                  |«       t        j                  j                  «        t        dd«       t        t        d|j                  ¬«      «      S t        dd | |¬«      S )	Nrd   r   u   Lot crÃ©Ã©.Úsuccessúlots.detail©Úlot_idúlots/form.html©rH   r#   r]   )r%   r   Úmethodr   r   rT   r0   r   ÚsessionÚaddÚcommitr   r   r   r,   r   )r#   r]   rH   s      r$   Únouveaurq   u   sŽ   € ô ˜;Ó'€IÜ‡~�~˜ÒÜ §¡Ô0ˆÜ# C¨´g·l±lÔCÜ�J‰J�N‰N˜3ÔÜ�J‰J×ÑÔÜ�- Ô+ÜœG M¸#¿-¹-ÔHÓIÐIÜØ˜d°Àyôð r&   z/<uuid:lot_id>c                 óæ  — t        t        || j                  ¬«      }t        j                  «       j                  | j                  ¬«      j                  t        j                  «      j                  «       }t        j                  j                  | j                  ¬«      j                  t        j                  «      j                  «       }|j                  D �ci c]  }|j                  |“Œ }}|D �cg c]S  }|j                  |j                  dj!                  d„ |j                  |j"                  |j$                  fD «       «      dœ‘ŒU }}t'        d|||| t(        t*        ||¬«	      S c c}w c c}w )Nr   Ú c              3   ó&   K  — | ]	  }|sŒ|–— Œ y ­wr5   © )Ú.0Úparts     r$   Ú	<genexpr>zdetail.<locals>.<genexpr>›   s   è ø€ ð Ù!D˜Ê”Ñ!Dùs   ‚Š)r   Úlabelr<   zlots/detail.html)rH   Ú	personnesÚpersonnes_choixr#   Ú	roles_lotr[   Úmillieme_typesÚmilliemes_valeurs)r   r   r   r   ra   r   r   Únomr"   r   r   r    r~   Útype_idr,   Úlibelle_afficheÚjoinÚprenomÚraison_socialer   r   r
   )	r#   rj   rH   rz   r}   ÚvÚvaleursr8   r{   s	            r$   Údetailr‡   †   sE  € ô œ3 °{·~±~Ô
F€Cä×ÑÓß	‰ +§.¡.ˆÓ	1ß	‰”(—,‘,Ó	ß	‰‹ð	 ô 	×Ñ×$Ñ$°K·N±NÐ$ÓCß	‰”,×$Ñ$Ó	%ß	‰‹ð ð
 &)×%:Ò%:Ó;Ñ%: ˆq�y‰y˜!‰|Ð%:€GÐ;ñ ó	ñ ˆAð —+‘+Ø×&Ñ&Ø—‘ñ Ø"#§%¡%¨¯©°1×3CÑ3CÑ!Dóó ó	
ð ð ð 	ô ØØØØ'ØÜÜØ%Ø!ô
ð 
ùò <ùò	s   ÃE)Ã3AE.z/<uuid:lot_id>/editc                 óÎ  — t        t        || j                  ¬«      }t        | «      }|j                  r,t        dd«       t        t        d|j                  ¬«      «      S t        j                  dk(  ret        || t        j                  «      rJt        j                  j                  «        t        dd«       t        t        d|j                  ¬«      «      S t!        d	|| |¬
«      S )Nr   u4   Ce lot est supprimÃ©. Restaurez-le pour le modifier.Úwarningrh   ri   rd   u   Lot mis Ã  jour.rg   rk   rl   )r   r   r   r%   Úest_supprimer   r   r   r,   r   rm   rT   r0   r   rn   rp   r   )r#   rj   rH   r]   s       r$   Úeditr‹   ®   s­   € ô œ3 °{·~±~Ô
F€CÜ˜;Ó'€IØ
×ÒÜÐDÀiÔPÜœ °c·m±mÔDÓEÐEÜ‡~�~˜ÒÜ# C¨´g·l±lÔCÜ�J‰J×ÑÔÜÐ$ iÔ0ÜœG M¸#¿-¹-ÔHÓIÐIÜØ˜c¨{Àiôð r&   z/<uuid:lot_id>/milliemesc                 ó$  — t        t        || j                  ¬«      }t        j                  j                  | j                  ¬«      j                  «       }|D ]î  }t        j                  j                  d|j                  › �d«      j                  «       }t        j                  j                  |j                  |j                  ¬«      j                  «       }|rJ|r||_        Œ�t        j                  j!                  t        |j                  |j                  |¬«      «       ŒÍ|sŒÐt        j                  j#                  |«       Œð t        j                  j%                  «        t'        dd«       t)        t+        d|j,                  ¬	«      «      S )
Nr   Ú	millieme_r*   )rj   r€   )rj   r€   Úvaleuru   TantiÃ¨mes enregistrÃ©s.rg   rh   ri   )r   r   r   r   r   r   r"   r   r0   r-   r.   r   r/   rŽ   r   rn   ro   Údeleterp   r   r   r   r,   )r#   rj   rH   ÚtypesÚmtrŽ   Úexistings          r$   Úenregistrer_milliemesr“   Á   s  € ô œ3 °{·~±~Ô
F€CÜ×Ñ×(Ñ(¸¿¹Ð(ÓG×KÑKÓM€EÛˆÜ—‘×!Ñ! I¨b¯e©e¨WÐ"5°rÓ:×@Ñ@ÓBˆÜ×%Ñ%×/Ñ/°s·v±vÀrÇuÁuÐ/ÓM×SÑSÓUˆÙÙØ"(�•ä—
‘
—‘œ|°3·6±6À2Ç5Á5ÐQWÔXÕYÚÜ�J‰J×Ñ˜hÕ'ð ô ‡J�J×ÑÔÜ	Ð
$ iÔ0Ü”G˜M°#·-±-Ô@ÓAÐAr&   z/<uuid:lot_id>/rolec           
      óÖ  — t        t        || j                  ¬«      }t        j                  j                  dd«      j                  «       }t        j                  «       j                  t        |«      | j                  ¬«      j                  «       }|s,t        dd«       t        t        d|j                  ¬«      «      S t         D �cg c]'  }t        j                  j                  d	|› �«      sŒ&|‘Œ) }}|s,t        d
d«       t        t        d|j                  ¬«      «      S t#        t        j                  j                  dd«      «      }t        j                  j                  dd«      j                  «       }|D ]�  }	t%        j                  «       j                  |j                  |j                  |	d ¬«      j                  «       }
|
rŒOt&        j(                  j+                  t%        |j                  |j                  |	||¬«      «       Œ‘ t&        j(                  j-                  «        t        d|j.                  › d�d«       t        t        d|j                  ¬«      «      S c c}w )Nr   Úpersonne_idr*   r+   zPersonne invalide.rP   rh   ri   Úrole_u    SÃ©lectionnez au moins un rÃ´le.Ú
date_debutrO   )rj   r•   ÚroleÚdate_fin)rj   r•   r˜   r—   rO   u   RÃ´les enregistrÃ©s pour Ú.rg   )r   r   r   r   r0   r-   r.   r   ra   r   r   r/   r   r   r   r,   r   r   r   r   rn   ro   rp   Únom_complet)r#   rj   rH   Úpersonne_pidÚpersonneÚrÚroles_choisisr—   rO   r˜   Úexistes              r$   Úajouter_roler¡   Ö   sß  € ô œ3 °{·~±~Ô
F€CÜ—<‘<×#Ñ# M°2Ó6×<Ñ<Ó>€LÜ×$Ñ$Ó&×0Ñ0Ü Ó-¸k¿n¹nð 1ó ç�eƒgð ñ ÜÐ" HÔ-Üœ °c·m±mÔDÓEÐEå )ÓK¡	˜1¬W¯\©\×-=Ñ-=ÀÀaÀS¸kÕ-J’Q 	€MÐKÙÜÐ0°(Ô;Üœ °c·m±mÔDÓEÐEäœGŸL™L×,Ñ,¨\¸2Ó>Ó?€JÜ�L‰L×Ñ˜W bÓ)×/Ñ/Ó1€EÛˆÜ ×-Ñ-Ó/×9Ñ9Ø—6‘6Ø Ÿ™ØØð	 :ó 
÷
 ‰%‹'ð 	ò Ü�J‰J�N‰NÜØŸ6™6Ø (§¡ØØ)Øôõð ô" ‡J�J×ÑÔÜ	Ð% h×&:Ñ&:Ð%;¸1Ð
=¸yÔIÜ”G˜M°#·-±-Ô@ÓAÐAùò5 Ls   Ã'I&Ã/I&z&/<uuid:lot_id>/role/<uuid:role_id>/finc                 óº  — t        t        || j                  ¬«      }t        j                  «       j                  t        |«      |j                  ¬«      j                  «       }t        t        j                  j                  dd«      d¬«      |_        t        j                  j                  «        t!        dd«       t#        t%        d	|j&                  ¬
«      «      S )Nr   ©r,   rj   r™   r*   T)Údefault_todayu   Fin de rÃ´le enregistrÃ©e.rg   rh   ri   )r   r   r   r   ra   r   r   Úfirst_or_404r   r   r0   r-   r™   r   rn   rp   r   r   r   r,   ©r#   rj   Úrole_idrH   r˜   s        r$   Úfin_roler¨      s—   € ô œ3 °{·~±~Ô
F€Cä×$Ñ$Ó&ß	‰œ]¨7Ó3¸C¿F¹FˆÓ	Cß	‰‹ð 	ô
 œwŸ|™|×/Ñ/°
¸BÓ?ÈtÔT€D„MÜ‡J�J×ÑÔÜ	Ð
&¨	Ô2Ü”G˜M°#·-±-Ô@ÓAÐAr&   z,/<uuid:lot_id>/role/<uuid:role_id>/supprimerc                 óz  — t        t        || j                  ¬«      }t        j                  «       j                  t        |«      |j                  ¬«      j                  «       }|j                  «        t        j                  j                  «        t        dd«       t        t        d|j                  ¬«      «      S )Nr   r£   u$   RÃ´le supprimÃ© (conservÃ© en base).Úinforh   ri   )r   r   r   r   ra   r   r   r¥   Úmarquer_supprimer   rn   rp   r   r   r   r,   r¦   s        r$   Úsupprimer_roler¬     s„   € ô œ3 °{·~±~Ô
F€Cä×$Ñ$Ó&ß	‰œ]¨7Ó3¸C¿F¹FˆÓ	Cß	‰‹ð 	ð
 	×ÑÔÜ‡J�J×ÑÔÜ	Ð
0°&Ô9Ü”G˜M°#·-±-Ô@ÓAÐAr&   z/<uuid:lot_id>/supprimerc                 óî   — t        t        || j                  ¬«      }|j                  s:|j	                  «        t
        j                  j                  «        t        dd«       t        t        d«      «      S )Nr   u   Lot supprimÃ©.rª   z
lots.liste)r   r   r   rŠ   r«   r   rn   rp   r   r   r   ©r#   rj   rH   s      r$   Ú	supprimerr¯      sV   € ô œ3 °{·~±~Ô
F€CØ×ÒØ×ÑÔÜ
�
‰
×ÑÔÜÐ Ô'Ü”G˜LÓ)Ó*Ð*r&   z/<uuid:lot_id>/restaurerc                 ó   — t        t        || j                  ¬«      }|j                  st	        dd«       n:|j                  «        t        j                  j                  «        t	        dd«       t        t        d|j                  ¬«      «      S )Nr   u   Ce lot est dÃ©jÃ  actif.rª   u   Lot restaurÃ©.rg   rh   ri   )r   r   r   rŠ   r   Ú	restaurerr   rn   rp   r   r   r,   r®   s      r$   r±   r±   ,  sd   € ô œ3 °{·~±~Ô
F€CØ×ÒÜÐ(¨&Õ1à�‰ŒÜ
�
‰
×ÑÔÜÐ 	Ô*Ü”G˜M°#·-±-Ô@ÓAÐAr&   )0Úflaskr   r   r   r   r   r   Úflask_loginr	   Úapp.constantsr
   r   Úapp.helpersr   r   r   Ú
app.modelsr   r   r   r   r   r   r   Ú	app.utilsr   Ú__name__Úbpr%   r2   ÚlistÚstrÚintr;   rG   ÚboolrT   Úrouterb   rq   r‡   r‹   r“   r¡   r¨   r¬   r¯   r±   ru   r&   r$   Ú<module>r¿      s–  ðß O× OÝ &ç 0ß MÑ Mß ^× ^Ñ ^Ý  áˆv�x¨GÔ4€òð¨g¸©nó ð
 ¸$¸s¹)ð 
 ÈÈSÉ	ó 
 ð˜Cð ¨4°©9ó ð  #ð ¸Tó ð: ‡�ˆ#ƒØØñó ó ó ðð6 ‡�ˆ*˜u f˜o€Ó.ØØñó ó ó /ðð ‡�Ð
ÓØØñ"ó ó ó ð"ðJ ‡�Ð
¨%°¨€Ó9ØØñó ó ó :ðð  ‡�Ð
$¨v¨h€Ó7ØØñBó ó ó 8ðBð$ ‡�Ð
¨&¨€Ó2ØØñ$Bó ó ó 3ð$BðN ‡�Ð
2¸V¸H€ÓEØØñ
Bó ó ó Fð
Bð ‡�Ð
8À6À(€ÓKØØñ
Bó ó ó Lð
Bð ‡�Ð
$¨v¨h€Ó7ØØñ+ó ó ó 8ð+ð ‡�Ð
$¨v¨h€Ó7ØØñBó ó ó 8ñBr&   