B
    Zf"                 @   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                   sR   e Zd Zejjdg Zedd ZdddZ fdd	Z	dd
 fdd
Z
  ZS )CmfKanbanBoardget_countersc             C   s   d| j  d| j d| j S )N/)Z	ui_moduleZui_namecode)self r	   ,./modules/project/models/cmf_kanban_board.pyhref   s    zCmfKanbanBoard.hrefNFc             C   sz  di i}|rd g d|d< i }|  dddg x@| jD ]6}x|jD ]}|jj||jj< qBW ddi|d |j< q6W t| jj	j}|r|t|g}|r| jj	j|g|d d	< d
}t
jst
jrd}xtjjddg|dD ]}	|	jr|	jjsq|	jjj|krq|sPtjjd|	jdd|	j|	jd
|	jd
d	}
|
sP|r|d d |	j|	jjjg q|d ||	jjj  d  d7  < qW |S )Ncolumns)filterdenieddebugz-kanban_board_columns.mapped_status_codes.codezkanban_filter.bqlZ
limit_daysZtotalr   r   FTz	status.--zstatus.status_code.code)fieldsr   readCmfTaskname)	Zaccess_levelZinitial_acl_keyZobject_modelZobject_fieldZ	object_idZobject_parent_idis_newZperm_security_level_allowed_idsZraise_errorr      )Zload_fieldsZkanban_board_columnsmapped_status_codesidvaluer   Zjsonloadskanban_filterZbqlgZdisable_permissionsZacl_admin_modemodelsr   Zsliststatusstatus_codeZCmfAccessListZcheck_accessZperm_effective_acl_idZ	parent_idZ%perm_security_level_allowed_ids_cacheappend)r   r   ZdbgZresZstatus_code_to_columncolZst_codeZlist_filterZskip_perm_checktaccessr	   r	   r
   r      sJ    &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}xltj
jddddddggddgdD ]F}t }| |_||j |_|j|_|g|_||j |_|j|| qW t 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_projectsr   Zswimlane_typeZCmfStatusCodelistZCmfKanbanBoardColumnr   Zordernor   r   Zcolor)r   argskwargsr   ZcolorsZorderno_dictr   column)	__class__r	   r
   r)   T   s6    zCmfKanbanBoard.save)notifyc               s   t  j|ddi|S )Nr0   F)r(   delete)r   r0   r,   r-   )r/   r	   r
   r1   z   s    zCmfKanbanBoard.delete)NF)__name__
__module____qualname__r   r   Zapi_methodspropertyr   r   r)   r1   __classcell__r	   r	   )r/   r
   r      s   
C&r   )Zcmf.includeZdatetimeZmodules.project.fieldsr   r   r	   r	   r	   r
   <module>   s   