U
    pId[                     @   s2   d dl T d dlmZ d dlZG dd dejZdS )    )*)cmf_document_historyNc                       sJ   e Zd ZdZdd Zdd Zdd fdd	
Z fd
dZdd Z  Z	S )CmfDocumentHistoryu+   
    История документа
    c                 C   s   | j jjdd}|| _d S )NZOPEN)Zstatus_type)parentZworkflowZget_default_statusstatus)selfZstatus_open r   $./cmf/models/cmf_document_history.py_calc_status
   s    zCmfDocumentHistory._calc_statusc                 C   s   t |  d S )N)r   start_approver   r   r   r	   r      s    z CmfDocumentHistory.start_approver   )depthc                   sL   |  dddg | jr(| js(tj | _| jr6|   t j|d|i|S )Ndoc_versionr   zparent.workflowr   )	load_fieldsZis_newr   ZmodelsZCmfDocumentZcalc_doc_versionr
   supersave)r   r   argskwargs	__class__r   r	   r      s    zCmfDocumentHistory.savec                    s   t   dddg S )NZapprovedZapproved_atZapproved_version)r   save_preload_fieldsr   r   r   r	   r      s    z&CmfDocumentHistory.save_preload_fieldsc                 O   s    |  dg | jr| j S g S )Nr   )r   r   
get_owners)r   r   r   r   r   r	   r      s    
zCmfDocumentHistory.get_owners)
__name__
__module____qualname____doc__r
   r   r   r   r   __classcell__r   r   r   r	   r      s   
r   )Zcmf.includeZ
cmf.fieldsr   Zdatetimer   r   r   r   r	   <module>   s   