U
    {h                     @   s  d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	m
Z
 d dlmZmZ d dlmZ d dlm  m  m  m  mZ d dlmZ d d	lmZmZ 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& d dl'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4m5Z5m6Z6 d dl7m8Z9 d dl:m;Z; d dl<m=Z= d dl>m?Z? e@ddd ZAe@ddd ZBG dd deZCe@d d!d" ZDe@d#d$d% ZEG d&d' d'e#ZFe@d(d)d* ZGG d+d, d,e!ZHe@d-d.d/ ZIe@d0d1d2 ZJe@d3d4d5 ZKe@d6d7d8 ZLG d9d: d:eZMee& eM e4e5e6fD ]ZNe@d;eN q\e@d<d=d> ZOdS )?    )warn)settings)TemplateResponse)includepathreversereverse_lazy)gettextngettext)gettext_lazyN)hooks)ModelAdminURLFinderregister_admin_url_finder)MenuItem)get_site_for_user)
SearchArea)SummaryItem)
admin_urlsget_document_model)DocumentsAdminAPIViewSetGroupDocumentPermissionFormSet)permission_policy)DocumentLinkHandler)&ContentstateDocumentLinkConversionRule)$EditorHTMLDocumentLinkConversionRule)AddTagsBulkActionAddToCollectionBulkActionDeleteBulkAction)viewset)BaseViewRestriction)RemovedInWagtail70Warning)require_wagtail_loginregister_admin_urlsc                   C   s   t dttddgS )Nz
documents/Zwagtaildocs)	namespace)r   r   r    r%   r%   g/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/documents/wagtail_hooks.pyr#   '   s    construct_admin_apic                 C   s   |  dt d S )N	documents)Zregister_endpointr   )Zrouterr%   r%   r&   r'   .   s    c                   @   s   e Zd Zdd ZdS )DocumentsMenuItemc                 C   s   t |jdddgS Naddchangedeleter   user_has_any_permissionuserselfrequestr%   r%   r&   is_shown4   s     zDocumentsMenuItem.is_shownN__name__
__module____qualname__r4   r%   r%   r%   r&   r)   3   s   r)   Zregister_admin_menu_itemc                   C   s   t tdtdddddS NZ	Documentswagtaildocs:indexr(   doc-full-inversei  )nameZ	icon_nameorder)r)   _r   r%   r%   r%   r&   register_documents_menu_item:   s    r?   Zregister_rich_text_featuresc                 C   sf   |  t | ddtjddtddtdidd	gd
 | ddt | ddt	 | j
d d S )Ndraftailzdocument-linkZDOCUMENTr;   ZDocumentZdocumentChooserzwagtaildocs_chooser:choose)typeicondescriptionZchooserUrlsz(wagtaildocs/js/document-chooser-modal.js)jsZ
editorhtmlZcontentstate)Zregister_link_typer   Zregister_editor_plugindraftail_featuresZEntityFeaturer	   r   Zregister_converter_ruler   r   Zdefault_featuresappend)featuresr%   r%   r&   register_document_featureE   s4    
     rH   c                   @   s$   e Zd ZdZdZdd Zdd ZdS )DocumentsSummaryItemi,  z0wagtaildocs/homepage/site_summary_documents.htmlc                 C   s2   t | jjd }t| jjddddh |dS )N	site_namer+   r,   r-   choose)Z
total_docsrJ   )r   r3   r0   r   Z%instances_user_has_any_permission_forcount)r2   Zparent_contextrJ   r%   r%   r&   get_context_datag   s     
z%DocumentsSummaryItem.get_context_datac                 C   s   t | jjdddgS r*   )r   r/   r3   r0   )r2   r%   r%   r&   r4   q   s     zDocumentsSummaryItem.is_shownN)r6   r7   r8   r=   Ztemplate_namerM   r4   r%   r%   r%   r&   rI   c   s   
rI   Z construct_homepage_summary_itemsc                 C   s   | t|  d S N)rF   rI   )r3   itemsr%   r%   r&   add_documents_summary_itemw   s    rP   c                   @   s   e Zd Zdd ZdS )DocsSearchAreac                 C   s   t |jdddgS r*   r.   r1   r%   r%   r&   r4   }   s     zDocsSearchArea.is_shownNr5   r%   r%   r%   r&   rQ   |   s   rQ   Zregister_admin_search_areac                   C   s   t tdtdddddS r9   )rQ   r>   r   r%   r%   r%   r&   register_documents_search_area   s    rR   Zregister_group_permission_panelc                   C   s   t S rN   r   r%   r%   r%   r&   #register_document_permissions_panel   s    rS   Zdescribe_collection_contentsc                 C   sJ   t  jj| d }|rFtdd| j  }|tdd|d|i |dS d S )N)
collectionr:   z?collection_id=%dz%(count)s documentz%(count)s documentsrL   )rL   Z
count_texturl)r   objectsfilterrL   r   idr
   )rT   Z
docs_countrU   r%   r%   r&   describe_collection_docs   s      rY   Zbefore_serve_documentc                 C   s   | j  D ]}||s
|jtjkrddlm} ||d| id}t	d|j
gd}ttdd}ttd	rtd
td ttd	|}||d}t|||  S |jtjtjfkr
t| d  S q
dS )a_  
    Check whether there are any view restrictions on this document which are
    not fulfilled by the given request object. If there are, return an
    HttpResponse that will notify the user of that restriction (and possibly
    include a password / login form that will allow them to proceed). If
    there are no such restrictions, return None
    r   )PasswordViewRestrictionFormZ
return_url)instanceinitialZ&wagtaildocs_authenticate_with_password)argsZ&WAGTAILDOCS_PASSWORD_REQUIRED_TEMPLATEz"wagtaildocs/password_required.htmlZ#DOCUMENT_PASSWORD_REQUIRED_TEMPLATEzwThe `DOCUMENT_PASSWORD_REQUIRED_TEMPLATE` setting is deprecated - use `WAGTAILDOCS_PASSWORD_REQUIRED_TEMPLATE` instead.)category)form
action_url)nextN)rT   Zget_view_restrictionsZaccept_requestZrestriction_typer    ZPASSWORDZwagtail.formsrZ   Zget_full_pathr   rX   getattrr   hasattrr   r!   r   ZLOGINZGROUPSr"   )Zdocumentr3   ZrestrictionrZ   r_   r`   Zpassword_required_templatecontextr%   r%   r&   check_view_restrictions   sD    	

 

re   c                   @   s   e Zd ZdZeZdS )DocumentAdminURLFinderzwagtaildocs:editN)r6   r7   r8   Zedit_url_namer   r%   r%   r%   r&   rf      s   rf   Zregister_bulk_actionZregister_admin_viewsetc                   C   s   t S rN   )chooser_viewsetr%   r%   r%   r&   !register_document_chooser_viewset   s    rh   )Pwarningsr   Zdjango.confr   Zdjango.template.responser   Zdjango.urlsr   r   r   r   Zdjango.utils.translationr	   r
   r   r>   Z1wagtail.admin.rich_text.editors.draftail.featuresZadmin	rich_textZeditorsr@   rG   rE   Zwagtailr   Zwagtail.admin.admin_url_finderr   r   Zwagtail.admin.menur   Zwagtail.admin.navigationr   Zwagtail.admin.searchr   Zwagtail.admin.site_summaryr   Zwagtail.documentsr   r   Z!wagtail.documents.api.admin.viewsr   Zwagtail.documents.formsr   Zwagtail.documents.permissionsr   Zwagtail.documents.rich_textr   Z(wagtail.documents.rich_text.contentstater   Z'wagtail.documents.rich_text.editor_htmlr   Z$wagtail.documents.views.bulk_actionsr   r   r   Zwagtail.documents.views.chooserr   rg   Zwagtail.modelsr    Zwagtail.utils.deprecationr!   Zwagtail.wagtail_hooksr"   registerr#   r'   r)   r?   rH   rI   rP   rQ   rR   rS   rY   re   rf   action_classrh   r%   r%   r%   r&   <module>   sf   $










1