B
    bZ                 @   s`   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mZ G dd deZd	S )
    )models)gettext_lazy)AbstractCloud)WorkflowRoleManyToManyField)WorkflowRole)SCOPENODE_PENDINGc                   s&  e Zd ZejedddZejedddZeedZ	ej
eddddd	Zeeed
ddZej
eddddd	ZeeeddddZejeddeddZejeddeddZejedddZejedddZejddZejedddZdd ZG dd dZd fdd	Z  ZS ) WorkflowNodeZworkflowNode_field_code   )Z
max_lengthZworkflowNode_field_nameZworkflowNode_field_orderIDZworkflowNode_field_approverType   T)defaultZnullblankZworkflowNode_field_approver)verbose_namer   ZworkflowNode_field_notifierTypeZworkflowNode_field_notifierZnotifier_id)r   Zrelated_namer   Z workflowNode_field_approverScopeF)r   choicesZeditableZworkflowNode_field_notifyScopeZworkflowNode_field_engine)r   workflow_engine_name2   c             C   s   d| j | jf S )Nz%s %s)	node_code	node_name)self r   =G:\easytimepro\master/mysite/workflow\models\workflow_node.py__str__'   s    zWorkflowNode.__str__c               @   s   e Zd ZdZedZeZdS )zWorkflowNode.MetaZworkflowZworkflow_model_workflowNodeN)__name__
__module____qualname__Z	app_label_r   Zverbose_name_pluralr   r   r   r   Meta*   s   r   Nc                s@   | j jtdr&ddlm} |tdtt| |||| d S )N)stater   )AdminRuntimeWarningZ!the_workflow_node_is_already_used)	Znodeinstance_setfilterr   Zmysite.admin.exceptionsr   r   superr	   save)r   Zforce_insertZforce_updateZusingZupdate_fieldsr   )	__class__r   r   r!   /   s
    
zWorkflowNode.save)FFNN)r   r   r   r   Z	CharFieldr   r   r   ZIntegerFieldZorder_idZSmallIntegerFieldZapprover_typer   r   ZapproverZnotifier_typeZnotifierZBooleanFieldr   Zapprover_by_overallZnotify_by_overallZ	TextFieldZapprove_scopeZnotify_scopeZworkflow_enginer   r   r   r!   __classcell__r   r   )r"   r   r	      s(   



 r	   N)Z	django.dbr   Zdjango.utils.translationr   r   Z!mysite.admin.abstract_cloud_modelr   Zmysite.workflow.fieldsr   Zmysite.workflow.modelsr   Zmysite.workflow.models_choicesr   r   r	   r   r   r   r   <module>   s   