
    P{f                     4    d dl  d dlmZmZ  G d de      Zy)    )*)CmfModel	BaseModelc                   2     e Zd ZdZdZdgZd Z fdZ xZS )CmfChatTopicUnreadMessageut   
    Не прочитанные комментарии каждого пользователя для чата
    Tcountc                    ddl m} 	 ddlm} t        j                  d      }|si }i t        _        |j                  | j                  j                        }|_| j                  j                  t        j                  xr$ t        j                  j                  j                  d d d | j                  g g g g d
}| j                  j                  j                  |d<   | j                  j                  |d<   |j                  d      xs g }| j                  r| j                  d	
      D ]  \  }}|dv rt        | |      }|j                   |j                  k(  r2t#        |t$        j&                  j(                        rt#        |j                  t*              s<|j                  0|j-                  |j                  j                  j                         nPt#        |j                  t*              r6|j                  D ]'  }	|j-                  |	j                  j                         ) |j.                  durt#        |t$        j&                  j(                        rt#        |j                   t*              s<|j                   0|j-                  |j                   j                  j                         nPt#        |j                   t*              r6|j                   D ]'  }	|j-                  |	j                  j                         ) |d   j-                  |        |d   j1                  |       d}
| j2                  rd}
|d   j-                  |
       t+        t5        |d               |d<   t+        t5        |d               |d<   t+        t5        |d               |d<   t+        t5        |d               |d<   |t        j                  | j                  j                  <   y )Nr   )defaultdict)cmf_emit_event	emit_list)
idcmf_modified_by	parent_id	person_idplace
class_namerelation_personschanged_fieldschanged_relationsactionr   r   r   T)
is_changed)cmf_modified_atr   cmf_viewed_atcmf_viewed_bycmf_locked_atcmf_locked_by.r   updateinsertr   r   )collectionsr
   cmf.includer   ggetr   r   valuecurrent_personr   
chat_topicr   r   itemsgetattrold
isinstancecmffields
CmfRelBaselistappend_oldextendis_newset)selfr
   r   r   bodyr   kvfieldir   s              0./common/models/cmf_chat_topic_unread_message.pyemitzCmfChatTopicUnreadMessage.emit   s	   +	 	/EE+&	IAK}}TWW]]+<''--A<L<L<jQRQaQaQdQdQjQj!%D4W[WfWf(*bWYegiD !OO..44[ NN00[ HH%89?R??

d
3 11 L La(99'eSZZ%:%:;%ekk48U[[=T)001E1EF#EKK6!& AA-44QTTZZ@A ::S(Zszz?T?T-U%eii6599;P)001C1CD#EIIt4!& AA-44QTTZZ@A%&--a0)1* 	 !(():;;;FXf%c$x.12X!%c$/?*@&A!B$(T2E-F)G$H !#'D1C,D(E#F %)DGGMM"    c                 B    | j                          t        |   |i |S )N)r:   supersave)r3   argskwargs	__class__s      r9   r>   zCmfChatTopicUnreadMessage.saveD   s     		w|T,V,,r;   )	__name__
__module____qualname____doc__	api_allowapi_methodsr:   r>   __classcell__)rA   s   @r9   r   r      s&     I+K6*p- -r;   r   N)r    
cmf.modelsr   r   r    r;   r9   <module>rK      s     *A-	 A-r;   