Ë
    !q6ja6  ã                   óè  — d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
  G d„ dej                  «      Z G d„ d	ej                  «      Z G d
„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Zy)é    )Úsettings)Úmodels)Útimezone)ÚCustomerÚCreditor)ÚTenantc                   ó|  — e Zd ZdZ G d„ dej
                  «      Z ej                  eej                  d¬«      Z
 ej                  d¬«      Z ej                  dd	d	¬
«      Z ej                  dd	d	¬
«      Z ej                  dej                  ej                   ¬«      Z ej                  dd	d	¬
«      Z ej&                  d	d	¬«      Z ej&                  d	d	¬«      Z ej                  ej.                  ej0                  d	d	d¬«      Z ej4                  d	¬«      Z ej8                  d	d	¬«      Z ej                  ej.                  ej0                  d	d	d¬«      Z ej                  ej.                  ej0                  d	d	d¬«      Z ej8                  d	¬«      Z  ej8                  d	¬«      Z! G d„ d«      Z"d„ Z#dd„Z$y)Ú	Portfoliouu   
    Portefeuille: regroupe des dossiers.
    AmÃ©liorations: gouvernance, priorisation, code, audit, archivage.
    c                   ó   — e Zd ZdZdZdZy)úPortfolio.Priority©ÚlowÚFaible©ÚmediumÚMoyenne©Úhighu   Ã‰levÃ©eN)Ú__name__Ú
__module__Ú__qualname__ÚLOWÚMEDIUMÚHIGH© ó    ú!/var/www/html/acx/cases/models.pyÚPriorityr      s   „ ØˆØ$ˆØ!‰r   r   Ú
portfolios©Ú	on_deleteÚrelated_nameé    ©Ú
max_lengthé(   T©r%   ÚblankÚnulléP   é
   ©r%   ÚchoicesÚdefaulté   ©r(   r)   Úowned_portfolios©r!   r)   r(   r"   ©r.   Úcreated_portfoliosÚupdated_portfolios©Úauto_now_add©Úauto_nowc                   ój   — e Zd Z ej                  ddgd¬«       ej                  ddgd¬«      gZdgZy)úPortfolio.MetaÚtenantÚnameÚuniq_portfolio_tenant_name)Úfieldsr=   ÚcodeÚuniq_portfolio_tenant_codeN)r   r   r   r   ÚUniqueConstraintÚconstraintsÚorderingr   r   r   ÚMetar;   C   sB   „ à#ˆF×#Ñ#¨H°fÐ+=ÐD`ÔaØ#ˆF×#Ñ#¨H°fÐ+=ÐD`Ôað
ˆð �8‰r   rE   c                 ó:   — | j                   › d| j                  › d�S ©Nz (ú))r=   r<   ©Úselfs    r   Ú__str__zPortfolio.__str__J   s   € Ø—)‘)�˜B˜tŸ{™{˜m¨1Ð-Ð-r   Nc                 ó~   — t        j                  «       | _        d| _        |r|| _        | j                  g d¢¬«       y )NF)Úarchived_atÚ	is_activeÚ
updated_byÚ
updated_at)Úupdate_fields)r   ÚnowrM   rN   rO   Úsave)rJ   Úactors     r   ÚarchivezPortfolio.archiveM   s0   € Ü#Ÿ<™<›>ˆÔØˆŒÙØ#ˆDŒOØ�	‰	Ò Xˆ	ÕYr   ©N)%r   r   r   Ú__doc__r   ÚTextChoicesr   Ú
ForeignKeyr   ÚCASCADEr<   Ú	CharFieldr=   r@   Úcategoryr-   r   ÚpriorityÚdefault_currencyÚ	TextFieldÚdescriptionÚinternal_notesr   ÚAUTH_USER_MODELÚSET_NULLÚownerÚBooleanFieldrN   ÚDateTimeFieldrM   Ú
created_byrO   Ú
created_atrP   rE   rK   rU   r   r   r   r
   r
      sÃ  „ ñô
"�6×%Ñ%ô "ð
 ˆV×Ñ˜v°·±ÈlÔ[€Fð ˆ6×Ñ sÔ+€DØˆ6×Ñ r°¸DÔA€DØˆv×Ñ¨2°TÀÔE€HØˆv×Ñ¨2°x×7GÑ7GÐQY×Q`ÑQ`Ôa€HØ'�v×'Ñ'°1¸DÀtÔLÐà"�&×"Ñ"¨°DÔ9€KØ%�V×%Ñ%¨D°tÔ<€Nð ˆF×ÑØ× Ñ Ø—/‘/ØØØ'ô€Eð $�×#Ñ#¨DÔ1€Ið '�&×&Ñ&¨T¸Ô=€Kð #�×"Ñ"Ø× Ñ Ø—/‘/ØØØ)ô€Jð #�×"Ñ"Ø× Ñ Ø—/‘/ØØØ)ô€Jð &�×%Ñ%°4Ô8€JØ%�×%Ñ%¨tÔ4€J÷ñ ò.ôZr   r
   c                   óô  — e Zd ZdZ G d„ dej
                  «      Z ej                  eej                  d¬«      Z
 ej                  dej                  ej                  ¬«      Z ej                  d¬	«      Z ej                  d
dd¬«      Z ej                  d
dd¬«      Z ej                  ddd¬«      Z ej&                  dd¬«      Z ej                  ddd¬«      Z ej                  ddd¬«      Z ej                  ddd¬«      Z ej0                  dd¬«      Z ej4                  d¬«      ZddgZ ej                  dedd¬«      Z ej                  dddej<                  dd¬«      Z G d„ d«      Z d„ Z!y)ÚDebtoruA   
    DÃ©biteur (personne/entreprise) associÃ© Ã  un dossier.
    c                   ó   — e Zd ZdZdZy)úDebtor.Type)Ú
individualÚParticulier)ÚcompanyÚ
EntrepriseN)r   r   r   Ú
INDIVIDUALÚCOMPANYr   r   r   ÚTyperl   Z   s   „ Ø0ˆ
Ø)‰r   rs   Údebtorsr    é   r,   éÈ   r$   r*   Tr'   r&   r0   éÿ   éx   é   r6   ©r<   r   )Úcustomer_portalzCustomer Portalé   r<   ©r%   r-   r.   Údb_indexúcustomers.CustomerÚportal_debtors)r)   r(   r!   r"   r~   c                   ó   — e Zd ZdgZy)úDebtor.MetaÚ	full_nameN©r   r   r   rD   r   r   r   rE   r‚   …   s	   „ Ø�=‰r   rE   c                 ó   — | j                   S rV   )rƒ   rI   s    r   rK   zDebtor.__str__ˆ   s   € Ø�~‰~Ðr   N)"r   r   r   rW   r   rX   rs   rY   r   rZ   r<   r[   r-   rq   Útyperƒ   Únational_idÚtax_idÚphoneÚ
EmailFieldÚemailÚaddressÚcityÚcountryÚ	JSONFieldÚmetadatarf   rh   ÚCREATED_VIA_CHOICESÚcreated_viarc   Úsource_customerrE   rK   r   r   r   rj   rj   U   s�  „ ñô*ˆv×!Ñ!ô *ð ˆV×Ñ˜v°·±ÈiÔX€FØˆ6×Ñ r°4·<±<ÈÏÉÔY€Dð !�× Ñ ¨CÔ0€IØ"�&×"Ñ"¨b¸À4ÔH€KØˆV×Ñ¨°4¸dÔC€Fð ˆF×Ñ¨°$¸TÔB€EØˆF×Ñ D¨tÔ4€EØˆf×Ñ¨#°TÀÔE€GØˆ6×Ñ s°$¸TÔB€DØˆf×Ñ¨!°4¸dÔC€Gàˆv×Ñ d°Ô6€HØ%�×%Ñ%°4Ô8€Jð 	Ø.ðÐð
 #�&×"Ñ"ØØ#ØØô	€Kð (�f×'Ñ'ØØØØ—/‘/Ø%Øô€O÷!ñ !ór   rj   c                   óÄ  — e Zd Z G d„ dej                  «      Z G d„ dej                  «      Z G d„ dej                  «      Z ej                  e	ej                  d¬«      Z ej                  eej                  d	¬«      Z ej                  eej                   d
d
d¬«      Z ej                  eej                   d
d
d¬«      Z ej                  eej                  d¬«      Z ej,                  d¬«      Z ej,                  d¬«      Z ej,                  dej2                  ej4                  ¬«      Z ej,                  dej2                  ej8                  ¬«      Z ej,                  dd
d
¬«      Z ej>                  ddd¬«      Z  ej>                  ddd¬«      Z! ejD                  d
d
¬«      Z# ejH                  d
¬«      Z% ejH                  d
d
¬«      Z& ej                  e'jP                  ej                   d
d
d¬«      Z) ej                  e'jP                  ej                   d
d
d¬«      Z* ej                  e'jP                  ej                   d
d
d¬«      Z+ ej,                  dej2                  ejX                  ¬«      Z- ej\                  d
¬«      Z/ ej\                  d
¬«      Z0 ej\                  d¬«      Z1 ejd                  d
d
¬«      Z3 G d „ d!«      Z4e5d"„ «       Z6d#„ Z7y$)%ÚCasec                   ó   — e Zd ZdZdZdZdZy)úCase.Status)ÚopenÚOuvert)Úin_progresszEn cours)Úon_holdz
En attente)Úclosedu	   ClÃ´turÃ©N)r   r   r   ÚOPENÚIN_PROGRESSÚON_HOLDÚCLOSEDr   r   r   ÚStatusr—   �   s   „ ØˆØ/ˆØ)ˆØ&‰r   r¡   c                   ó   — e Zd ZdZdZdZdZy)úCase.Priorityr   r   r   )ÚurgentÚUrgenteN)r   r   r   r   r   r   ÚURGENTr   r   r   r   r£   “   s   „ ØˆØ$ˆØ!ˆØ$‰r   r   c                   ó   — e Zd ZdZdZy)úCase.CreatedSourcerz   ©Úcustomerr   N)r   r   r   ÚTENANTÚCUSTOMERr   r   r   ÚCreatedSourcer¨   š   s   „ Ø#ˆØ)‰r   r­   Úcasesr    Ú	cases_cusTr2   r&   r$   éÜ   é   r,   r+   r/   r'   é   ry   r   )Ú
max_digitsÚdecimal_placesr.   r0   r6   Úassigned_casesÚcustomer_assigned_casesÚcreated_casesru   r3   Fc                   ó   — e Zd ZdZdgZy)ú	Case.Meta)r<   Ú	referenceú-idN)r   r   r   Úunique_togetherrD   r   r   r   rE   r¹   å   s   „ Ø1ˆØ�7‰r   rE   c                 óJ   — | j                   r| j                  S | j                  S )u9   Retourne le crÃ©ancier explicite ou Ã  dÃ©faut le client.)Úcreditor_idÚcreditorrª   rI   s    r   Úeffective_creditorzCase.effective_creditoré   s   € ð !%× 0Ò 0ˆt�}‰}ÐC°d·m±mÐCr   c                 ó8   — | j                   › d| j                  › �S )Nz - )rº   ÚtitlerI   s    r   rK   zCase.__str__î   s   € Ø—.‘.Ð!  T§Z¡Z LÐ1Ð1r   N)8r   r   r   r   rX   r¡   r   r­   rY   r   rZ   r<   r   ÚPROTECTrª   r   rc   r¿   r
   Ú	portfoliorj   Údebtorr[   rº   rÂ   r-   r�   Ústatusr   r]   ÚcurrencyÚDecimalFieldÚoriginal_amountÚbalance_amountÚ	DateFieldÚdue_daterf   Ú	opened_atÚ	closed_atr   rb   Úassigned_toÚcustomer_assigned_torg   r«   Úcreated_sourcere   Únotify_customerÚnotify_creditorÚnotify_debtorr�   r�   rE   ÚpropertyrÀ   rK   r   r   r   r•   r•   Œ   sÙ  „ ô'�×#Ñ#ô 'ô%�6×%Ñ%ô %ô*˜×*Ñ*ô *ð ˆV×Ñ˜v°·±ÈgÔV€Fð !ˆv× Ñ  °V·^±^ÐR]Ô^€Hð !ˆv× Ñ ØØ—/‘/ØØØô€Hð "�×!Ñ! )°v·±ÈTÐY]ÐlsÔt€IØˆV×Ñ˜v°·±ÈgÔV€Fà �× Ñ ¨BÔ/€IØˆF×Ñ¨Ô,€EàˆV×Ñ¨°V·^±^ÈVÏ[É[ÔY€FØˆv×Ñ¨2°x×7GÑ7GÐQY×Q`ÑQ`Ôa€Hàˆv×Ñ¨1°D¸tÔD€HØ)�f×)Ñ)°RÈÐSTÔU€OØ(�V×(Ñ(°BÀqÐRSÔT€Nàˆv×Ñ d°Ô6€HØ$�×$Ñ$°$Ô7€IØ$�×$Ñ$¨4°dÔ;€Ið $�&×#Ñ#Ø× Ñ Ø—/‘/ØØØ%ô€Kð -˜6×,Ñ,Ø× Ñ Ø—/‘/ØØØ.ôÐð #�×"Ñ"Ø× Ñ Ø—/‘/ØØØ$ô€Jð &�V×%Ñ%ØØ×%Ñ%Ø×$Ñ$ô€Nð *�f×)Ñ)°$Ô7€OØ)�f×)Ñ)°$Ô7€OØ'�F×'Ñ'°Ô6€Màˆv×Ñ d°Ô6€H÷ñ ð ñDó ðDó2r   r•   c                   ó´   — e Zd ZdZ ej
                  eej                  d¬«      Z ej                  d¬«      Z
 ej                  d¬«      Z G d„ d	«      Zd
„ Zy)ÚCaseSequenceuQ   Compteur sÃ©quentiel de rÃ©fÃ©rences dossier par tenant et par pÃ©riode (YYYYMM).Úcase_sequencesr    é   r$   r   r3   c                   ó   — e Zd ZdZy)úCaseSequence.Meta)r<   ÚperiodN)r   r   r   r¼   r   r   r   rE   rÛ   ø   s   „ Ø.‰r   rE   c                 óR   — | j                   › d| j                  › d| j                  › �S )Nu    â€” u    â†’ )r<   rÜ   Úlast_numberrI   s    r   rK   zCaseSequence.__str__û   s(   € Ø—+‘+�˜e D§K¡K =°°d×6FÑ6FÐ5GÐHÐHr   N)r   r   r   rW   r   rY   r   rZ   r<   r[   rÜ   ÚPositiveIntegerFieldrÞ   rE   rK   r   r   r   r×   r×   ò   sT   „ Ù[ØˆV×Ñ˜v°·±ÐN^Ô_€FØˆV×Ñ¨Ô+€FØ-�&×-Ñ-°aÔ8€K÷/ñ /óIr   r×   c                   ó&  — e Zd Z ej                  eej                  d¬«      Z ej                  ej                  ej                  dd¬«      Z ej                  «       Z ej                  d¬«      Z ej                  d¬«      Z G d„ d«      Zd	„ Zy
)ÚCaseNoteÚnotesr    T©r!   r)   r(   r6   r8   c                   ó   — e Zd ZdgZy)úCaseNote.MetaÚidNr„   r   r   r   rE   rå     s	   „ Ø�6‰r   rE   c                 ó:   — d| j                   › d| j                  › �S )NzNote #z on )ræ   ÚcaserI   s    r   rK   zCaseNote.__str__	  s   € Ø˜Ÿ™�y  T§Y¡Y KÐ0Ð0r   N)r   r   r   r   rY   r•   rZ   rè   r   rb   rc   Úauthorr_   Úbodyrf   rh   rP   rE   rK   r   r   r   rá   rá   ÿ   sƒ   „ Øˆ6×Ñ˜T¨V¯^©^È'ÔR€DØˆV×Ñ˜x×7Ñ7À6Ç?Á?ÐY]ÐeiÔj€FØˆ6×ÑÓ€DØ%�×%Ñ%°4Ô8€JØ%�×%Ñ%¨tÔ4€J÷ñ ó1r   rá   c                   óä  — e Zd Z G d„ dej                  «      Z ej                  eej                  d¬«      Z	 ej                  e
ej                  d¬«      Z ej                  ej                  ej                  dd¬«      Z ej"                  d¬	«      Z ej"                  d
ej&                  ej(                  ¬«      Z ej,                  d¬«      Z ej0                  d¬«      Z G d„ d«      Zd„ Zy)ÚCaseDocumentc                   ó    — e Zd ZdZdZdZdZdZy)úCaseDocument.DocType)ÚcontractÚContrat)ÚinvoiceÚFacture)ÚletterÚCourrier)ræ   u   PiÃ¨ce d'identitÃ©)ÚotherÚAutreN)r   r   r   ÚCONTRACTÚINVOICEÚLETTERÚIDÚOTHERr   r   r   ÚDocTyperî     s   „ Ø(ˆØ&ˆØ%ˆØ'ˆØ ‰r   rü   r®   r    Ú	documentsTrã   r°   r$   é   r,   zcases/documents/©Ú	upload_tor6   c                   ó   — e Zd ZdgZy)úCaseDocument.Metar»   Nr„   r   r   r   rE   r    ó	   „ Ø�7‰r   rE   c                 óN   — | j                   › d| j                  j                  › d�S rG   )rÂ   rè   rº   rI   s    r   rK   zCaseDocument.__str__"  s$   € Ø—*‘*�˜R §	¡	× 3Ñ 3Ð4°AÐ6Ð6r   N)r   r   r   r   rX   rü   rY   r   rÃ   rª   r•   rZ   rè   r   rb   rc   Úuploaded_byr[   rÂ   r-   rû   Údoc_typeÚ	FileFieldÚfilerf   rh   rE   rK   r   r   r   rì   rì     sÖ   „ ô!�&×$Ñ$ô !ð !ˆv× Ñ  °V·^±^ÐRYÔZ€HØˆ6×Ñ˜T¨V¯^©^È+ÔV€DØ#�&×#Ñ# H×$<Ñ$<ÈÏÉÐ^bÐjnÔo€KàˆF×Ñ¨Ô,€EØˆv×Ñ¨2°w·±ÐPW×P]ÑP]Ô^€Hàˆ6×ÑÐ&8Ô9€DØ%�×%Ñ%°4Ô8€J÷ñ ó7r   rì   c                   ó  — e Zd ZdZ G d„ dej
                  «      Z ej                  dej                  d¬«      Z	 ej                  dej                  d¬«      Z ej                  ej                  ej                  d	d	¬
«      Z ej                   dddgd	¬«      Z ej$                  «       Z ej                   dej(                  ej*                  d	¬«      Z ej.                  dd	¬«      Z ej2                  d	¬«      Z G d„ d«      Zd„ Zy)ÚCaseMessageu@   
    Messages partagÃ©s Client <-> Tenant autour d'un Case.
    c                   ó   — e Zd ZdZdZy)úCaseMessage.Visibility)ÚsharedzShared (Client & Tenant))ÚinternalzInternal (Tenant only)N)r   r   r   ÚSHAREDÚINTERNALr   r   r   Ú
Visibilityr  *  s   „ Ø5ˆØ7‰r   r  ú
cases.CaseÚmessagesr    r   Úcase_messagesTrã   ru   r©   rz   )r%   r-   r~   r}   F)r.   r~   r6   c                   óŽ   — e Zd ZdgZ ej
                  ddg¬«       ej
                  ddg¬«       ej
                  ddg¬«      gZy)úCaseMessage.Metar»   rª   ©r?   rè   Ú
visibilityN©r   r   r   rD   r   ÚIndexÚindexesr   r   r   rE   r  =  sH   „ Ø�7ˆàˆF�L‰L ¨UÐ 3Ô4ØˆF�L‰L ¨ Ô0ØˆF�L‰L ¨uÐ 5Ô6ð
‰r   rE   c                 óT   — d| j                   › d| j                  › d| j                  › �S )NzMsg#ú case=z side=)ræ   Úcase_idÚauthor_siderI   s    r   rK   zCaseMessage.__str__E  s*   € Ø�d—g‘g�Y˜f T§\¡\ N°&¸×9IÑ9IÐ8JÐKÐKr   N)r   r   r   rW   r   rX   r  rY   rZ   rè   rÃ   rª   r   rb   rc   ré   r[   r  r_   rê   r-   r  r  re   Úaction_requiredrf   rh   rE   rK   r   r   r   r
  r
  &  s  „ ñô8�V×'Ñ'ô 8ð ˆ6×Ñ˜\°V·^±^ÐR\Ô]€DØ ˆv× Ñ Ð!5ÀÇÁÐ^mÔn€HàˆV×Ñ˜x×7Ñ7À6Ç?Á?ÐY]ÐeiÔj€FØ"�&×"Ñ"¨bÐ;SÐUiÐ:jÐuyÔz€Kàˆ6×ÑÓ€Dà!�×!Ñ!¨R¸×9KÑ9KÐU_×UfÑUfÐquÔv€Jð *�f×)Ñ)°%À$ÔG€Oà%�×%Ñ%°4Ô8€J÷
ñ 
óLr   r
  c                   ó*  — e Zd Z ej                  eej                  d¬«      Z ej                  d¬«      Z	 ej                  ddd¬«      Z ej                  ddd¬«      Z ej                  d	¬
«      Z ej                  d¬«      Z G d„ d«      Zd„ Zy)ÚCaseMessageAttachmentÚattachmentsr    zcases/messages/rÿ   rw   Tr'   rx   r   r3   r6   c                   ó   — e Zd ZdgZy)úCaseMessageAttachment.Metar»   Nr„   r   r   r   rE   r%  Q  r  r   rE   c                 ó<   — | j                   xs d| j                  › �S )NzAttachment#)Úfilenameræ   rI   s    r   rK   zCaseMessageAttachment.__str__T  s   € Ø�}‰}Ò7 +¨d¯g©g¨YÐ 7Ð7r   N)r   r   r   r   rY   r
  rZ   Úmessager  r  r[   r'  Úcontent_typerß   Úsizerf   rh   rE   rK   r   r   r   r"  r"  I  s�   „ Øˆf×Ñ °v·~±~ÐTaÔb€GØˆ6×ÑÐ&7Ô8€DØˆv×Ñ¨3°dÀÔF€HØ#�6×#Ñ#¨s¸$ÀTÔJ€LØ&ˆ6×&Ñ&¨qÔ1€DØ%�×%Ñ%°4Ô8€J÷ñ ó8r   r"  c                   óØ   — e Zd ZdZ ej
                  eej                  d¬«      Z ej
                  e	j                  ej                  ¬«      Z ej                  d¬«      Z G d„ d«      Zy	)
ÚCaseMessageReadu3   
    Tracking "lu" pour un utilisateur donnÃ©.
    Úreadsr    )r!   Tr6   c                   ód   — e Zd ZdZ ej
                  ddg¬«       ej
                  ddg¬«      gZy)úCaseMessageRead.Meta)r(  Úuserr0  z-read_atr  r(  N)r   r   r   r¼   r   r  r  r   r   r   rE   r/  `  s4   „ Ø-ˆàˆF�L‰L ¨Ð 4Ô5ØˆF�L‰L ¨FÐ 3Ô4ð
‰r   rE   N)r   r   r   rW   r   rY   r
  rZ   r(  r   rb   r0  rf   Úread_atrE   r   r   r   r,  r,  X  s^   „ ñð  ˆf×Ñ °v·~±~ÐT[Ô\€GØˆ6×Ñ˜X×5Ñ5ÀÇÁÔP€DØ"ˆf×"Ñ"°Ô5€G÷
ò 
r   r,  c                   óh  — e Zd ZdZddgZddgZ ej                  dej                  d¬«      Z	 ej                  e
j                  ej                  d	d	d
¬«      Z ej                  dddgd¬«      Z ej                  dd	¬«      Z ej                  ded¬«      Z ej                  dedd	¬«      Z ej&                  d	¬«      Z ej&                  d	d	¬«      Z ej,                  d	d¬«      Z ej,                  d	d¬«      Z ej2                  ed	¬«      Z ej2                  ed	¬«      Z G d„ d«      Zd„ Zy) ÚCaseCallu�   
    Session d'appel audio/vidÃ©o sur un dossier.
    Signaling WebRTC natif : offer/answer SDP + ICE candidates Ã©changÃ©s via polling.
    )ÚaudioÚAudio)Úvideou   VidÃ©o)ÚactiveÚActif)Úendedu   TerminÃ©r  Úcallsr    TÚinitiated_callsr2   ru   rz   r©   r<   r,   r*   )r%   Úuniquer+   r6  r7  r}   r6   )r)   r(   Ú )r(   r.   )r.   r(   c                   ó>   — e Zd ZdgZ ej
                  ddg¬«      gZy)úCaseCall.Metaz-created_atrè   rÆ   r  Nr  r   r   r   rE   r?  „  s!   „ Ø!�?ˆØ�6—<‘<¨°Ð'9Ô:Ð;‰r   rE   c                 ón   — d| j                   › d| j                  › d| j                  › d| j                  › �S )NzCall#r  ú )ræ   r  Ú	call_typerÆ   rI   s    r   rK   zCaseCall.__str__ˆ  s2   € Ø�t—w‘w�i˜v d§l¡l ^°1°T·^±^Ð4DÀAÀdÇkÁkÀ]ÐSÐSr   N)r   r   r   rW   Ú	CALL_TYPEÚSTATUSr   rY   rZ   rè   r   rb   rc   Ú	initiatorr[   Úinitiator_sideÚ	room_namerB  rÆ   rf   rh   Úended_atr_   Ú	offer_sdpÚ
answer_sdpr�   ÚlistÚice_initiatorÚice_peerrE   rK   r   r   r   r3  r3  h  sT  „ ñð $Ð%8Ð9€IØ$Ð&;Ð<€Fà(�v×(Ñ(¨ÀÇÁÐ^eÔf€DØ(�v×(Ñ(Ø× Ñ ¨F¯O©OØ˜Ð,=ô€Ið (�v×'Ñ'ØÐ 4Ð6NÐOÐYaô€Nð (�v×'Ñ'°2¸dÔC€IØ'�v×'Ñ'°2¸yÐRYÔZ€IØ'�v×'Ñ'°2¸vÈxÐbfÔg€FØ+�v×+Ñ+¸Ô>€JØ+�v×+Ñ+°¸TÔB€Hð (�v×'Ñ'¨d¸BÔ?€IØ'�v×'Ñ'¨d¸BÔ?€JØ'�v×'Ñ'°¸DÔA€MØ'�v×'Ñ'°¸DÔA€H÷<ñ <óTr   r3  N)Údjango.confr   Ú	django.dbr   Údjango.utilsr   Úcustomers.modelsr   r   Útenancy.modelsr   ÚModelr
   rj   r•   r×   rá   rì   r
  r"  r,  r3  r   r   r   ú<module>rT     sÆ   ðõ !Ý Ý !ç /Ý !ôGZ�—‘ô GZôT4ˆV�\‰\ô 4ônc2ˆ6�<‰<ô c2ôL
I�6—<‘<ô 
Iô1ˆv�|‰|ô 1ô7�6—<‘<ô 7ô2 L�&—,‘,ô  LôF8˜FŸL™Lô 8ô
�f—l‘lô 
ô !Tˆv�|‰|õ !Tr   