o
    "@h                     @   sp   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 dejZG d	d
 d
ejZdS )    )models)category)Location)reverse)gettext_lazy)format_htmlc                
   @   s  e Zd ZejedddZejeddddZej	edddZ
d	ed
fdedfgZejedded	dZeedZejeedejdZejedddddZejedddZejedddZejedddZejeedejdZejeddddZejedddZejedd d!Zejed"d#d!Zejed$d#d!Zej ed%d&d!Z!ej ed'dd!Z"ej ed(d&d!Z#ej ed)d&d!Z$d*ed+fd,ed-fd.ed/fd0ed1fd2ed3fd4ed5fd6ed7fd8ed9ffZ%ej&ed:e'dd;Z(d<ed=fd>ed?fd@edAfdBedCfdDedEffZ)ej&edFe'dd;Z*dGedHfdIedJfdKedLffZ+ej&edMe'dd;Z,ejedNddZ-ejedOddZ.ej	edPddZ/dQdR Z0dSdT Z1dUdV Z2dWdX Z3G dYdZ dZZ4d[d\ Z5d]S )^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                 C   s   t d| jj| jgdS )Nproperty_detail)args)r   r   r   self r?   8/var/www/html/tuespacioelite.com/public/agency/models.pyget_urlU   s   zProperty.get_urlc                       t | j  fdd| jD S )u7   Retorna las características con sus valores traducidosc                       g | ]}  ||qS r?   get).0featurefeatures_dictr?   r@   
<listcomp>]       z1Property.get_features_display.<locals>.<listcomp>)dictFEATURESfeaturesr=   r?   rH   r@   get_features_displayZ      
zProperty.get_features_displayc                    rB   )z0Retorna los servicios con sus valores traducidosc                    rC   r?   rD   )rF   serviceservices_dictr?   r@   rJ   b   rK   z1Property.get_services_display.<locals>.<listcomp>)rL   SERVICESservicesr=   r?   rR   r@   get_services_display_   rP   zProperty.get_services_displayc                    rB   )z-Retorna las reglas con sus valores traducidosc                    rC   r?   rD   )rF   rule
rules_dictr?   r@   rJ   g   rK   z.Property.get_rules_display.<locals>.<listcomp>)rL   RULESrulesr=   r?   rX   r@   get_rules_displayd   rP   zProperty.get_rules_displayc                   @   s$   e Zd ZedZedZddgZdS )zProperty.Meta	propiedadpropiedadesz-is_featuredz-created_dateN__name__
__module____qualname___r   verbose_name_pluralorderingr?   r?   r?   r@   Metai   s    rf   c                 C   s   | j  d| j S )Nz - )property_namelocationr=   r?   r?   r@   __str__n   s   zProperty.__str__N)6r`   ra   rb   r   	CharFieldrc   rg   	SlugFieldr   	TextFielddescriptionPURPOSE_CHOICESpurposeIntegerFieldprice
ForeignKeyr   CASCADE
ImageField
main_imageDateTimeFieldcreated_datemodified_dateaddressr   rh   floorURLFieldmaps_urlareabedrooms	bathroomsBooleanFieldis_furnishedis_availableis_featuredis_verifiedrM   	JSONFieldlistrN   rT   rU   rZ   r[   	video_urlvirtual_tour_urlnotesrA   rO   rV   r\   rf   ri   r?   r?   r?   r@   r      sx    


















r   c                   @   sx   e Zd ZejedejdZeje	dddZ
eje	dddZeje	d	d
dZG dd dZdd Zdd Zde_dS )PropertyGalleryimages)related_namer   imagenzproperty_images/)r   	destacadaFr   ordenr   c                   @   s"   e Zd ZedZedZdgZdS )zPropertyGallery.Metazimagen de propiedadu   imágenes de propiedadorderNr_   r?   r?   r?   r@   rf   x   s    
rf   c                 C   s   d| j j S )Nz
Imagen de )propertyrg   r=   r?   r?   r@   ri   }      zPropertyGallery.__str__c                 C   s   t d| jjS )Nz'<img src="{}" width="50" height="50" />)r   imageurlr=   r?   r?   r@   image_thumbnail   r   zPropertyGallery.image_thumbnail	MiniaturaN)r`   ra   rb   r   rr   r   rs   r   rt   rc   r   r   r   PositiveIntegerFieldr   rf   ri   r   short_descriptionr?   r?   r?   r@   r   r   s    
r   N)	django.dbr   category.modelsr   location.modelsr   django.urlsr   django.utils.translationr   rc   django.utils.htmlr   Modelr   r   r?   r?   r?   r@   <module>   s    j