B
    c                 @   sl   d dl 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mZ eeG dd dejZdS )	    N)gettext_lazy)admin)TimeInterval)NormalTimeIntervalFormFlexibleTimeIntervalForm)actionsmodels_choicesc                   s   e Zd Zdd Zede_dd Zede_dd Zede_d	Zd
Z	e
ZejejfZdZddiZdd Z fddZd fdd	Zd fdd	Z  ZS )TimeIntervalAdminc             C   sr   t  ddd|jj|jj|jj}|t j|jd }| |  j}|dkr`dj	|
d|dS dj	|
dd	S )
Ni     )minutesr   z{out}<sup>+{days}</sup>z%H:%M:%S)outdaysz{out})r   )datetimein_timehourminutesecond	timedeltadurationdater   formatstrftime)selfobjcheck_in	check_outr    r   <G:\easytimepro\master/mysite/att\admin\timeinterval_admin.pyr      s     zTimeIntervalAdmin.check_outZtimeInterval_field_checkOutc             C   sr   t  ddd|jj|jj|jj}|t j|jd }| |  j}|dkr`dj	|
d|dS dj	|
dd	S )
Ni  r
   )r   r   z{out}+{days}z%H:%M:%S)r   r   z{out})r   )r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   check_out_export   s     z"TimeIntervalAdmin.check_out_exportc             C   s   t |j jdddS )Nr   T)Zflat)sumZ
break_timeallZvalues_list)r   r   r   r   r   break_time_duration$   s    z%TimeIntervalAdmin.break_time_durationZtimeInterval_field_breakTime)idaliasuse_moder   r   Zwork_time_durationr!   Zwork_day	work_typeZfirst_half_out_timeZsecond_half_in_time)r#   r$   r%   )z-idr   r   c             C   s   dS )NFr   )r   requestr   r   r   has_add_permission5   s    z$TimeIntervalAdmin.has_add_permissionc                s*   |j  }tt| |j|j jd}|S )N)Z
company_id)userZget_current_companysuperr	   get_querysetfiltercurrent_company)r   r&   r,   Z	query_set)	__class__r   r   r*   8   s    
zTimeIntervalAdmin.get_querysetNc                s4   |r|j tjkrt| _nt| _tt| j||f|S )N)	r$   mcsFLEXIBLE_TIME_INTERVALr   formr   r)   r	   get_form)r   r&   r   kwargs)r-   r   r   r1   =   s
    zTimeIntervalAdmin.get_formF c                s8   |r|j tjkrd| _nd| _tt| ||||||S )Nz-att/timeinterval/flexible_timetable_edit.htmlz+att/timeinterval/normal_timetable_edit.html)r$   r.   r/   Zchange_form_templater)   r	   render_change_form)r   r&   contextaddZchangeZform_urlr   )r-   r   r   r4   E   s
    z$TimeIntervalAdmin.render_change_form)N)FFr3   N)__name__
__module____qualname__r   _Zshort_descriptionr   r!   Zlist_displayZlist_filterr   r0   r   ZAddNormalTimetableZAddFlexibleTimetableZorderingZexport_fields_dictr'   r*   r1   r4   __classcell__r   r   )r-   r   r	      s    


r	   )r   Zdjango.utils.translationr   r:   mysiter   Zmysite.att.modelsr   Zmysite.att.formsr   r   Z
mysite.attr   r   r.   registerZZKModelAdminr	   r   r   r   r   <module>   s   