U
    eD                     @   s2   d dl T d dlZd dlmZ G dd dejZdS )    )*N)cmf_kanban_boardc                       s8   e Zd Zd
ddZ fddZdd fdd	
Z  ZS )CmfKanbanBoardNc           	      C   s   di i}i }|  dddg | jD ]2}|jD ]}|jj||jj< q,ddi|d |j< q"t| jj	j}|rx|t|g}t
jjddg|d	D ]h}|jsq|jj|krqt
jjd
|jdd|j|j|d|jdd
}|sq|d ||jj  d  d7  < q|S )Ncolumnsz-kanban_board_columns.mapped_status_codes.codezkanban_filter.bqlZ
limit_daystotalr   z	status.--zstatus.code)fieldsfilterreadCmfTasknameF)
Zaccess_levelZinitial_acl_keyZobject_modelZobject_fieldZ	object_idZobject_parent_idZobject_instanceis_newZperm_security_level_allowed_idsZraise_error   )Zload_fieldsZkanban_board_columnsmapped_status_codesidvaluecodeZjsonloadskanban_filterZbqlmodelsr
   ZsliststatusZCmfAccessListZcheck_accessZperm_effective_acl_idZ	parent_idZ%perm_security_level_allowed_ids_cache)	selfr   resZstatus_code_to_columncolZst_codeZlist_filtertaccess r   ,./modules/project/models/cmf_kanban_board.pyget_counters	   sB     

    "zCmfKanbanBoard.get_countersc                    s   | j rt j|| | jrD| jsDt }|j| j |  || _d| _	ddddd}ddd	d
d}tj
jddddddggddgdD ]F}t }| |_||j |_|j|_|g|_||j |_|j|| qt j||S )Nz6 nonez#60b1bbz#3f82d8z#e36b51z#23a055)openin_progress	in_reviewclosedi  i  i  i  r   INr   r   r    r!   r   )r   r   )r   supersaveparentr   r   ZCmfTaskFilterZft_projectsappendZswimlane_typeZCmfStatusCodelistZCmfKanbanBoardColumnr   Zordernor   r   Zcolor)r   argskwargsr   ZcolorsZorderno_dictZstatus_codecolumn	__class__r   r   r$   <   s>    


zCmfKanbanBoard.saveF)notifyc                   s   t  j|ddi|S )Nr-   F)r#   delete)r   r-   r(   r)   r+   r   r   r.   b   s    zCmfKanbanBoard.delete)N)__name__
__module____qualname__r   r$   r.   __classcell__r   r   r+   r   r      s   
3&r   )Zcmf.includeZdatetimeZmodules.project.fieldsr   r   r   r   r   r   <module>   s   