Ë
    @îiñ  ã                   ó„   — d dl Z d dlmZ d dlmZ d dlmZ  G d„ dej                  «      Z G d„ dej                  «      Z	y)	é    N)Úsettings)Úmodels)Úslugifyc                   ó~  ‡ — e Zd Z G d„ dej                  «      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j                  d
dd¬	«      Z ej                  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j                  ddd¬	«      Z ej                  ddd¬	«      Z ej                  ddd¬	«      Z ej                  ddd¬	«      Z ej                  ddd¬	«      Z ej                  dej4                  ej6                  ¬«      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jD                  ddd¬«      Z# ejH                  dd¬«      Z% ej<                  d¬«      Z& ej<                  d¬«      Z'ˆ fd„Z(d„ Z)ˆ xZ*S )ÚTenantc                   ó   — e Zd ZdZdZy)úTenant.Status)ÚactiveÚActive)Ú	suspendedÚ	SuspendedN)Ú__name__Ú
__module__Ú__qualname__ÚACTIVEÚ	SUSPENDED© ó    ú#/var/www/html/acx/tenancy/models.pyÚStatusr	   	   s   „ Ø#ˆØ,‰	r   r   éÈ   T)Ú
max_lengthÚuniqueéÜ   )r   r   Úblankéÿ   )r   r   Únulléx   )r   r   é(   é   é   é@   é
   é   é   ©r   ÚchoicesÚdefaulté2   éP   ztenants/logos/)Ú	upload_tor   r   ©Úauto_now_add©Úauto_nowc                 óN  •— | j                   s‰t        | j                  «      }|}d}t        j                  j                  |¬«      j                  «       r;|› d|› �}|dz  }t        j                  j                  |¬«      j                  «       rŒ;|| _         t        ‰| �   |i |¤Ž y )Nr    )Úslugú-é   )	r1   r   Únamer   ÚobjectsÚfilterÚexistsÚsuperÚsave)ÚselfÚargsÚkwargsÚbaser1   ÚiÚ	__class__s         €r   r9   zTenant.save7   s’   ø€ Ø�yŠyÜ˜4Ÿ9™9Ó%ˆDØˆDØˆAÜ—.‘.×'Ñ'¨TÐ'Ó2×9Ñ9Ô;Ø˜˜q  �}�Ø�Q‘�ô —.‘.×'Ñ'¨TÐ'Ó2×9Ñ9Õ;ð ˆDŒIÜ‰‰�dÐ%˜fÓ%r   c                 ó   — | j                   S )N)r4   ©r:   s    r   Ú__str__zTenant.__str__B   s   € Ø�y‰yÐr   )+r   r   r   r   ÚTextChoicesr   Ú	CharFieldr4   Ú	SlugFieldr1   Ú
legal_nameÚindustryÚcontact_nameÚ
EmailFieldÚemailÚphoneÚURLFieldÚwebsiteÚcountryÚcityÚaddress_line1Úaddress_line2Úpostal_codeÚtimezoneÚlocaleÚcurrencyr'   r   ÚstatusÚplanÚDateTimeFieldÚtrial_ends_atÚtax_idÚregistration_idÚ
ImageFieldÚlogoÚ	JSONFieldÚmetadataÚ
created_atÚ
updated_atr9   rB   Ú__classcell__)r?   s   @r   r   r      sJ  ø„ ô-�×#Ñ#ô -ð
 ˆ6×Ñ s°4Ô8€DØˆ6×Ñ s°4¸tÔD€DØ!�×!Ñ!¨S¸À4ÔH€JØˆv×Ñ¨3°dÀÔF€Hð $�6×#Ñ#¨s¸$ÀTÔJ€LØˆF×Ñ D¨tÔ4€EØˆF×Ñ¨°$¸TÔB€EØˆf�o‰o D¨tÔ4€Gð ˆf×Ñ¨!°4¸dÔC€GØˆ6×Ñ s°$¸TÔB€DØ$�F×$Ñ$°¸4ÀdÔK€MØ$�F×$Ñ$°¸4ÀdÔK€MØ"�&×"Ñ"¨b¸À4ÔH€Kð  ˆv×Ñ¨2°TÀÔE€HØˆV×Ñ¨°4¸dÔC€FØˆv×Ñ¨1°D¸tÔD€Hð ˆV×Ñ¨°V·^±^ÈVÏ]É]Ô[€FØˆ6×Ñ r°¸DÔA€DØ(�F×(Ñ(¨t¸$Ô?€Mð ˆV×Ñ¨°4¸dÔC€FØ&�f×&Ñ&°"¸DÀtÔL€Oð ˆ6×ÑÐ'7¸tÈ$ÔO€Dð  ˆv×Ñ d°Ô6€Hà%�×%Ñ%°4Ô8€JØ%�×%Ñ%¨tÔ4€Jô	&ör   r   c                   óP  — 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                  «       Z ej                  dd¬	«      Z ej$                  d¬
«      Z ej(                  dd¬«      Z ej,                  ej0                  ej2                  ddd¬«      Z ej6                  d¬«      Z ej6                  d¬«      Zedefd„«       Z ede!dz  fd„«       Z"d„ Z# G d„ d«      Z$y)ÚTenantLicenseu5   Licence d'abonnement associÃ©e Ã  un tenant (1-to-1).c                   ó   — e Zd ZdZdZy)úTenantLicense.Plan)ÚannualÚAnnuel)Úlifetimeu   Ã€ vieN)r   r   r   ÚANNUALÚLIFETIMEr   r   r   ÚPlanrf   I   s   „ Ø'ˆØ'‰r   rl   Úlicense)Ú	on_deleteÚrelated_nameé   r&   T)r   r   )r(   Ú )r   r(   Úcreated_licenses)rn   r   r   ro   r,   r.   Úreturnc                 óÔ   — | j                   sy| j                  | j                  j                  k(  ry| j                  €yt
        j                  j                  «       | j                  kD  S )NTF)Ú	is_activerW   rl   rk   Ú
expires_atÚdatetimeÚdateÚtodayrA   s    r   Ú
is_expiredzTenantLicense.is_expired^   sN   € à�~Š~ØØ�9‰9˜Ÿ	™	×*Ñ*Ò*ØØ�?‰?Ð"ØÜ�}‰}×"Ñ"Ó$ t§¡Ñ6Ð6r   Nc                 óä   — | j                   | j                  j                  k(  s| j                  sy | j                  t        j
                  j                  «       z
  j                  }t        d|«      S )Nr   )	rW   rl   rk   rv   rw   rx   ry   ÚdaysÚmax)r:   Údeltas     r   Údays_remainingzTenantLicense.days_remainingh   sN   € à�9‰9˜Ÿ	™	×*Ñ*Ò*°$·/²/ØØ—‘¤8§=¡=×#6Ñ#6Ó#8Ñ8×>Ñ>ˆÜ�1�e‹}Ðr   c                 ó¬   — | j                   r| j                   j                  «       nd}| j                  j                  › d| j	                  «       › d|› d�S )NÚjamaisu    â€” z	 (expire ú))rv   Ú	isoformatÚtenantr4   Úget_plan_display)r:   Úends     r   rB   zTenantLicense.__str__o   sJ   € Ø-1¯_ª_ˆd�o‰o×'Ñ'Ô)À(ˆØ—+‘+×"Ñ"Ð# 5¨×)>Ñ)>Ó)@Ð(AÀÈ3È%ÈqÐQÐQr   c                   ó   — e Zd ZdZdZy)úTenantLicense.MetazLicence tenantzLicences tenantN)r   r   r   Úverbose_nameÚverbose_name_pluralr   r   r   ÚMetarˆ   s   s   „ Ø'ˆØ/Ñr   r‹   )%r   r   r   Ú__doc__r   rC   rl   ÚOneToOneFieldr   ÚCASCADEr„   rD   r'   rj   rW   Ú	DateFieldÚ	starts_atrv   ÚBooleanFieldru   Ú	TextFieldÚnotesÚ
ForeignKeyr   ÚAUTH_USER_MODELÚSET_NULLÚ
created_byrX   r`   ra   ÚpropertyÚboolrz   Úintr   rB   r‹   r   r   r   rd   rd   F   s9  „ Ù?ô(ˆv×!Ñ!ô (ð "ˆV×!Ñ!Ø˜&Ÿ.™.°yô€Fð "�×!Ñ!¨R¸¿¹ÈtÏ{É{Ô[€DØ!�×!Ñ!Ó#€IØ!�×!Ñ! t°4Ô8€JØ$�×$Ñ$¨TÔ2€IØ!�×!Ñ!¨°bÔ9€EØ"�×"Ñ"Ø× Ñ ¨F¯O©OØ˜Ð,>ô€Jð &�×%Ñ%°4Ô8€JØ%�×%Ñ%¨tÔ4€Jð ð7˜Dò 7ó ð7ð ð  d¡
ò ó ðòR÷0ò 0r   rd   )
rw   Údjango.confr   Ú	django.dbr   Údjango.utils.textr   ÚModelr   rd   r   r   r   ú<module>rŸ      s4   ðó Ý  Ý Ý %ô;ˆV�\‰\ô ;ô|/0�F—L‘Lõ /0r   