B
    b                 @   s   d dl 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mZmZmZmZ G dd	 d	ejZG d
d deZG dd dejZG dd deZdS )    N)render)gettext_lazy)formsZKModelAction)AdminRuntimeWarning)ChangeSchedule)APPLICATIONAUDIT_STATUSAUDIT_SUCCESSREFUSECANCEL_AUDIT_SUCCESSc               @   s0   e Zd ZejedeedZej	eddZ
dS )ApproveFormZ"changeSchedule_field_approvalState)labelinitialchoicesZ#changeSchedule_field_approvalReason)r   N)__name__
__module____qualname__r   ZChoiceField_r   r	   audit_status	TextFieldaudit_reason r   r   BG:\easytimepro\master/mysite/att\actions\changeschedule_actions.pyr      s   r   c               @   s4   e Zd ZdZedZedZedZeZ	dd Z
dS )ChangeScheduleApproveTZatt_action_approvec             O   s  | j jd| j jddr0t| j | jddiS x| jD ]}d}|jtkr~t	jj
|j|jtdj|jdjtd}|r~td}|jrt	jj|jd}|jttfkrtd	}|rt|q8t|d
 |_|d |_| j jj|_tj |_| j j|_|  q8W d S )Npopup 
form_titleZchangeschedule_approve)employeeatt_dater   )pk)r   Z!changeSchedule_error_shiftOverlapZ%changeSchedule_error_scheduleApprovedr   r   )requestPOSTgetGETr   action_templateobjectsr   r
   r   filterr   r   Zexcluder    r   r   r   intr   userusernameapproverdatetimenow
audit_time_approve_usersave)selfargskwargsobjmessagetmpZschr   r   r   action   s,    



zChangeScheduleApprove.actionN)r   r   r   batch_selectr   verbose_namehelp_txtshort_descriptionr   action_formr7   r   r   r   r   r      s   r   c               @   s   e Zd ZejedddZdS )
RevokeFormZrevoke_reasonT)r   requiredN)r   r   r   r   r   r   r   r   r   r   r   r=   5   s   r=   c               @   s4   e Zd ZdZedZedZedZeZ	dd Z
dS )ChangeScheduleRevokeTZatt_action_revokec             O   s   | j jd| j jddr0t| j | jddiS x`| jD ]V}|jtkr|d |_	t
|_| j jj|_tj |_| j j|_|  q8ttdq8W d S )Nr   r   r   Ztraining_revoker   Z$only_approved_records_can_be_revoked)r!   r"   r#   r$   r   r%   r&   r   r
   r   r   r)   r*   r+   r,   r-   r.   r/   r0   r   r   )r1   r2   r3   r4   r   r   r   r7   @   s    



zChangeScheduleRevoke.actionN)r   r   r   r8   r   r9   r:   r;   r=   r<   r7   r   r   r   r   r?   9   s   r?   )r,   Zdjango.shortcutsr   Zdjango.utils.translationr   r   Zmysite.adminr   r   Zmysite.admin.exceptionsr   Zmysite.att.modelsr   Zmysite.att.models_choicesr   r	   r
   r   r   ZZKActionFormr   r   r=   r?   r   r   r   r   <module>   s   !