U
    7i                     @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_timesheets_teamc                       s(   e Zd Z fddZ fddZ  ZS )CmfTimesheetsTeamc           
         s   t tdd | jj}t | jjdgd}dd |D }|| }|| }|D ]}|  qL|D ]}tjj	| |d}	|	
  q^t j
||S )Nc                 S   s   | j S )N)person)x r   2./modules/timesheets/models/cmf_timesheets_team.py<lambda>       z(CmfTimesheetsTeam.save.<locals>.<lambda>does_not_work)Zfieldsc                 S   s   h | ]}|j s|qS r   )r   ).0memberr   r   r   	<setcomp>
   s      z)CmfTimesheetsTeam.save.<locals>.<setcomp>)parentr   )setmapteam_membersvaluemembersZ
all_nesteddeleteZmodelsZCmfTimesheetsTeamMemberZcreatesavesuper)
selfargskwargsZteam_member_personsr   Zmembers_unprocessedZteam_members_danglingZteam_memberr   Ztm	__class__r   r   r      s    

zCmfTimesheetsTeam.savec                    s   t   ddg S )Nr   zteam_members.person)r   save_preload_fields)r   r   r   r   r      s    z%CmfTimesheetsTeam.save_preload_fields)__name__
__module____qualname__r   r   __classcell__r   r   r   r   r      s   r   N)Zcmf.includeZmodules.timesheets.fieldsr   r   r   r   r   r   <module>   s   