o
    ht                     @   sB  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 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+ d dl,m-Z- d dl.m/Z/m0Z0m1Z1 d dl2m3Z4 e5ddd Z6e5ddd Z7G dd deZ8e5ddd Z9e5ddd Z:e5d d!d  Z;G d"d# d#eZ<e5d$d%d& Z=G d'd( d(eZ>e5d)d*d+ Z?e5d,d-d. Z@e5d/d0d1 ZAG d2d3 d3eZBee  eB e/e0e1fD ]	ZCe5d4eC qe5d5d6d7 ZDdS )8    )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_image_modelimage_operations)ImagesAdminAPIViewSetGroupImagePermissionFormSet)permission_policy)ImageEmbedHandler)ContentstateImageConversionRule)EditorHTMLImageConversionRule)AddTagsBulkActionAddToCollectionBulkActionDeleteBulkAction)viewsetregister_admin_urlsc                   C   s   t dttddgS )Nzimages/wagtailimages)	namespace)r   r   r    r!   r!   \/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/images/wagtail_hooks.pyr      s   construct_admin_apic                 C   s   |  dt d S )Nimages)register_endpointr   )routerr!   r!   r"   r#   %   s   c                   @      e Zd Zdd ZdS )ImagesMenuItemc                 C      t |jg dS N)addchangedeleter   user_has_any_permissionuserselfrequestr!   r!   r"   is_shown+      
zImagesMenuItem.is_shownN__name__
__module____qualname__r4   r!   r!   r!   r"   r(   *       r(   register_admin_menu_itemc                   C      t tdtdddddS )NImageswagtailimages:indexr$   imagei,  name	icon_nameorder)r(   _r   r!   r!   r!   r"   register_images_menu_item1      rE   register_rich_text_featuresc                 C   sr   |  t | ddt | ddtjddtdg dddid	td
iddgd | ddt	 | j
d d S )N
editorhtmlr?   draftailIMAGEImage)idsrcaltformatrL   TimageChooserzwagtailimages_chooser:choose)typeicondescription
attributes	allowlistchooserUrlsz'wagtailimages/js/image-chooser-modal.js)jscontentstate)register_embed_typer   register_converter_ruler   register_editor_plugindraftail_featuresEntityFeaturer   r   r   default_featuresappend)featuresr!   r!   r"   register_image_feature<   s2   
ra   register_image_operationsc                   C   sd   dt jfdt jfdt jfdt jfdt jfdt jfdt jfdt jfd	t jfd
t jfdt j	fdt j
fgS )NoriginalfillminmaxwidthheightscalejpegqualitywebpqualityavifqualityrO   bgcolor)r   DoNothingOperationFillOperationMinMaxOperationWidthHeightOperationScaleOperationJPEGQualityOperationWebPQualityOperationAvifQualityOperationFormatOperationBackgroundColorOperationr!   r!   r!   r"   rb   k   s   c                   @   s$   e Zd ZdZdZdd Zdd ZdS )ImagesSummaryItem   z/wagtailimages/homepage/site_summary_images.htmlc                 C   s.   t | jjd }t| jjh d |dS )N	site_name>   r+   r,   chooser-   )total_imagesrz   )r   r3   r0   r   %instances_user_has_any_permission_forcount)r2   parent_contextrz   r!   r!   r"   get_context_data   s   z"ImagesSummaryItem.get_context_datac                 C   s   t | jjg dS r*   )r   r/   r3   r0   )r2   r!   r!   r"   r4      s   zImagesSummaryItem.is_shownN)r7   r8   r9   rC   template_namer   r4   r!   r!   r!   r"   rx   }   s
    
rx    construct_homepage_summary_itemsc                 C   s   | t|  d S N)r_   rx   )r3   itemsr!   r!   r"   add_images_summary_item   s   r   c                   @   r'   )ImagesSearchAreac                 C   r)   r*   r.   r1   r!   r!   r"   r4      r5   zImagesSearchArea.is_shownNr6   r!   r!   r!   r"   r      r:   r   register_admin_search_areac                   C   r<   )Nr=   r>   r$   r?   ry   r@   )r   rD   r   r!   r!   r!   r"   register_images_search_area   rF   r   register_group_permission_panelc                   C      t S r   r   r!   r!   r!   r"    register_image_permissions_panel      r   describe_collection_contentsc                 C   sJ   t  jj| d }|r#tdd| j  }|tdd|d|i |dS d S )N)
collectionr>   z?collection_id=%dz%(count)s imagez%(count)s imagesr~   )r~   
count_texturl)r   objectsfilterr~   r   rL   r   )r   images_countr   r!   r!   r"   describe_collection_docs   s   
r   c                   @   s   e Zd ZdZeZdS )ImageAdminURLFinderzwagtailimages:editN)r7   r8   r9   edit_url_namer   r!   r!   r!   r"   r      s    r   register_bulk_actionregister_admin_viewsetc                   C   r   r   )chooser_viewsetr!   r!   r!   r"   register_image_chooser_viewset   r   r   )Edjango.urlsr   r   r   r   django.utils.translationr   r   r   rD   1wagtail.admin.rich_text.editors.draftail.featuresadmin	rich_texteditorsrI   r`   r\   wagtailr	   wagtail.admin.admin_url_finderr
   r   wagtail.admin.menur   wagtail.admin.navigationr   wagtail.admin.searchr   wagtail.admin.site_summaryr   wagtail.imagesr   r   r   wagtail.images.api.admin.viewsr   wagtail.images.formsr   wagtail.images.permissionsr   wagtail.images.rich_textr   %wagtail.images.rich_text.contentstater   $wagtail.images.rich_text.editor_htmlr   !wagtail.images.views.bulk_actionsr   r   r   wagtail.images.views.chooserr   r   registerr   r#   r(   rE   ra   rb   rx   r   r   r   r   r   r   action_classr   r!   r!   r!   r"   <module>   s\    $




.




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