U
    Įwh                     @   s.   d dl T d dlZdZG dd dejjjZdS )    )*N)openclosedZ	in_reviewZin_progressZpausedcancelc                       s.   e Zd Zdd fdd
Z fddZ  ZS )CmfStatusCodeF)TEXKOM_db_deletec                   sB   t jj| ||dD ]}|j|d|i| qt j|d|i|S )N)status_codeZinclude_deletedZinclude_systemr   )models	CmfStatuslistdeletesuper)selfr   argskwargsstatus	__class__ "./common/models/cmf_status_code.pyr   	   s    zCmfStatusCode.deletec                    s   | j s| jjr`| jtks$| jjtkr0tddd td tjj| dD ]}| j|_|j	dd qF| j
jrtd tjj| dD ]}| j
|_
|j	dd q~t j	||S )Nud   Запрещено редактировать глобальные системные статусыT)abortu   Опасная операция, проконтролируйте уникальность статуса в БП вручную)r   )Z	only_dataub   Тип статуса у уже созданных объектов изменен не будет)Zis_newcodeZ
is_changedSYSTEM_CODESoldZ	cmf_alertr	   r
   r   saveZstatus_typer   )r   r   r   r   r   r   r   r      s    zCmfStatusCode.save)__name__
__module____qualname__r   r   __classcell__r   r   r   r   r      s   r   )Zcmf.includeZcommon.fields.cmf_status_codecommonr   ZfieldsZcmf_status_coder   r   r   r   r   <module>   s   