
    oi                     n    d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 ddl
mZ d Z eee	      d	        Zy
)    )	timedelta)	post_save
pre_deletepost_delete)receiver)Booking   )Ratec                 v    || z
  }t        |j                        D cg c]  }| t        |      z    c}S c c}w )z9Return a list of dates between start and end (inclusive).)days)ranger   r   )
start_dateend_datedeltais       /backend/rates/signals.pyget_dates_in_ranger   	   s9    z!E49%**4EF4EqJ**4EFFFs   6)senderc                     |j                   syt        j                  j                  |      }|D ]   }d|_        d|_        |j                          " y)zP
    When a booking is deleted, clear the booking_ref and unbook the rates.
    N)booking_refF)propertyr
   objectsfilterr   	is_bookedsave)r   instancekwargsratesrates        r   remove_rates_for_bookingr    %   sI    
 LLH5E		     N)datetimer   django.db.models.signalsr   r   r   django.dispatchr   bookings.modelsr   modelsr
   r   r     r!   r   <module>r(      s8     G G $ # G8 
*W% &r!   