a
    Dgt                     @   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/Zwagtailimages)	namespace)r   r   r    r    r    [/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/wagtail/images/wagtail_hooks.pyr      s    construct_admin_apic                 C   s   |  dt d S )Nimages)Zregister_endpointr   )Zrouterr    r    r!   r"   %   s    c                   @   s   e Zd Zdd ZdS )ImagesMenuItemc                 C   s   t |jg dS N)addchangedeleter   user_has_any_permissionuserselfrequestr    r    r!   is_shown+   s    
zImagesMenuItem.is_shownN__name__
__module____qualname__r/   r    r    r    r!   r$   *   s   r$   Zregister_admin_menu_itemc                   C   s   t tdtdddddS )NImageswagtailimages:indexr#   imagei,  nameZ	icon_nameorder)r$   _r   r    r    r    r!   register_images_menu_item1   s    r;   Z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 )NZ
editorhtmlr6   draftailZIMAGEZImage)idsrcZaltformatr=   TZimageChooserzwagtailimages_chooser:choose)typeZicondescription
attributesZ	allowlistZchooserUrlsz'wagtailimages/js/image-chooser-modal.js)ZjsZcontentstate)Zregister_embed_typer   Zregister_converter_ruler   Zregister_editor_plugindraftail_featuresZEntityFeaturer   r   r   Zdefault_featuresappend)featuresr    r    r!   register_image_feature<   s2    
rF   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heightZscaleZjpegqualityZwebpqualityZavifqualityr?   Zbgcolor)r   ZDoNothingOperationZFillOperationZMinMaxOperationZWidthHeightOperationZScaleOperationZJPEGQualityOperationZWebPQualityOperationZAvifQualityOperationZFormatOperationZBackgroundColorOperationr    r    r    r!   rG   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(   )Ztotal_imagesrP   )r   r.   r+   r   Z%instances_user_has_any_permission_forcount)r-   Zparent_contextrP   r    r    r!   get_context_data   s    z"ImagesSummaryItem.get_context_datac                 C   s   t | jjg dS r%   )r   r*   r.   r+   )r-   r    r    r!   r/      s    zImagesSummaryItem.is_shownN)r1   r2   r3   r9   Ztemplate_namerS   r/   r    r    r    r!   rN   }   s   
rN   Z construct_homepage_summary_itemsc                 C   s   | t|  d S N)rD   rN   )r.   itemsr    r    r!   add_images_summary_item   s    rV   c                   @   s   e Zd Zdd ZdS )ImagesSearchAreac                 C   s   t |jg dS r%   r)   r,   r    r    r!   r/      s    
zImagesSearchArea.is_shownNr0   r    r    r    r!   rW      s   rW   Zregister_admin_search_areac                   C   s   t tdtdddddS )Nr4   r5   r#   r6   rO   r7   )rW   r:   r   r    r    r    r!   register_images_search_area   s    rX   Zregister_group_permission_panelc                   C   s   t S rT   r   r    r    r    r!    register_image_permissions_panel   s    rY   Zdescribe_collection_contentsc                 C   sJ   t  jj| d }|rFtdd| j  }|tdd|d|i |dS d S )N)
collectionr5   z?collection_id=%dz%(count)s imagez%(count)s imagesrR   )rR   Z
count_texturl)r   ZobjectsfilterrR   r   r=   r   )rZ   Z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)r1   r2   r3   Zedit_url_namer   r    r    r    r!   r^      s   r^   Zregister_bulk_actionZregister_admin_viewsetc                   C   s   t S rT   )chooser_viewsetr    r    r    r!   register_image_chooser_viewset   s    r`   )EZdjango.urlsr   r   r   r   Zdjango.utils.translationr   r   r   r:   Z1wagtail.admin.rich_text.editors.draftail.featuresZadminZ	rich_textZeditorsr<   rE   rC   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.imagesr   r   r   Zwagtail.images.api.admin.viewsr   Zwagtail.images.formsr   Zwagtail.images.permissionsr   Zwagtail.images.rich_textr   Z%wagtail.images.rich_text.contentstater   Z$wagtail.images.rich_text.editor_htmlr   Z!wagtail.images.views.bulk_actionsr   r   r   Zwagtail.images.views.chooserr   r_   registerr   r"   r$   r;   rF   rG   rN   rV   rW   rX   rY   r]   r^   action_classr`   r    r    r    r!   <module>   sZ   $



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

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