U
    H|c/                     @   sX   d dl mZ d dlT d dlT d dlmZ d dlmZ d dlmZ G dd dej	eZ	dS )	    )default)*)fields)CmfActiveEntity)cmf_taskc                   @   s  e Zd ZdZdddddddd	d
g	Zddddgiiidddddddddgdddddddgdddddd
dgdddd d!d"d#gdd$d%d&g d'd(d	dd)d*d+d,d-d.d/d0g
dd1g dgd2Zd3dddddddgdddddddgdddd4d5d6d7dd8d
gdddd d!d"d#gdd$d9d:d;gdd<dd	d+d,gdgZG d=d> d>ejj	Z
ejjejjd?d@d@dAdBdCdDdEgdFdGdHdIgdJZejjejjdKd@d@dAdBdCdDdEgdFdGdHdIgdJZejjejjdLd@dMdNd@dOgd@dPZejjejjdQdRdAgd@dSZejjejjdTd@d gdUZejjejjdVdWdXdYdZZG d[d dejZG d\d dejjZejjejjd]dDgd@dVd^Zejjejjd_d@d`dadbdcd@dVddZejjejjded@dfdgd@dhZejjejjdidVdVdjZ ejjejjdkdlddmdnZ!ejjejj"dodpdVdjZ#ejjejj"dqdpdVdjZ$ejjejj%drdMd@dOgd@dsZ&ejjejj'dtdudvdfdMdwdxdydzd gd{Z(ejjejj%d|dydVdOgd@d}Z)G d~d. d.ej*Z*ejjejjdd@dwddZ+ejjejj%ddd@dZ,ejjejj%ddd@dZ-ejjejj.dd@d@dZ/ejjejj%dd d@d@dZ0d3S )CmfTask   ЗадачаstatusZ
alarm_dateZtagsparentZactivitypriorityZwaiting_forZmarkcodeagile_story_pointsZvisible_filterZparent_logic_prefixzproject.agileZ_maintimetracker_historyZapproved)namer   u   УчастникиZ
cmf_authorZ	cmf_ownerZresponsible	executors
spectatorsu
   СвязиZcompanylistsZattachmentsZparent_tasku   ДатыZcmf_created_atZdeadlineZperiod_intervalZperiod_next_dateZstatus_closed_atu   ПланZclickZ	gantttask)r   actionui_view_formr   Z_addonZ	scheme_wfZworkflowZperm_encryptZ
no_controlZperm_policyr   gantt_projectuA   link:/?popup=1&obj=${id}&uiModule=acl:Настройки правZ_custom)Z	ui_fieldsui_group_fieldsNZchild_tasksZdepended_tasksZaffected_taskscloned_frommentionsZplan_start_dateZplan_end_dateZtime_estimateu   Дополнительноc                   @   s    e Zd ZdZdZdZdd ZdS )zCmfTask.namer   Tu$   Введите тему задачиc                 C   s   | j r| j dkrdS | jpd}| jjdkr@|| jjd d  }n| jjdkr\|| jjd  }| j pdd}| jjj dkr|| jjj d d  }n | jjj dkr|| jjj d  }t| | }|sdS | j d| S )N       z: )oldnewinstancer   Zhtmldiffstripcaption)selfnew_valZold_valZdiff r#   !./modules/task/fields/cmf_task.py
_html_diff   s     

zCmfTask.name._html_diffN)__name__
__module____qualname__r    indexplaceholderr%   r#   r#   r#   r$   r      s   r   u   СоисполнителиTZ
CmfProjectZ
CmfOrgUnitZCmfPersonGroupZ	CmfPersonZCmfRolezCmfProject.executorszCmfOrgUnit.tree_nodeszCmfPersonGroup.rg_memberszCmfRole.person)r    leftlinkablemodelsZnested_fieldsu   Наблюдателиu   СпискиZCmfListmembersZ	parent_id)r    rightmodelbackrefr,   options_list_paramsoptions_list_query_allu   ПроектZ	CmfEntity)r    Z
base_modelZfield_options_list_limitr,   u   Склонирован из)r    readonlyr-   Fu   Элементы менюZCmfMenuItemobj)visibler    r0   r1   c                   @   s   e Zd Zejjddg ZdS )zCmfTask.statusr   Zworkflow_idN)r&   r'   r(   r   r	   r2   r#   r#   r#   r$   r	      s   c                   @   s$   e Zd ZdZdZdZdZdZdZdS )zCmfTask.agile_story_pointszStory Point0   r   g      ?N)	r&   r'   r(   r    r*   Z	precisionZscalestepr   r#   r#   r#   r$   r      s   u?   Ждем утверждения или согласования)r    r-   r,   r6   u;   Вспомогательное поле для хинтовu5   Проверьте решение и закройтеu   Согласовать, подтвердить закрытие, назначить исполнителя и будильникu=   Назначьте исполнителя для задачи)Zapprove1_reviewZapprove2Zapprove3_notassigned)r    nullablechoicesr)   r6   u,   Упоминание в документахZCmfDocumentZmention_tasks)r    r+   r0   r1   r6   u   Timetracker запущен)r    r   r:   u   Журнал работZCmfTimeTrackerHistoryZtime_task_tracker_model)r    r0   r1   Zwidgetu+   Потраченное время (мин.)r   u)   Оставшееся время (мин.)u   Главный список)r    r0   r:   r2   r3   u   Ветви дереваZtree_parentZ	CmfFolderZ
CmfRoadmapZCmfActiveEntityFilterZCmfTaskFilterZCmfTaskReport)r    r1   r-   u   Черновик фильтр)r    r0   r6   r2   r3   c                   @   s    e Zd ZdZddddddZdS )	zCmfTask.ui_view_formtaskZTaskZListzGantt (Alpha)ZKanbanZPost)r<   listZganttZkanbanZpostN)r&   r'   r(   r   r;   r#   r#   r#   r$   r   R  s   ZRoadmapsZtasks)r    r/   r0   r1   u,   Оперативная гант-задачаZCmfGanttTask)r    r0   r:   u$   Базовая гант-задачаu!   Структурный номер)r    r:   r)   u   Гант-проект)r    r0   r6   r:   )1r&   r'   r(   Zverbose_nameZfields_orderZui_formr   Zcmfr   Z	CmfStr256r   ZFieldZCmfGenericM2Mr   r   ZCmfM2Mr   ZCmfSubclassedGenericRelationr
   ZCmfGenericRelationr   Z
CmfBackrefZ
menu_itemsr   r	   Z
CmfNumericr   Zapprove_forZ	CmfChoiceZapprove_for_placer   ZCmfBoolZtimetracker_is_runningr   ZCmfIntZ
time_spentZremaining_estimateZCmfRelationZ	main_listZCmfGenericBackrefZ
tree_nodesZ
tmp_filterr   ZroadmapsZop_gantt_taskZbp_gantt_taskZCmfStr32Zoutline_numberr   r#   r#   r#   r$   r   	   s   
Q	D+  
  
	  		 	r   N)
Zemail.policyr   Z
cmf.fieldsZcmf.includecommonr   Zcommon.models.cmf_active_entityr   r   r   r#   r#   r#   r$   <module>   s   