B
    bEfK                 @   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 }|| }|| }x|D ]}|  q:W x$|D ]}tjj	| |d}	|	
  qPW 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>)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_membermemberZ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   