B
    b                 @   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	m
Z
 d dlmZ d dlmZ d dlm	Z eeG d	d
 d
ejZdS )    )cache)gettext_lazy)admin)models_choices)actionsforms)AccTerminal)ActionTuple)r   c                   s   e Zd ZejZdd Zede_dd Z	ede	_dd Z
ed	e
_d
d Zede_ejejejgZdZdZdZeedejffZdd ZdddZ fddZdd Z  ZS )AccTerminalAdminc             C   s   |j jS )N)terminalZsn)selfobj r   <G:\easytimepro\master/mysite/acc\admin\acc_terminal_admin.pyterminal_sn   s    zAccTerminalAdmin.terminal_snZterminal_field_snc             C   s   |j jS )N)r   alias)r   r   r   r   r   terminal_name   s    zAccTerminalAdmin.terminal_nameZterminal_field_aliasc             C   s@   ddl m} ddlm} |j }|jdd|i  }|d||S )Nr   )settings)format_htmlzimg/icons/state%(state)s.gifstatez<img src="{}" alt="{}" />)Zdjango.confr   Zdjango.utils.htmlr   r   ZgetDynStateZ	MEDIA_URL)r   r   r   r   r   Zicon_urlr   r   r   terminal_state   s
    
zAccTerminalAdmin.terminal_stateZterminal_field_statec             C   s`   |j j jdd }|r\|jr,t|jnd}|rHtj|j	 d }|S tj
|j	 d }|S d S )NBioPhotoFun)Z
param_namer      )r   Zterminalparameter_setallfilterfirstZparam_valueintr   ZDOOR_SENSOR_TYPE_PHOTO_DEVICEZdoor_sensor_typeZDOOR_SENSOR_TYPE)r   r   Zterminal_paramr   Zsensor_type_aliasr   r   r   sensor_type'   s    zAccTerminalAdmin.sensor_typeZ accTerminal_field_doorSensorType)terminal__snZterminal__aliasZterminal__area__area_name)
idr   r   r   Zdoor_lock_delayZdoor_sensor_delayr   Zdoor_alarm_delayZretry_timesZvalid_holiday)r   Zop_menu_group_dataTransferc             C   s   dS )NFr   )r   requestr   r   r   has_add_permissionB   s    z#AccTerminalAdmin.has_add_permissionNc             C   s   dS )NFr   )r   r    r   r   r   r   has_delete_permissionE   s    z&AccTerminalAdmin.has_delete_permissionc                sL   t t| |j|jjd}|jjsH|jj}| rH|j| d	 }|S )N)Zterminal__company_id)Zterminal__area__in)
superr
   get_querysetr   userZcurrent_companyZis_superuserZget_auth_arear   Zdistinct)r   r    ZqsZ	auth_area)	__class__r   r   r$   H   s    zAccTerminalAdmin.get_querysetc             C   s   |j |jd d S )N)Zupdate_fields)ZsaveZchanged_data)r   r    r   formZchangedr   r   r   
save_modelQ   s    zAccTerminalAdmin.save_model)N)__name__
__module____qualname__r   ZAccTerminalCreationFormr'   r   _Zshort_descriptionr   r   r   r   ZOpenDoorZCancelAlarmZSetParameterZlist_filterZlist_displayZorderingr	   accZTerminalReloadDataZaction_setsr!   r"   r$   r(   __classcell__r   r   )r&   r   r
      s&   




	r
   N)Zdjango.core.cacher   Zdjango.utils.translationr   r,   mysiter   Z
mysite.accr   r   r   Zmysite.acc.modelsr   Zmysite.admin.actionr	   r-   registerZZKModelAdminr
   r   r   r   r   <module>   s   