B
    bk
                 @   sz   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 G dd dejZG d	d
 d
eZdd ZdS )    )gettext_lazy)ValidationError)formsZKModelAction)db_const)SalaryAdvance)AdminRuntimeWarningc                   sr   e Zd ZejedddZejeddddZej	edddZ
ejed	ejdd
Z fddZdd Z  ZS )SalaryAdvanceFormZsalaryAdvance_field_employeeF)labelrequiredZsalaryAdvance_field_amountT   )r
   r   Z	min_valueZsalaryAdvance_field_timeZsalaryAdvance_field_remark)r
   Z
max_lengthr   c                s^   t t|  }d}x.| D ]"\}}|| r|| dkrd}P qW |rRttdt| |S )NT FZplease_fill_required_fields)superr	   cleanitemsr   _data_pre_check)selfZcleaned_dataZ
form_emptykeyvalue)	__class__ BG:\easytimepro\master/mysite/payroll\forms\salary_advance_forms.pyr      s    zSalaryAdvanceForm.cleanc             O   s\   | j dd }d|kr |d |rXx2|D ]*}|d|i td| tf |  q*W d S )NemployeeempZemployee_idz#kwargs:)datagetlistpopupdateprintr   save)r   argskwargsempsr   r   r   r   r        s    


zSalaryAdvanceForm.save)__name__
__module____qualname__r   ZEmployeeManyToManyFieldr   r   Z
FloatFieldadvance_amountZDateTimeFieldadvance_timeZ	TextFieldcZMAX_LENTH_REMARKZadvance_remarkr   r    __classcell__r   r   )r   r   r	      s   r	   c               @   s0   e Zd ZedZedZedZeZdd Z	dS )AddSalaryAdvanceActionZpayroll_action_addSalaryAdvancec             O   sN   | j jd}d}|r6t| j j}|j| f|| ntd}|rJt|d S )Nr   r   Zselect_employee)ZrequestZPOSTr   r	   r    r   r   )r   r!   r"   r#   messageZformr   r   r   action1   s    zAddSalaryAdvanceAction.actionN)
r$   r%   r&   r   Zverbose_nameZ	help_textZshort_descriptionr	   Zaction_formr-   r   r   r   r   r+   +   s
   r+   c             C   sP   |  dd}|  dd}|s(ttd|s8ttd|dkrLttdd S )Nr'   r   r(   Zloan_fields_requiedZadvance_time_requiedr   Zthe_amount_need_lager_then_zero)getr   r   )r   Zadvanc_amountr(   r   r   r   r   =   s    r   N)Zdjango.utils.translationr   r   Zdjango.formsr   Zmysite.adminr   r   Zmysite.payrollr   r)   Zmysite.payroll.modelsr   Zmysite.admin.exceptionsr   ZZKActionFormr	   r+   r   r   r   r   r   <module>   s   