
    0Hi	                         d dl  d dlZd dlZ G d dej                  j
                  j                  j                        Zy)    )*Nc                   .    e Zd Zed        Zedd       Zy)CmfStatc                    |j                   j                  d      s7|j                   j                  d      s|j                   j                  d      sy |j                   j                  d      r|j                  sy |j                   j                  d      r7|j                  j                  d      s|j                  j                  d      sy |j                   j                  d      rd}n|j                  rd}nd}t        j
                  j                   }d }|j                   j                  d      r|j                  }|j                   j                  d      r|j                  j                  }n|j                  }|j                  s%t        j                  |      t        j                  urt        j                  d| d       y |j                   ||t        |j                        ||d	d
}t        j                  j!                  |       y )NzCmfDocument:zCmfTask:zCmfComment:commentcreateupdatezinvalid project_id "z+": it is not a CmfProject obj_id, skipping;F)obj_id
project_idaction	parent_id	person_id
history_id
aggregated)id
startswithis_newr   gcurrent_usercur_workflow_version_idparentis_nullcmfutilget_model_by_idmodels
CmfProjectdebugstrdeferred_statsappend)clsobjr   r   r   r   optionss          &./modules/analytics/models/cmf_stat.pydo_calc_statisticszCmfStat.do_calc_statistics   s   !!.1SVV5F5Fz5RVYV\V\VgVghuVv66]+CJJFFm,mm..~>3==C[C[\fCg66]+FZZFFNN%%	
66^,44J66]+--JJ!8!8!DFL]L]!]GG+J<7cde ff$S]]+"$
 	
(    c                    t         j                  dd      }| rg t        _        y t        j                  sy t        j	                  dt        t        j                         d       t        j                  D ]`  }t        j                         }|j                         D ]
  \  }}|||<    t         j                         5  |j                          d d d        b g t        _         |        y # 1 sw Y   xY w)Napply_deferred_stats
   zapply_deferred_stats save z stats)r   make_prof_pointr   r   r   lenr   r   itemsdisable_aclsave)
only_clean
prof_point	stat_datastatkvs         r$   r(   zCmfStat.apply_deferred_stats4   s    ,,-CRH
!A	,S1A1A-B,C6JK)) 	I>>#D ( !Q$$& 		 		  s   >C,,C5	N)F)__name__
__module____qualname__classmethodr%   staticmethodr(    r&   r$   r   r      s)    *) *)X  r&   r   )cmf.includetime!modules.analytics.fields.cmf_statmodules	analyticsfieldscmf_statr   r:   r&   r$   <module>rB      s2      (>g&&//77 >r&   