B
    KDb                 @   s   d dl mZmZ d dlmZ d dlmZ d dlmZ dd Z	dd Z
d	d
 Zedejddedejddedejddedejddedejddedejddede	ddede
ddededddeded
dg
ZdS )    )urlinclude)TemplateResponse)JsonResponse)viewsc             C   s@   | j dd}|sd S |dkr n|dkr*n|dkr<t| dS d S )Nreceiverr   123z!personnel/department/choices.html)GETgetr   )requestr    r   -G:\easytimepro\master/mysite/workflow\urls.pynode_receiver   s    r   c          
   C   s   ddl m} | jdd }| jdd }|jj|d }|jd |j	j
|jj|jj|jjt|j|j	j|j|d	}t| d|S )	Nr   )WorkflowInstanceZnodeedit)idorder)	Z	node_listZworkflow_content_typeZworkflow_employee_first_nameZworkflow_employee_last_nameZworkflow_employee_codeZworkflow_instance_issue_dateworkflow_nameZworkflow_intance_idr   z6workflow/workflowinstance/actions/WorkflowDisplay.html)Z(mysite.workflow.models.workflow_instancer   r   r   objectsfilterZnodeinstance_setZorder_byallZworkflow_enginecontent_typeZemployeeZ
first_name	last_nameZemp_codestrZ
issue_dater   r   r   )r   r   workflow_idr   workflow_instancecontextr   r   r   node_approve   s    r   c             C   s  ddl m}m}m}m} ddlm}m}m}m	} ddl
m}	 ddlm}
 | jdd }| j}t||	sr| jj }|jj|d}|jj|jdj}|
jj|jdj}||ks||krd||d	}t|S ||krd
||d	}t|S ||kr^|jj||d}| rH|d j}||kr2d
||d	}t|S d||d	}t|S nd||d	}t|S nd||d	}t|S tdddS )Nr   )r   WorkflowNodeAbstractExceptionNodeInstance)NODE_PENDINGNODE_APPROVEDNODE_REJECTEDNODE_REVOKE)MyUser)ContentTypeZworkflow_instance_id)r   F)Zis_approve_enable
model_namestateT)Znode_engine__approver__inZworkflow_instance__idZunauthorized_user_to_approve)Zretmessage)Zmysite.workflow.modelsr   r    r!   r"   Zmysite.workflow.models_choicesr#   r$   r%   r&   Zmysite.accounts.modelsr'   Z"django.contrib.contenttypes.modelsr(   r   r   user
isinstanceZ	flow_roler   r   Zexception_idZaudit_statusr   Zmodelr   r   existsr*   )r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r   r-   Z	user_roler   Zoverall_stater)   dataZcurrent_nodeZcurrent_node_stater   r   r   get_approval_button_stats+   sB    





r1   z	approve/$approve)namezreject/$rejectzrevoke/$revokez
withdraw/$withdrawzview/$detailsz^(?P<workflow_id>[0-9]+)/$z^node_receiver/$z^node_approve/$z^api/zmysite.workflow.api.urlsZbiotime_workflow_api)	namespacez^get_approval_button_stats/N)Zdjango.conf.urlsr   r   Zdjango.template.responser   Zdjango.httpr   Zmysite.workflowr   r   r   r1   r2   r4   r5   r6   r7   Zurlpatternsr   r   r   r   <module>   s    ,