U
    Yxvc/                     @   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
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.d/g
dd0g dgd1Zd2dddddddgdddddddgdddd3d4d5d6dd7d
gddddd d!d"gdd#d8d9d: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?d@dAdBdCdDgdEdFdGdHgdIZejjejjdJd?d?d@dAdBdCdDgdEdFdGdHgdIZejjejjdKd?dLdMd?dNgd?dOZejjejjdPdQd@gd?dRZejjejjdSd?d gdTZejjejjdUdVdWdXdYZG dZd dejZG d[d dejjZejjejjd\dCgd?dUd]Zejjejjd^d?d_d`dadbd?dUdcZejjejjddd?dedfd?dgZejjejjdhdUdUdiZ ejjejjdjdkddldmZ!ejjejj"dndodUdiZ#ejjejj"dpdodUdiZ$ejjejj%dqdLd?dNgd?drZ&ejjejj'dsdtdudedLdvdwdxdyd gdzZ(ejjejj%d{dxdUdNgd?d|Z)G d}d- d-ej*Z*ejjejjd~d?dvdd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Z0d2S )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attachmentsu   Даты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 (Alfa)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   