a
    Dg                     @   s   d dl 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 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 G dd de	eZG dd deZG dd deZG dd deZG dd deZdS )    N)reverse)capfirst)gettext_lazy)WagtailAdminTemplateMixin)AddView)CreateFromUploadView)DeleteUploadView)
DeleteView)EditView   get_document_model)get_document_formget_document_multi_form)permission_policyc                       s   e Zd ZeZdZdZedZdZdZ	dZ
dZdZdZd	Zd
ZdZdZdZdd Zdd Zdd Zdd Zdd Z fddZ  ZS )r   zwagtaildocs/multiple/add.htmlzdoc-full-inversezAdd documentszwagtaildocs:indexwagtaildocs:edit_multiplewagtaildocs:delete_multipledocdoc_id2wagtaildocs:create_multiple_from_uploaded_document"wagtaildocs:delete_upload_multipleuploaded-documentuploaded_documentuploaded_file_idc                 C   s.   | j t| jt| jjjdd|  dg S )N)urllabel )Zbreadcrumbs_itemsr   index_url_namer   modelZ_metaZverbose_name_pluralZget_page_titleself r!   _/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/wagtail/documents/views/multiple.pyget_breadcrumbs_items*   s    zAddView.get_breadcrumbs_itemsc                 C   s   t  S Nr   r   r!   r!   r"   	get_model3   s    zAddView.get_modelc                 C   s
   t | jS r$   )r   r   r   r!   r!   r"   get_upload_form_class6   s    zAddView.get_upload_form_classc                 C   s
   t | jS r$   r   r   r   r!   r!   r"   get_edit_form_class9   s    zAddView.get_edit_form_classc                 C   s*   |j dd}| jj|_|  |   |S )NF)commit)saverequestuseruploaded_by_user_set_document_file_metadata)r    formr   r!   r!   r"   save_object<   s
    
zAddView.save_objectc                    s.   t  jf i |}|d| jjd ji |S )NZmax_title_lengthtitle)superget_context_dataupdater/   fields
max_length)r    kwargscontext	__class__r!   r"   r3   D   s    zAddView.get_context_data)__name__
__module____qualname__r   Ztemplate_nameZheader_iconr   Z
page_titler   edit_object_url_namedelete_object_url_nameedit_object_form_prefixcontext_object_namecontext_object_id_nameedit_upload_url_namedelete_upload_url_nameedit_upload_form_prefixcontext_upload_nameZcontext_upload_id_namer#   r%   r&   r(   r0   r3   __classcell__r!   r!   r9   r"   r      s*   	r   c                   @   s8   e Zd ZeZdZdZdZdZdZdZ	dd Z
dd Zd	S )
r
   r   r   r   r   c                 C   s   t  S r$   r   r   r!   r!   r"   r%   Y   s    zEditView.get_modelc                 C   s
   t | jS r$   r'   r   r!   r!   r"   r(   \   s    zEditView.get_edit_form_classN)r;   r<   r=   r   pk_url_kwargr@   rA   rB   r>   r?   r%   r(   r!   r!   r!   r"   r
   P   s   r
   c                   @   s    e Zd ZeZdZdZdd ZdS )r	   r   c                 C   s   t  S r$   r   r   r!   r!   r"   r%   e   s    zDeleteView.get_modelN)r;   r<   r=   r   rH   rB   r%   r!   r!   r!   r"   r	   `   s   r	   c                   @   s<   e Zd ZdZdZdZdZdZdZdd Z	d	d
 Z
dd ZdS )CreateFromUploadedDocumentViewr   r   r   r   r   r   c                 C   s   t  S r$   r   r   r!   r!   r"   r%   q   s    z(CreateFromUploadedDocumentView.get_modelc                 C   s
   t | jS r$   r'   r   r!   r!   r"   r(   t   s    z2CreateFromUploadedDocumentView.get_edit_form_classc                 C   sJ   | j jjtj| jjj| jjjdd | jj	| j _
| j   |  d S )NF)r*   )objectfiler*   ospathbasenameuploadnamer+   r,   r-   r.   )r    r/   r!   r!   r"   r0   w   s    
z*CreateFromUploadedDocumentView.save_objectN)r;   r<   r=   rC   rD   upload_pk_url_kwargrE   rB   rF   r%   r(   r0   r!   r!   r!   r"   rI   i   s   rI   c                   @   s   e Zd ZdZdd ZdS )r   r   c                 C   s   t  S r$   r   r   r!   r!   r"   r%      s    zDeleteUploadView.get_modelN)r;   r<   r=   rQ   r%   r!   r!   r!   r"   r      s   r   )os.pathrL   Zdjango.urlsr   Zdjango.utils.textr   Zdjango.utils.translationr   Z wagtail.admin.views.generic.baser   Z+wagtail.admin.views.generic.multiple_uploadr   ZBaseAddViewr   ZBaseCreateFromUploadViewr   ZBaseDeleteUploadViewr	   ZBaseDeleteViewr
   ZBaseEditViewr   r   Zformsr   r   Zpermissionsr   rI   r!   r!   r!   r"   <module>   s"   9	