B
    b                 @   sx   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
 d dlmZ G dd deZeeG d	d
 d
ejZdS )    )gettext_lazy)	ModelForm)Q)admin)actions)WorkflowRolec               @   s   e Zd ZG dd dZdS )WorkflowRoleFormc               @   s   e Zd ZeZdZdZdS )zWorkflowRoleForm.Meta__all__)ZcompanyN)__name__
__module____qualname__r   ZmodelZfieldsexclude r   r   AG:\easytimepro\master/mysite/workflow\admin\workflowrole_admin.pyMeta   s   r   N)r
   r   r   r   r   r   r   r   r      s   r   c                   s^   e Zd ZejfZeZeZdd Ze	de_
dZdZdZ fddZ fdd	Zd
d Z  ZS )WorkflowRoleAdminc             C   s   |j   S )N)Z	flow_roleallcount)selfobjr   r   r   employee_count   s    z WorkflowRoleAdmin.employee_countr   )	role_code	role_namedescriptionr   )r   r   c                sZ   t t| |}y8ddlm} |ttjjddd}t	|d |d< W n   Y nX |S )Nr   )get_num_from_listr   T)Zflat   )
superr   get_changeform_initial_dataZmysite.personnel.utilsr   listr   objectsZvalues_listmax)r   requestinitialr   Zrole_code_obj)	__class__r   r   r   &   s    z-WorkflowRoleAdmin.get_changeform_initial_datac                s    t t| |j|jjd}|S )N)
company_id)r   r   get_querysetfilteruserZcurrent_company)r   r!   Zqs)r#   r   r   r%   0   s    zWorkflowRoleAdmin.get_querysetc             C   sr   ddl m} |jd}|jd}tjt|dt|dB t|jj	d@ j
|jjd}| rn|td	d S )
Nr   )AdminRuntimeWarningr   r   )r   )r   )r$   )idZ duplicate_role_code_or_role_name)Zmysite.admin.exceptionsr(   Zcleaned_datagetr   r   r&   r   instancer$   r   r)   exists_)r   Z
model_formr(   r   r   Zroler   r   r   check_domain_rules4   s    z$WorkflowRoleAdmin.check_domain_rules)r
   r   r   r   ZWorkFlowRoleAssignEmployeer   ZformZadd_formr   r-   Zshort_descriptionZlist_displayZsort_fieldsZlist_filterr   r%   r.   __classcell__r   r   )r#   r   r      s   

r   N)Zdjango.utils.translationr   r-   Zdjango.formsr   Zdjango.db.modelsr   mysiter   Zmysite.workflowr   Zmysite.workflow.modelsr   r   registerZZKModelAdminr   r   r   r   r   <module>   s   