U
    {hX                     @   s  d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ d d	lmZmZmZ d d
lmZ ddlmZmZ eddd Zeddd ZeddddZ eddddZ!edd ddZ"edee e#dddZ$dS )!    )List)settings)quote)
Permission)includepathreverse)gettext)hooks)widgets)LocalePageTranslatableMixin)SnippetListingButton   )SubmitPageTranslationViewSubmitSnippetTranslationViewregister_admin_urlsc                  C   s<   t dt ddt dt ddg} t dt| dfddgS )	Nzsubmit/page/<int:page_id>/Zsubmit_page_translation)namez;submit/snippet/<slug:app_label>/<slug:model_name>/<str:pk>/Zsubmit_snippet_translationztranslation/simple_translation)	namespace)r   r   Zas_viewr   r   )urls r   x/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/contrib/simple_translation/wagtail_hooks.pyr      s&    Zregister_permissionsc                   C   s   t jjdddS )Nr   Zsubmit_translation)Zcontent_type__app_labelcodename)r   objectsfilterr   r   r   r   &register_submit_translation_permission+   s     r   Z"register_page_listing_more_buttonsNc                 c   sd   | dr`|  s`tjj| jddjdddd }|r`td| j	gd}t
jtd	|d
dV  d S )N%simple_translation.submit_translationTZ	inclusive	locale_idZflatZid__in*simple_translation:submit_page_translationargs	Translate<   )priority)has_permis_rootr   r   excludeget_translationsvalues_listexistsr   idwagtailadmin_widgetsButton_)pageusernext_urlhas_locale_to_translate_tourlr   r   r   page_listing_more_buttons2   s     
r8   Zregister_page_header_buttonsc              	   c   s|   |   sx|drxtjj| jddjdddd }|rxtd| j	gd}t
jtd	|d
dtdd|  i iddV  d S )Nr   Tr   r    r!   r"   r#   r$   r&   ZglobetitlezTranslate this pageP   )Z	icon_nameattrsr(   )r*   r)   r   r   r+   r,   r-   r.   r   r/   r0   r1   r2   Zget_admin_display_title)r3   r4   Z	view_namer5   r6   r7   r   r   r   page_header_buttonsB   s(     
 
r<    register_snippet_listing_buttonsc                 c   s   t | }t|tr|drtjj| jddjdddd	 }|rt
d|jj|jjt| jgd}ttd	|d
tddt| i iddV  d S )Nr   Tr   r    r!   r"   z-simple_translation:submit_snippet_translationr$   r&   z
aria-labelzTranslate '%(title)s'r9   d   )r;   r(   )type
issubclassr   r)   r   r   r+   r,   r-   r.   r   _metaZ	app_labelZ
model_namer   pkr   r2   str)Zsnippetr4   r5   modelr6   r7   r   r   r   r=   [   s.     
 -construct_translated_pages_to_cascade_actions)pagesactionc                 C   sv   t tddsd S i }|dkrD| D ] }tjj|ddjdd||< q n.|dksT|dkrr| D ]}tjj|dd||< qX|S )	NZ'WAGTAILSIMPLETRANSLATION_SYNC_PAGE_TREEFZ	unpublishr   T)Zalias_of__isnullmovedelete)getattrr   r   r   Ztranslation_ofr   )rF   rG   Z	page_listr3   r   r   r   rE   x   s    )N)N)N)%typingr   Zdjango.confr   Zdjango.contrib.admin.utilsr   Zdjango.contrib.auth.modelsr   Zdjango.urlsr   r   r   Zdjango.utils.translationr	   r2   Zwagtailr
   Zwagtail.adminr   r0   Zwagtail.modelsr   r   r   Zwagtail.snippets.widgetsr   Zviewsr   r   registerr   r   r8   r<   r=   rC   rE   r   r   r   r   <module>   s,   

