
    /Pi;                     T   d dl  d dl d dlmZ ddddiddiddiddigid	d
ddddiddiddiddiddiddiddiddigidddddiddiddiddiddiddiddigidddddiddiddiddiddiddiddiddigidddddiddiddiddiddiddiddiddiddig	idgZ G d de      Zy)    )*)CmfRoadmapView   Стандартныйfieldsnamecustom_column_indicatorscodestatusT)r   config
is_defaultu)   Релизное планированиеresponsibledeadlinefix_versionszop_gantt_task.sched_workzop_gantt_task.actual_work)r   r   u   Планированиеzop_gantt_task.sched_start_datezop_gantt_task.sched_finish_dateu   Отслеживаниеu   Приоритизация
logic_typepriority
componentsaffected_versionstagsc                   V     e Zd Z fdZ fdZ fdZ fdZ fdZed        Z	 xZ
S )r   c                 *    t         |          g dz   S )N)
view_scoper   r   )supersave_preload_fields)self	__class__s    *./modules/gantt/models/cmf_roadmap_view.pyr   z"CmfRoadmapView.save_preload_fieldsJ   s    w*,/UUU    c                    | j                  g d       | j                  j                  r| j                  j                  n| j                  j                  }|dk(  rH| j
                  t        j                  j                  k7  r t        j                  j                  d       y | j                  r3t        j                  | j                        }|j                  d|        y t         | E          y )Nr   	cmf_owner
project_idprivateuV   Нет прав на редактирование чужого личного видаmessagezPPP-OBJ-EDITobj)load_fieldsr   
is_changedoldvaluecmf_owner_idgcurrent_personidmodelsCmfAccessListcheck_admin_moder!   APPget_cache_projectcheck_project_role_accessr   check_edit_perm)r   scopeprojectr   s      r   r5   zCmfRoadmapView.check_edit_permM   s    BC OO.. $$oo++ 	 I  A$4$4$7$77$$55  ?W5  X ??++DOO<G--n$-GG#%r   c                    | j                  g d       | j                  dk(  rt        dd       y | j                  dk(  rH| j                  t        j
                  j                  k7  r t        j                  j                  d       y | j                  r3t        j                  | j                        }|j                  d	| 
       y t        | =          y )Nr   embeddedu?   Системный вид не может быть удалёнTabortr"   uJ   Нет прав на удаление чужого личного видаr#   zPPP-OBJ-DELETEr%   )r'   r   	cmf_alertr+   r,   r-   r.   r/   r0   r1   r!   r2   r3   r4   r   check_delete_perm)r   r7   r   s     r   r=   z CmfRoadmapView.check_delete_perm`   s    BC??j(W_cd??i'  A$4$4$7$77$$55  ?K5  L ??++DOO<G--.>D-IG%'r   c                 Z   | j                   s{| j                  j                  r| j                  j                  n| j                  j                  }|dk(  r4| j                  d      D cg c]
  }|dk7  s	| }}|rt        dd       | j                  j                  rO| j                   sC| j                  j                  }| j                  j                  }|dk(  r|dk(  rt        d	d       | j                  r| j                  dk(  rt        d
d       | j                  rv| j                  j                  r`dd| j                  gg dg}| j                   s|j                  dd| j                  g       t        j                  j                  |ddi       t        	| <  |i | y c c}w )Nr9   T)r(   r   uA   Системный вид нельзя редактироватьr:   r7   r"   uP   Нельзя перевести общий вид обратно в личныйuO   Личный вид не может быть видом по умолчаниюparent==)r   r@   Tr.   z!=F)filtervalues)is_newr   r(   r)   r*   keysr<   r   r?   appendr.   r/   r   bulk_updater   save)
r   argskwargsr6   fchanged_fields	old_scope	new_scope_filterr   s
            r   rG   zCmfRoadmapView.saves   sa    {{+/??+E+EDOO''4??K`K`E
"-1YY$Y-G!]1P\K\!!]!]!aimn ??%%dkk++I--II%)y*@ltxy ??t);gost ??t994-*G ;;dDGG45!!--WlTYEZ-[d%f%3 "^s   )
F(4F(c                    t        |   |i |}|j                  dd      }| j                  rQ|sOdd| j                  gg dg dg}t
        j                  j                  |      }|rd|_        |j                          |S )	Nskip_owner_checkFr?   r@   )r   r@   r9   )r   r@   r   )rA   T)r   deletegetr   r?   r/   r   rG   )r   rH   rI   resskip_reassignrN   standard_viewr   s          r   rQ   zCmfRoadmapView.delete   s    gnd-f- 

#5u=??=4-08G
 #1155W5EM+/(""$
r   c                     t         D ]_  }t        j                         }|d   |_        ||_        |d   |_        d|_        |j                  dd      |_        |j                          a y)ub   
        Создает стандартные системные виды для roadmap
        r   r   r9   r   FN)
PRESET_VIEWSr/   r   r   r?   r   r   rR   r   rG   )clsroadmappresetviews       r   scaffold_defaultsz CmfRoadmapView.scaffold_defaults   sa    
 # 	F((*DvDI!DK *DK(DO$jju=DOIIK	r   )__name__
__module____qualname__r   r5   r=   rG   rQ   classmethodr\   __classcell__)r   s   @r   r   r   H   s2    V&&(&&B$  r   r   N)
cmf.fieldscmf.include%modules.gantt.fields.cmf_roadmap_viewr   rW    r   r   <module>rf      s     @
 )/0VVX	
  	 </0V]#VZ ^$/001	
 	 +/0VV5667/001
  +/0VVXZ ]#/001	
 	 -/0VV\"Z ]#\"()V

 
c?Dj^ jr   