
    oi                     D    d dl  d dlmZ  G d dej                        Zy)    )*)cmf_checklist_templatec                   z     e Zd ZdZej
                  j                  ddgz   Z fdZed        Z	edd       Z
 xZS )CmfChecklistTemplateTcreate_checklistcreate_template_itemsc                     t         j                  j                  dd| g      D ]  }|j                           t	        |   |i |S )Nparent=filter)modelsCmfChecklistTemplateItemlistdeletesuper)selfargskwargsitem_template	__class__s       /./modules/task/models/cmf_checklist_template.pyr   zCmfChecklistTemplate.delete   sQ    #<<AA(TWY]I^A_ 	#M  "	# w~t.v..    c                 *   t        |t              r't        j                  j	                  dd|gddg      }n|}t        |t              r't        j
                  j	                  dd|gddg      }n|}|j                  ddg       t        j                         }|j                  |_        |j                  |_	        ||_
        d|_        d|_        ||_        |j                          d|_        d|_        t        j                  j!                  g d	d
d|g      D ]X  }t        j"                  j%                  |||j                  |j                  |j&                         |xj                  dz  c_        Z |j                  d       |j(                  S )uI   Создаём чек-лист и его пункты из шаблонаidr   nametext)r   fieldschecklist_items_countchecklist_items_done_countr   )ordernor   r   r
   )r   r      T)	only_data)
isinstancestrr   r   getCmfTaskload_fieldsCmfChecklistr   r   r
   r   r    from_templatesaver   r   CmfChecklistItemcreate_checklist_itemr!   r   )	clschecklist_template_idtask_idr   r   templatetask	checklistr   s	            r   r   z%CmfChecklistTemplate.create_checklist   s    +S12266tSJ_>`jprxiy6zH,Hgs#>>%%dC-A.EGc-d & fD D57STU'')	!	!		*+	'/0	,"*	%&"*+' $<<AAIdJRTWYaIb B d 	,M##99):>:G:L:L:G:L:L:G:O:O	; &&!+&	, 			D	!||r   c                 l   |sy t         j                  j                  dd|g      }g }|D ]  }|j                  d      }|j                  d      }	|j                  d      }
t         j                         }||_        |	|_        ||_        |
|_        |j                          |j                  |        |S )Nr   r   r   r   r   r!   )
r   r   r&   r   r   r   r
   r!   r+   append)r.   r/   itemsr   r   checklist_templateresitemr   r   r!   new_item_templates               r   r   z*CmfChecklistTemplate.create_template_items;   s    #88<<T3PeDf<g 
	*D88F#D88F#Dhhy)G & ? ? A%)"%)"'9$(/%""$JJ()
	* 
r   )N)__name__
__module____qualname__	api_allowr   r   api_methodsr   classmethodr   r   __classcell__)r   s   @r   r   r      sX    I(==IIM K
/ % %P  r   r   N)cmf.includemodules.task.fieldsr   r    r   r   <module>rE      s      6I1FF Ir   