o
    h                     @   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 )breadcrumbs_itemsr   index_url_namer   model_metaverbose_name_pluralget_page_titleself r%   `/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/documents/views/multiple.pyget_breadcrumbs_items*   s   zAddView.get_breadcrumbs_itemsc                 C      t  S Nr   r#   r%   r%   r&   	get_model3      zAddView.get_modelc                 C   
   t | jS r)   )r   r   r#   r%   r%   r&   get_upload_form_class6      
zAddView.get_upload_form_classc                 C   r,   r)   r   r   r#   r%   r%   r&   get_edit_form_class9   r.   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di |}|d| jjd ji |S )Nmax_title_lengthtitler%   )superget_context_dataupdater7   fields
max_length)r$   kwargscontext	__class__r%   r&   r<   D   s   zAddView.get_context_data)__name__
__module____qualname__r   template_nameheader_iconr   
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_namecontext_upload_id_namer'   r*   r-   r0   r8   r<   __classcell__r%   r%   rB   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   r(   r)   r   r#   r%   r%   r&   r*   Y   r+   zEditView.get_modelc                 C   r,   r)   r/   r#   r%   r%   r&   r0   \   r.   zEditView.get_edit_form_classN)rD   rE   rF   r   pk_url_kwargrL   rM   rN   rJ   rK   r*   r0   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   r(   r)   r   r#   r%   r%   r&   r*   e   r+   zDeleteView.get_modelN)rD   rE   rF   r   rU   rN   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   r(   r)   r   r#   r%   r%   r&   r*   q   r+   z(CreateFromUploadedDocumentView.get_modelc                 C   r,   r)   r/   r#   r%   r%   r&   r0   t   r.   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)r2   )objectfiler2   ospathbasenameuploadnamer3   r4   r5   r6   )r$   r7   r%   r%   r&   r8   w   s   
z*CreateFromUploadedDocumentView.save_objectN)rD   rE   rF   rO   rP   upload_pk_url_kwargrQ   rN   rR   r*   r0   r8   r%   r%   r%   r&   rV   i   s    rV   c                   @   s   e Zd ZdZdd ZdS )r   r   c                 C   r(   r)   r   r#   r%   r%   r&   r*      r+   zDeleteUploadView.get_modelN)rD   rE   rF   r^   r*   r%   r%   r%   r&   r      s    r   )os.pathrY   django.urlsr   django.utils.textr   django.utils.translationr    wagtail.admin.views.generic.baser   +wagtail.admin.views.generic.multiple_uploadr   BaseAddViewr   BaseCreateFromUploadViewr   BaseDeleteUploadViewr	   BaseDeleteViewr
   BaseEditViewr   r   formsr   r   permissionsr   rV   r%   r%   r%   r&   <module>   s$    9	