U
    {hu                     @   sN   d dl mZ d dlmZmZ d dlmZ dd Zdd Z	G dd	 d	ej
Z
d
S )    )
migrations)CountQ)Pagec                    s<    fddt dt jd  jdd  D }t|d}|S )Nc                    s   g | ]} j d | qS )r   )path).0pospage u/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/migrations/0048_add_default_workflows.py
<listcomp>   s     z!ancestor_of_q.<locals>.<listcomp>r      )Zpath__in)rangelenr   steplenr   )r
   pathsqr   r	   r   ancestor_of_q   s    .
r   c                 C   s  |  d}|  d}|  d}|  d}|  d}|  d}|  d}|  d}	tj|_|jjd	d
d\}
}|jjdd}|D ]F}|j}|jj|jd}|jt	|}|j|d}|	jt
|dt
|jdB  }|jj| djtddj| djdd }|sJddd |D }|jj|d |
dd}|j| |jjtddjddj|djdd }|s|jj|jdd }|jj||d!d" |jj||d# s~|jj||d# q~d S )$Nzcontenttypes.ContentTypezwagtailcore.Workflowzwagtailcore.GroupApprovalTaskzwagtailcore.GroupPagePermissionzwagtailcore.WorkflowPagezwagtailcore.WorkflowTaskzwagtailcore.Pagez
auth.GroupZgroupapprovaltaskwagtailcore)modelZ	app_labelpublish)Zpermission_type)pk)Zpage__in)Zpage_permissions__in)Zpage_permissions__pk)Zgroups__id__ingroups)countT)active c                 S   s   g | ]
}|j qS r   )name)r   groupr   r   r   r   9   s     z,create_default_workflows.<locals>.<listcomp>z	 approval)r   content_typer   Zworkflow_tasks)Ztask_numberr   )Zworkflow_tasks__task)r   r   r   )workflowtaskZ
sort_order)r    r
   )Z	get_modelRealPager   objectsZget_or_createfilterr
   getr   r   r   ZdistinctallZannotater   r   firstjoincreater   setr   exists)ZappsZschema_editorZContentTypeZWorkflowZGroupApprovalTaskZGroupPagePermissionZWorkflowPageZWorkflowTaskr   GroupZgroup_approval_content_type__Zpublish_permissionsZ
permissionr
   Z	ancestorsZancestor_permissionsr   r!   Zgroup_namesr    r   r   r   create_default_workflows   sr    







 


r.   c                   @   s$   e Zd ZdgZeeejjgZdS )	Migration)r   Z0047_add_workflow_modelsN)	__name__
__module____qualname__dependenciesr   Z	RunPythonr.   Znoop
operationsr   r   r   r   r/   W   s   r/   N)Z	django.dbr   Zdjango.db.modelsr   r   Zwagtail.modelsr   r"   r   r.   r/   r   r   r   r   <module>   s
   J