
    ift                     L    d dl mZ d dlT d dlmZ  G d dej                  ZdS )    )fields)*)cmf_person_viewc                   4     e Zd ZdZddZ fdZ fdZ xZS )CmfPersonViewTupdatec                 :   ddl m} 	 t                              d          }|si }i t          _        |                    | j        j                  }|ci }| j        j        |d<   t          j        ot          j        j        j        |d<   d |d<   d |d<   d |d<   | j        |d	<   g |d
<   g |d<   g |d<   g |d<   t          | d          r| j
        j        r| j
        j        |d<   t          | d          r| j        j        r| j        j        |d<   t          | d          r| j        j        r| j        j        |d<   |                    d          pg }| j        r|                     d          D ]\  }}|dv rt!          | |          }|j        |j        k    r+t                              d| j         d|j                    Vt'          |t(          j        j                  rt'          |j        t.                    s,|j        %|                    |j        j        j                   nCt'          |j        t.                    r)|j        D ]!}	|                    |	j        j                   "|j        durt'          |t(          j        j                  rt'          |j        t.                    s,|j        %|                    |j        j        j                   nCt'          |j        t.                    r)|j        D ]!}	|                    |	j        j                   "|d                             |           |d                             |           |d                             |           t/          t7          |d                             |d<   t/          t7          |d                             |d<   t/          t7          |d                             |d<   t/          t7          |d
                             |d
<   |t          j        | j        j        <   d S )Nr   )defaultdict	emit_listidcmf_modified_by	parent_id	person_idplace
class_namerelation_personschanged_fieldschanged_relationsactionT)
is_changed)cmf_modified_atr   cmf_viewed_atcmf_viewed_bycmf_locked_atcmf_locked_byzemit: FIXME is changed bug ..)collectionsr
   ggetr   r   valuecurrent_personr   hasattrr   
is_definedr   r   r   itemsgetattrolddebug
isinstancecmfr   
CmfRelBaselistappend_oldextendset)
selfr   r
   r   bodyr   kvfieldis
             ./cmf/models/cmf_person_view.pyemitzCmfPersonView.emit	   s    ++++++	
 EE+&&	 	IAK}}TW]++<DDJ&'&6&T1;K;N;TD"# $D $D DM!%D')D#$%'D!"(*D$%DN4%% 	5$.*C 	5 $ 4D4%% 	5$.*C 	5 $ 4D4!! 	-dj&; 	- J,DM HH%899?R? 	1

d
33 1 11 G G G a((9''GG^$/^^EL\^^___eSZ%:;; A%ek488 AU[=T)001EFFFF#EK66 A!& A AA-44QTZ@@@@:S((Zsz?T-U-U(%ei66 A59;P)001CDDDD#EIt44 A!& A AA-44QTZ@@@@%&--a0000 !(():;;;Xf%%%c$x.1122X!%c$/?*@&A&A!B!B$(T2E-F)G)G$H$H !#'D1C,D(E(E#F#F %)DGM"""    c                 ^    |                                    t                      j        |i |S )N)r7   supersaver0   argskwargs	__class__s      r6   r;   zCmfPersonView.saveM   s+    		uww|T,V,,,r8   c                 `    |                      d            t                      j        |i |S )Ndeleted)r7   r:   deleter<   s      r6   rB   zCmfPersonView.deleteQ   s0    		)uww~t.v...r8   )r   )__name__
__module____qualname__	api_allowr7   r;   rB   __classcell__)r?   s   @r6   r   r      so        IA* A* A* A*H- - - - -/ / / / / / / / /r8   r   N)r)   r   cmf.include
cmf.fieldsr   r    r8   r6   <module>rK      sv              & & & & & &M/ M/ M/ M/ M/O1 M/ M/ M/ M/ M/r8   