U
    Ä®wh   ã                   @   s*   d dl T d dlZG dd„ dejjjƒZdS )é    )Ú*Nc                       s*   e Zd Zd‡ fdd„	Z‡ fdd„Z‡  ZS )ÚCmfPermPublishPolicyNc                    s0   |dkr|d krdg i}t ƒ j|fd|i|—ŽS )NÚsubjectZ	CmfPersonÚmodels_filters)ÚsuperÚfield_options_list)ÚselfZrelation_field_namer   Úkwargs©Ú	__class__© ú*./common/models/cmf_perm_publish_policy.pyr      s    z'CmfPermPublishPolicy.field_options_listc                    sF   t ƒ jf |Ž}| jjs| jjrB| jjs0| j ¡  | jrB| j | ¡ |S )N)	r   ÚsaveZpublish_policyZ
is_changedr   ÚparentZ
is_definedÚloadZ perm_publish_policy_changed_hook)r   r	   Úretr
   r   r   r      s    
zCmfPermPublishPolicy.save)N)Ú__name__Ú
__module__Ú__qualname__r   r   Ú__classcell__r   r   r
   r   r      s   r   )Zcmf.includeZ%common.fields.cmf_perm_publish_policyÚcommonZfieldsZcmf_perm_publish_policyr   r   r   r   r   Ú<module>   s   