
    x8i                     @    d dl T d dlmZ  G d dej                  ZdS )    )*)cmf_timesheets_teamc                   (     e Zd Z fdZ fdZ xZS )CmfTimesheetsTeamc                    t          t          d | j        j                            }t          | j                            dg                    }d |D             }||z
  }||z
  }|D ]}|                                 |D ]7}t          j        	                    | |          }	|	
                                 8 t                      j
        |i |S )Nc                     | j         S )N)person)xs    2./modules/timesheets/models/cmf_timesheets_team.py<lambda>z(CmfTimesheetsTeam.save.<locals>.<lambda>   s         does_not_work)fieldsc                      h | ]}|j         	|S  )r   ).0members     r   	<setcomp>z)CmfTimesheetsTeam.save.<locals>.<setcomp>
   s     LLLfv7KL6LLLr   )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_memberr   tm	__class__s             r   r    zCmfTimesheetsTeam.save   s    !#&8&8$:K:Q"R"RSSdl--o5F-GGHH MLLLL%(;; 3g =0 	! 	!K    ) 	 	F/66d66RRBGGIIIIuww|T,V,,,r   c                 N    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$    ww**,,@U/VVVr   )__name__
__module____qualname__r    r,   __classcell__)r*   s   @r   r   r      sZ        - - - - -$W W W W W W W W Wr   r   N)cmf.includemodules.timesheets.fieldsr   r   r   r   r   <module>r3      se        9 9 9 9 9 9W W W W W+= W W W W Wr   