
    bEfK                     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                 n   t        t        d | j                  j                              }t        | j                  j                               }||z
  }||z
  }|D ]  }|j                           |D ]3  }t        j                  j                  | |      }	|	j                          5 t        
| (  |i |S )Nc                     | j                   S )N)person)xs    2./modules/timesheets/models/cmf_timesheets_team.py<lambda>z(CmfTimesheetsTeam.save.<locals>.<lambda>   s
         )parentr	   )setmapteam_membersvaluemembers
all_nesteddeletemodelsCmfTimesheetsTeamMembercreatesavesuper)selfargskwargsteam_member_personsr   members_unprocessedteam_members_danglingteam_membermembertm	__class__s             r   r   zCmfTimesheetsTeam.save   s    !#&8$:K:K:Q:Q"RSdll--/0%(;; 3g =0 	!K 	! * 	F//66d66RBGGI	 w|T,V,,r   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>r.      s      9W+== Wr   