
    "@h                         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
 d dlmZ  G d dej                        Z G d	 d
ej                        Zy)    )models)category)Location)reverse)gettext_lazy)format_htmlc                      e Zd Z ej                   ed      d      Z ej                   ed      dd      Z ej                   ed      d      Z
d	 ed
      fd ed      fgZ ej                   ed      ded	      Z ej                   ed            Z ej                  e ed      ej"                        Z ej$                   ed      ddd      Z ej(                   ed      d      Z ej(                   ed      d      Z ej                   ed      d      Z ej                  e ed      ej"                        Z ej                   ed      dd      Z ej6                   ed      d      Z ej                   ed      d !      Z ej                   ed"      d#!      Z ej                   ed$      d#!      Z ej@                   ed%      d&!      Z! ej@                   ed'      d!      Z" ej@                   ed(      d&!      Z# ej@                   ed)      d&!      Z$d* ed+      fd, ed-      fd. ed/      fd0 ed1      fd2 ed3      fd4 ed5      fd6 ed7      fd8 ed9      ffZ% ejL                   ed:      e'd;      Z(d< ed=      fd> ed?      fd@ edA      fdB edC      fdD edE      ffZ) ejL                   edF      e'd;      Z*dG edH      fdI edJ      fdK edL      ffZ+ ejL                   edM      e'd;      Z, ej6                   edN      d      Z- ej6                   edO      d      Z. ej                   edP      d      Z/dQ Z0dR Z1dS Z2dT Z3 G dU dV      Z4dW Z5yX)YPropertyznombre de la propiedad   )
max_lengthslugT)r   uniqueu   descripción)blankrentzPara rentarsalezPara venderu   tipo de transacción
   )r   choicesdefaultprecioztipo de propiedad)verbose_name	on_deletezimagen principalzphotos/properties)	upload_tonullr   u   fecha de creación)auto_now_addu   fecha de modificación)auto_nowu   dirección exactazzona/barriopiso)r   r   zURL de Google Mapsu   área (m²)$   r   habitaciones   u   bañosamobladoF
disponible	destacado
verificadobalconyu   Balcón/TerrazapoolPiscinagymGimnasioparkingParqueaderoelevatorAscensorsecurityzSeguridad 24/7	conciergeConserjegreen_areaszZonas verdesu   características)r   r   wifiWiFiaczAire acondicionado	hot_waterzAgua calientecleaningzLimpieza semanalmaintenanceMantenimientozservicios incluidospetszMascotas permitidassmokingzPermitido fumarpartieszFiestas permitidasreglaszURL de videozURL de tour virtualznotas internasc                 \    t        d| j                  j                  | j                  g      S )Nproperty_detail)args)r   r   r   selfs    <C:\Users\User\Documents\GitHub\espacioelite\agency\models.pyget_urlzProperty.get_urlU   s#    (0B0BDII/NOO    c                     t        | j                        }| j                  D cg c]  }|j                  ||       c}S c c}w )u7   Retorna las características con sus valores traducidos)dictFEATURESfeaturesget)rA   features_dictfeatures      rB   get_features_displayzProperty.get_features_displayZ   9    T]]+CG==Q=!!'73=QQQ   A c                     t        | j                        }| j                  D cg c]  }|j                  ||       c}S c c}w )z0Retorna los servicios con sus valores traducidos)rF   SERVICESservicesrI   )rA   services_dictservices      rB   get_services_displayzProperty.get_services_display_   rM   rN   c                     t        | j                        }| j                  D cg c]  }|j                  ||       c}S c c}w )z-Retorna las reglas con sus valores traducidos)rF   RULESrulesrI   )rA   
rules_dictrules      rB   get_rules_displayzProperty.get_rules_displayd   s7    $**%
7;zzBzt
tT*zBBBrN   c                   4    e Zd Z ed      Z ed      ZddgZy)Property.Meta	propiedadpropiedadesz-is_featuredz-created_dateN__name__
__module____qualname___r   verbose_name_pluralordering rD   rB   Metar\   i   s     ~."O4rD   rg   c                 8    | j                    d| j                   S )Nz - )property_namelocationr@   s    rB   __str__zProperty.__str__n   s    $$%S88rD   N)6r`   ra   rb   r   	CharFieldrc   ri   	SlugFieldr   	TextFielddescriptionPURPOSE_CHOICESpurposeIntegerFieldprice
ForeignKeyr   CASCADE
ImageField
main_imageDateTimeFieldcreated_datemodified_dateaddressr   rj   floorURLFieldmaps_urlareabedrooms	bathroomsBooleanFieldis_furnishedis_availableis_featuredis_verifiedrG   	JSONFieldlistrH   rP   rQ   rV   rW   	video_urlvirtual_tour_urlnotesrC   rL   rT   rZ   rg   rk   rf   rD   rB   r
   r
      s   $F$$Q'?%@SQM6AfI#dCD"&""1^#4DAK	=!"	=!"O
 f	
 !	G  F(,E v  :M8NZ`ZhZhiH"""1%7#8DW^bjnoJ'6''*>(?dSL(F((+C)DtTM fq!45#FG v  -8HTZTbTbcHF&	DAEvq!56dCH 6q/<D"v""1^#4a@H###AhK;I&6&&q}eDL '6&&qEL%&%%aneDK%&%%aouEK 
A'()	9	*	Am$%	Qz]#	Q'()	a
m$	.)*	H  v"4 5t4PH 
6	q%&'	a()	Q)*+	/*+H  v"7 8$dSH 
()*	A'()	A*+,E
 FQx[$dCE  . 1>I&vq)>'?tL FQ/0=EP
R
R
C
5 5
9rD   r
   c                      e Zd Z ej                  edej                        Z ej                   e	d      d      Z
 ej                   e	d      d      Z ej                   e	d	      d
      Z G d d      Zd Zd Zde_        y)PropertyGalleryimages)related_namer   imagenzproperty_images/)r   	destacadaFr   ordenr   c                   2    e Zd Z ed      Z ed      ZdgZy)PropertyGallery.Metazimagen de propiedadu   imágenes de propiedadorderNr_   rf   rD   rB   rg   r   x   s     ./ 899rD   rg   c                 4    d| j                   j                   S )Nz
Imagen de )propertyri   r@   s    rB   rk   zPropertyGallery.__str__}   s    DMM77899rD   c                 B    t        d| j                  j                        S )Nz'<img src="{}" width="50" height="50" />)r   imageurlr@   s    rB   image_thumbnailzPropertyGallery.image_thumbnail   s    DdjjnnUUrD   	MiniaturaN)r`   ra   rb   r   rt   r
   ru   r   rv   rc   r   r   r   PositiveIntegerFieldr   rg   rk   r   short_descriptionrf   rD   rB   r   r   r   s     v  FNN[HFak5GHE%&%%aneDK'F'''
A>E 
:V(3O%rD   r   N)	django.dbr   category.modelsr   location.modelsr   django.urlsr   django.utils.translationr   rc   django.utils.htmlr   Modelr
   r   rf   rD   rB   <module>r      s:     $ $  6 )g9v|| g9T4fll 4rD   