
    hP                        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mZmZ ddlmZmZmZ  G d dej<                        Zedd       Z ed        Z!ed        Z"ed        Z#y)    )forms)admin)widgets)login_required)PermissionDenied)HttpResponseRedirect)HttpResponseBadRequest)TemplateResponse)gettext_lazy   )settings)	ClipboardFolder
FolderRoottools   )AdminContextadmin_url_params_encodedpopup_statusc                        e Zd Z G d d      Zy)NewFolderFormc                   0    e Zd ZeZdZdej                  iZy)NewFolderForm.Meta)namer   N)__name__
__module____qualname__r   modelfieldsr   AdminTextInputWidget     A/home/dcms/DCMS/lib/python3.12/site-packages/filer/admin/views.pyMetar      s    G00
r"   r$   N)r   r   r   r$   r!   r"   r#   r   r      s    
 
r"   r   Nc                 4   |s| j                   j                  d      }|s| j                  j                  d      }|r"	 t        j                  j                  |      }nd }| j                  j                  rn/|t        j                  st        |j                  |       st        | j                  dk(  rt        | j                        }|j                         r|j                  d      }|xs
 t!               j#                  |j$                        r)|j'                  t)        d      g      |j*                  d<   n^t,        j.                  j1                  |       }||_        | j                  |_        |j                          t7        | d|      S t               }t,        j.                  j1                  |       }|j9                  t        j:                  |t=        |       t?        |       d	       t7        | d
|      S # t        j
                  $ r t        w xY w)N	parent_id)idPOSTF)commitz%Folder with this name already exists.r   zadmin/filer/dismiss_popup.html)optsnew_folder_formis_popupfiler_admin_contextz'admin/filer/folder/new_folder_form.html) GETgetr(   r   objectsDoesNotExistr   useris_superuserfiler_settings-FILER_ALLOW_REGULAR_USERS_TO_ADD_ROOT_FOLDERShas_add_children_permissionmethodr   is_validsaver   contains_folderr   error_class__errorsr   siteeach_contextparentownerr
   update_metar   r   )request	folder_idfolderr+   
new_foldercontexts         r#   make_folderrI      s   KKOOK0	LL$$[1		#^^''9'5F ||  	KK""//8~~'5##%(--U-;J&*,77
H2A2M2M>?@3B''/  **11':$*
!#*<<
 !'1QSZ[['/jj%%g.GNN* )+G4	  G%NPWXXM "" 	#""	#s    G= =Hc                     	 t        d      S Nznot implemented anymore)r	   r7   r   r0   r/   r(   r   r6   r   #move_files_from_clipboard_to_folderdiscard_clipboardr   r.   r   formatr   )rD   rF   	clipboardredirects       r#   paste_clipboard_to_folderrQ   K       %&?@@r"   c                     	 t        d      S rK   )r	   r7   r   r0   r/   r(   r   rM   r   rN   r   rD   rO   s     r#   rM   rM   d   rR   r"   c                     	 t        d      S rK   )r	   r7   r   r0   r/   r(   r   delete_clipboardr   rN   r   rT   s     r#   rV   rV   u   rR   r"   )N)$djangor   django.contribr   django.contrib.adminr   django.contrib.auth.decoratorsr   django.core.exceptionsr   django.httpr   django.http.responser	   django.template.responser
   django.utils.translationr   r<    r   r4   modelsr   r   r   r   r   r   r   	ModelFormr   rI   rQ   rM   rV   r!   r"   r#   <module>rc      s       ( 9 3 , 7 5 6 ) 9 9 G G
EOO 
 .Y .Yb  0     r"   