U
    gäVcH  ã                   @   s*   d dl T d dlZG dd„ dejjjƒZdS )é    )Ú*Nc                       sX   e Zd ZdZ‡ fdd„Z‡ fdd„Z‡ fdd„Zdd	„ Zd
d„ Zdd„ Z	dd„ Z
‡  ZS )ÚCmfAccessRuleTc                    s   t ƒ  ¡ ddg S )NÚparentZdisabled)ÚsuperÚsave_preload_fields©Úself©Ú	__class__© ú./models/cmf_access_rule.pyr      s    z!CmfAccessRule.save_preload_fieldsc                    s$   t j ¡  | j | ¡ tƒ jf |ŽS ©N)ÚmodelsÚCmfAccessListÚtrigger_reloadr   Zsave_rule_hookr   Úsave©r   Úkwargsr	   r   r   r      s    
zCmfAccessRule.savec                    s.   t j ¡  | j ¡ r | j | ¡ tƒ jf |ŽS r   )r   r   r   r   ÚloadZdelete_rule_hookr   Údeleter   r	   r   r   r      s    

zCmfAccessRule.deletec                 C   s&   | j s| jjsd S |  ¡  | j| _d S r   )Zis_newr   Z
is_changedZ_load_perm_fieldsZperm_parentr   r   r   r   Ú_calc_perm_parent   s    zCmfAccessRule._calc_perm_parentc                 C   s   d S r   r   r   r   r   r   Ú_calc_perm_has_acl   s    z CmfAccessRule._calc_perm_has_aclc                 C   s   d S r   r   r   r   r   r   Ú_calc_perm_acl!   s    zCmfAccessRule._calc_perm_aclc                 C   s   d S r   r   r   r   r   r   Ú_calc_perm_effective_acl$   s    z&CmfAccessRule._calc_perm_effective_acl)Ú__name__Ú
__module__Ú__qualname__Zno_cacher   r   r   r   r   r   r   Ú__classcell__r   r   r	   r   r      s   r   )Zcmf.includeZcmf.fields.cmf_access_ruleZcmfZfieldsZcmf_access_ruler   r   r   r   r   Ú<module>   s   