U
    Md                     @   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                       s\   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dd f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   models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_ownersF)TEXKOM_db_deletec                   sF   |r,t jj| ddD ]}d |_|jdd qt j|ddi| d S )NT)cur_published_versionZinclude_deleted)Z	only_datar   F)r   r   listr   r   r   delete)r   r   r   r   docr   r   r	   r   %   s
    zCmfDocumentHistory.delete)__name__
__module____qualname____doc__r
   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   