U
    xIdR                     @   s`   d dl T d dlmZ d dlmZmZmZmZ dd Zdd Ze	dd	d
d Z
edkr\e
  dS )    )*)tqdm)scaffold_scheme_wfscaffold_workflowscaffold_status_codesscaffold_logic_typec                   C   s   t   t  t  t  d S )N)r   r   r   r    r   r   */opt/eva-app/patch/202307181253_docflow.pyscaffold_all   s    r
   c            
   
   C   s>  t jjdd} t jjdd}i }|jdd}|jdd}||| d< ||| d< ||| d	< t  t  t jjd
ddddgddddgd
d| gd}|sq&t	|D ]^}||_
|j|_|j|_t jjdd|gdgddgd}|r<||_|j|_d|_|jr||_||_n||_||_|jdddd n2t j|j||d|jd}|jddd ||_||_|r|jr|}	n*t jjdd|gdddggdgdddgd}	|	r|	|_d|	_|	js|	j|	_||	_|	jr|	j|	_nd|	_|	j|	_|	jdddd |jdddd qt  td qzW 5 Q R X W 5 Q R X d S )Nzdefault.system:default)codezdocument.base:defaultopen)Zstatus_codeapprovedZOPENZIN_PROGRESSZCLOSEDworkflowstatuscmf_versionneed_approve
text_draftTr   i  z==)fieldsZinclude_deletedZinclude_templatesslicefilterparentz-cmf_versiondoc_version)r   Zorder_byr   F)Z	only_dataemitnotify)textr   r   cur_workflowr   )r   r      z1000 obj done)ZmodelsZCmfWorkflowgetZget_default_statusZcmfutilZdisable_aclZdisable_notifyZCmfDocumentlistr   r   r   r   r   Zpublish_by_owner_onlyZCmfDocumentHistoryZcur_workflow_versionr   r   r   Zsaver   Zcur_published_versionZhas_publishedZapproved_versionZofficial_numberZapproved_atZofficial_dateZcommit_all_dsprint)
Zwf_standartZwf_newZ
status_mapZstatus_open_newwfZstatus_approved_newwfZdoclistZdocumentZ	last_histZnew_cur_historyZlast_approved_histr   r   r	   update_documents   s        
r    T)Zcommitc                   C   s(   t d t d t  t d t  dS )uH  
    Для тестирования патча: ( cd /opt/eva-app; python3 -m patch.202307181253_docflow )
    Здесь можно работать с моделями через models.CmfTask и т.д.
    Для прогрессбара используйте:
    for task in tqdm(models.CmfTask.list()):
        ...
    u   Запуск патча docflowu   Создаем объектыu6   Меняем в документах БП/статусN)r   r
   r    r   r   r   r	   patch`   s
    	r!   __main__N)Zpatch.includer   Zcmf.system_datar   r   r   r   r
   r    Zapp_contextr!   __name__r   r   r   r	   <module>   s   T
