U
    {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mZ d dlmZmZ d dlm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G dd deZdS )    N)render_to_string)reverse)AddView)CreateFromUploadView)DeleteUploadView)
DeleteView)EditViewget_image_model)get_allowed_image_extensions)get_image_formget_image_multi_form)ImagesPermissionPolicyGetterpermission_policy)find_image_duplicatesc                       s   e Zd Ze 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 fddZdd Z fddZ  ZS )r   zwagtailimages/multiple/add.htmlwagtailimages:edit_multiplewagtailimages:delete_multipleimageimage_id1wagtailimages:create_multiple_from_uploaded_image$wagtailimages:delete_upload_multipleuploaded-imageuploaded_imageuploaded_file_idc                 C   s   t  S Nr	   self r   e/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/images/views/multiple.py	get_model&   s    zAddView.get_modelc                 C   s
   t | jS r   )r   modelr   r   r   r   get_upload_form_class)   s    zAddView.get_upload_form_classc                 C   s
   t | jS r   r   r    r   r   r   r   get_edit_form_class,   s    zAddView.get_edit_form_classc                 C   s*   t d|d t| j| jjfdd| jdS )Nz2wagtailimages/images/confirm_duplicate_upload.htmlr   )args)Zexisting_imageZdelete_action)request)r   r   delete_object_url_nameobjectidr%   )r   
duplicatesr   r   r   %get_confirm_duplicate_upload_response/   s     z-AddView.get_confirm_duplicate_upload_responsec                    sJ   t   }t| j| jj| jd}|s2|jdd n|jd| |d |S )N)r   userr   F)	duplicateT)r,   Zconfirm_duplicate_upload)	superget_edit_object_response_datar   r'   r%   r+   r   updater*   )r   datar)   	__class__r   r   r.   ;   s    
z%AddView.get_edit_object_response_datac                 C   s"   |j dd}| jj|_|   |S )NF)commit)saver%   r+   uploaded_by_user)r   formr   r   r   r   save_objectN   s    
zAddView.save_objectc                    sZ   t  jf |}|| jjd j| jjd jt | jjd jd | jjd jd d |S )NfiletitleZfile_too_large_unknown_sizeZinvalid_image_extension)Zmax_filesizeZmax_title_lengthZallowed_extensionsZerror_max_file_sizeZerror_accepted_file_types)	r-   get_context_datar/   r6   fieldsZmax_upload_size
max_lengthr   Zerror_messages)r   kwargscontextr1   r   r   r:   T   s    zAddView.get_context_data)__name__
__module____qualname__r   r   Ztemplate_nameedit_object_url_namer&   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*   r.   r7   r:   __classcell__r   r   r1   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   q   s    zEditView.get_modelc                 C   s
   t | jS r   r"   r   r   r   r   r#   t   s    zEditView.get_edit_form_classN)r?   r@   rA   r   pk_url_kwargrC   rD   rE   rB   r&   r   r#   r   r   r   r   r   h   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   }   s    zDeleteView.get_modelN)r?   r@   rA   r   rK   rE   r   r   r   r   r   r   x   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 )CreateFromUploadedImageViewr   r   r   r   r   r   c                 C   s   t  S r   r	   r   r   r   r   r      s    z%CreateFromUploadedImageView.get_modelc                 C   s
   t | jS r   r"   r   r   r   r   r#      s    z/CreateFromUploadedImageView.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)r4   )r'   r8   r4   ospathbasenameuploadnamer%   r+   r5   Z_set_image_file_metadata)r   r6   r   r   r   r7      s      
z'CreateFromUploadedImageView.save_objectN)r?   r@   rA   rF   rG   upload_pk_url_kwargrH   rE   rI   r   r#   r7   r   r   r   r   rL      s   rL   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@   rA   rR   r   r   r   r   r   r      s   r   )os.pathrM   Zdjango.template.loaderr   Zdjango.urlsr   Z+wagtail.admin.views.generic.multiple_uploadr   ZBaseAddViewr   ZBaseCreateFromUploadViewr   ZBaseDeleteUploadViewr   ZBaseDeleteViewr   ZBaseEditViewZwagtail.imagesr
   Zwagtail.images.fieldsr   Zwagtail.images.formsr   r   Zwagtail.images.permissionsr   r   Zwagtail.images.utilsr   rL   r   r   r   r   <module>   s"   R	