B
    ebq
                 @   s   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 d dlmZ d dlmZ d d	lmZmZ G d
d deZeejeddd ZdS )    )models)Q)gettext_lazy)	BaseModel)Employee)signals)receiver)AdminRuntimeWarning)MinValueValidatorMaxValueValidatorc                   s   e Zd ZejeedejdZej	edddZ
ejedededgd	Zejed
ededgd	ZejeddeddZejeddZejeddZd fdd	Zdd ZG dd dZ  ZS )GPSForEmployeeZgpsForEmployee_field_employee)verbose_nameZ	on_deleteZgpsForEmployee_field_location   )r   Z
max_lengthZgpsForEmployee_field_longitudeg     fg     f@)r   Z
validatorsZgpsForEmployee_field_latitudeg     Vg     V@ZgpsForEmployee_field_distance2   Z$gpsForEmployee_field_distanceHelpTxt)r   defaultZ	help_textZgpsForEmployee_field_startDate)r   ZgpsForEmployee_field_endDateFNc                sx   | j }tjj|dt| jdt| jdB }| jrB|j| jd}|	 r^t
djtddtt| |||| d S )N)employee)Zstart_date__gt)Zend_date__lt)pkz{error}Z gpsForEmployee_error_dateOverlap)error)r   r   ZobjectsfilterZexcluder   end_date
start_dater   countr	   format_supersave)selfZforce_insertZforce_updateZusingZupdate_fieldsZempZobjs)	__class__ ?G:\easytimepro\master/mysite/mobile\models\model_employeegps.pyr      s    zGPSForEmployee.savec             C   s   |   S )N)__hash__)r   r   r   r   hash(   s    zGPSForEmployee.hashc               @   s    e Zd ZdZedZeZdZdS )zGPSForEmployee.MetamobileZmobile_model_gpsForEmployee)deleteZchangeviewN)__name__
__module____qualname__Z	app_labelr   r   Zverbose_name_pluralZdefault_permissionsr   r   r   r   Meta+   s   r(   )FFNN)r%   r&   r'   r   Z
ForeignKeyr   r   ZCASCADEr   Z	CharFieldlocationZ
FloatFieldr
   r   Z	longitudeZlatitudeZIntegerFieldZdistanceZ	DateFieldr   r   r   r!   r(   __classcell__r   r   )r   r   r      s   

 
r   )senderc             K   s,   | dd }|r(ddlm} |j| d S )Ninstancer   )tasks)getZmysite.mobiler-   Zdelete_employee_gpsZdelay)signalr+   kwargsr,   r-   r   r   r   delete_singal_receiver2   s    r1   N)Z	django.dbr   Zdjango.db.modelsr   Zdjango.utils.translationr   r   Zmysite.admin.modelsr   Zmysite.personnel.modelsr   r   Zdjango.dispatch.dispatcherr   Zmysite.admin.exceptionsr	   Zdjango.core.validatorsr
   r   r   Zpost_deleter1   r   r   r   r   <module>   s   !