U
    tf	                     @   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 fddZdd	 fd
d
Z fddZdd Z	dd fdd
Z
 fddZ 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_approvec                    sR   |  ddg | jr&| js&tj | _tj| jj| j	j
j| _t j|| d S )Nr   doc_version)load_fieldsis_newr   modelsCmfDocumentcalc_doc_versionZconfluence_converttextvaluer   idsuper_save_importr   argskwargs	__class__r   r	   r      s
    zCmfDocumentHistory._save_importr   )depthc                   sL   |  dddg | jr(| js(tj | _| jr6|   t j|d|i|S )Nr   r   zparent.workflowr   )	r   r   r   r   r   r   r
   r   save)r   r   r   r   r   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_ownersr   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.deletec                    s6   |  ddg | jr(| jjd| jd n
t   d S )Nr   projectzPPP-DOC-EDITobj)r   r&   check_project_role_accessr   r   check_edit_permr   r   r   r	   r*   6   s    z"CmfDocumentHistory.check_edit_permc                    s6   |  ddg | jr(| jjd| jd n
t   d S )Nr   r&   zPPP-DOC-DELETEr'   )r   r&   r)   r   r   check_delete_permr   r   r   r	   r+   =   s    z$CmfDocumentHistory.check_delete_perm)__name__
__module____qualname____doc__r
   r   r   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   