
     8i                     D    d dl  d dlmZ  G d dej                        Zy)    )*)cmf_timesheets_teamc                   (     e Zd Z fdZ fdZ xZS )CmfTimesheetsTeamc                    t        t        d | j                  j                              }t        | j                  j                  dg            }|D ch c]  }|j                  r| }}||z
  }||z
  }|D ]  }|j                           |D ]3  }t        j                  j                  | |      }	|	j                          5 t        
| ,  |i |S c c}w )Nc                     | j                   S )N)person)xs    2./modules/timesheets/models/cmf_timesheets_team.py<lambda>z(CmfTimesheetsTeam.save.<locals>.<lambda>   s
         does_not_work)fields)parentr	   )setmapteam_membersvaluemembers
all_nestedr   deletemodelsCmfTimesheetsTeamMembercreatesavesuper)selfargskwargsteam_member_personsr   membermembers_unprocessedteam_members_danglingteam_membertm	__class__s             r   r   zCmfTimesheetsTeam.save   s    !#&8$:K:K:Q:Q"RSdll--o5F-GH )0Lfv7K7K6LL%(;; 3g =0 	!K 	! * 	F//66d66RBGGI	 w|T,V,, Ms   C(Cc                 *    t         |          ddgz   S )Nr   zteam_members.person)r   save_preload_fields)r   r&   s    r   r(   z%CmfTimesheetsTeam.save_preload_fields   s    w*,@U/VVVr   )__name__
__module____qualname__r   r(   __classcell__)r&   s   @r   r   r      s    -$W Wr   r   N)cmf.includemodules.timesheets.fieldsr   r    r   r   <module>r0      s      9W+== Wr   