B
    ͜kc1                 @   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
 G dd deZdS )	    )models)gettext_lazy)	BaseModel)Employee)MinValueValidatorc                   s   e Zd ZejeedejdZej	ddddZ
eedZejedded	ged
dZejedddZejedddddZdddZdd Zd fdd	Zd fdd	ZG dd dZ  ZS ) PrivateMessageZprivateMessage_field_employee)verbose_nameZ	on_delete$   T)
max_lengthblanknullZprivateMessage_field_startTimeZprivateMessage_field_duration<      Zminutes)defaultZ
validatorsZ	help_textZprivateMessage_field_contenti@  )r
   ZprivateMessage_field_lastSendF)r   r   Zeditablec       	      C   s   ddl m} ddlm} | js"d S dj| j | jd d d}|g}|rJ|j	j
| jj djdd	d
}x$|D ]}x|D ]}||| qzW qpW d S )Nr   )save_cmd)Terminalz(DATA DELETE USER_SMS PIN={pin}	UID={uid}i N  )pinuid)area__inidT)flat)mysite.utilsr   mysite.iclock.modelsr   contentformatemployeer   r   objectsfilterareaallvalues_list)	selfZverifyr   r   cmd4userZcmdsdevicesdevicecmd r&   CG:\easytimepro\master/mysite/iclock\models\model_private_message.pydelete_from_device   s     

z!PrivateMessage.delete_from_devicec             C   s   dd l }ddlm} ddlm} | js*d S d| jp4dd d d| jd d | j| jf }d	j	| j
 | jd d d
}|jj| j
j djddd}x |D ]}||| ||| qW |j  | _| jdd d S )Nr   )r   )r   z8DATA UPDATE SMS MSG=%s	TAG=%s	UID=%s	MIN=%s	StartTime=%s i@  Z254i N  z(DATA UPDATE USER_SMS PIN={pin}	UID={uid})r   r   )r   r   T)r   )	last_send)update_fields)datetimer   r   r   r   r   r   duration
start_timer   r   r   r   r   r   r   r    Znowr*   save)r!   r,   r   r   Zcmd4devr"   r#   r$   r&   r&   r'   sync2device$   s    , 

zPrivateMessage.sync2deviceNc                s.   t t| |||| |r"d|kr*|   d S )Nr*   )superr   r/   r0   )r!   Zforce_insertZforce_updateusingr+   )	__class__r&   r'   r/   4   s    zPrivateMessage.savec                s   |    tt| || d S )N)r(   r1   r   delete)r!   r2   Zkeep_parents)r3   r&   r'   r4   :   s    zPrivateMessage.deletec               @   s    e Zd ZdZedZeZdZdS )zPrivateMessage.MetaZiclockZiclock_model_privateMessage)r4   ZchangeviewN)__name__
__module____qualname__Z	app_label_r   Zverbose_name_pluralZdefault_permissionsr&   r&   r&   r'   Meta>   s   r:   )T)FFNN)NF)r6   r7   r8   r   Z
ForeignKeyr   r9   ZCASCADEr   Z	CharFieldr   ZDateTimeFieldr.   ZIntegerFieldr   r-   Z	TextFieldr   r*   r(   r0   r/   r4   r:   __classcell__r&   r&   )r3   r'   r      s   
 r   N)Z	django.dbr   Zdjango.utils.translationr   r9   Zmysite.admin.modelsr   Zmysite.personnel.modelsr   Zdjango.core.validatorsr   r   r&   r&   r&   r'   <module>   s
   