U
    1§Egj  ã                   @   s<   d dl T d dlZd dlZG dd„ dejjjejj	j
jƒZdS )é    )Ú*Nc                       s(   e Zd Z‡ fdd„Z‡ fdd„Z‡  ZS )ÚCmfPersonGroupc                    sŽ   | j jr€| j ¡ rb| j jD ]}t|tjƒrtj 	|| ¡ q| j j
D ]}t|tjƒrBtj || ¡ qBtj ¡  tj ¡  tj ¡  tƒ j||ŽS ©N)Z
rg_membersZ
is_changedÚlicensesÚloadZchanges_appendedÚ
isinstanceÚmodelsZ	CmfPersonÚ
CmfLicenseZtake_user_licenseZchanges_removedZrelease_user_licenseZCmfProjectPermSchemeZtrigger_reloadZCmfProjectRoleAssignZCmfProjectNotifySchemeÚsuperÚsave)ÚselfÚargsÚkwargsÚuser©Ú	__class__© ú+./modules/person/models/cmf_person_group.pyr      s    



zCmfPersonGroup.savec                    s$   | j  ¡ rttjjƒ tƒ jf |ŽS r   )r   r   Zschedule_deferred_jobr   r	   Zrecalc_users_countsr
   Údelete)r   r   r   r   r   r      s    
zCmfPersonGroup.delete)Ú__name__Ú
__module__Ú__qualname__r   r   Ú__classcell__r   r   r   r   r      s   r   )Zcmf.includeZcmf.models.cmf_translit_codeZcmfZ&modules.person.fields.cmf_person_groupÚmodulesr   Zcmf_translit_codeZCmfTranslitCodeZpersonZfieldsZcmf_person_groupr   r   r   r   r   Ú<module>   s   
 
ÿ