U
    c`                     @   sj   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 G dd	 d	ee	Zd
S )    )messages)UserPassesTestMixin)HttpResponseRedirect)reverse_lazy)FormView)ClearCacheForm)clear_cachec                       sH   e Zd ZeZdZedZdd Z fddZ	dd Z
 fd	d
Z  ZS )ClearCacheAdminViewz%clearcache/admin/clearcache_form.htmlZclearcache_adminc                 C   s
   | j jjS N)requestuserZis_superuser)self r   4/tmp/pip-unpacked-wheel-qkvv45dw/clearcache/views.py	test_func   s    zClearCacheAdminView.test_funcc                    s   t  |||}|S r
   )superdispatch)r   r   argskwargsresponse	__class__r   r   r      s    zClearCacheAdminView.dispatchc              
   C   st   z2|j d }t| t| jd|j d  d W n6 tk
rh } zt| jd|  W 5 d }~X Y nX t| jS )N
cache_namezSuccessfully cleared 'z' cachez<Couldn't clear cache, something went wrong. Received error: )	Zcleaned_datar   r   successr   	Exceptionerrorr   success_url)r   formr   errr   r   r   
form_valid   s    
 &zClearCacheAdminView.form_validc                    s   t  jf |}d|d< |S )NzClear cachetitle)r   get_context_data)r   r   contextr   r   r   r!   "   s    z$ClearCacheAdminView.get_context_data)__name__
__module____qualname__r   Z
form_classZtemplate_namer   r   r   r   r   r!   __classcell__r   r   r   r   r	      s   	r	   N)Zdjango.contribr   Zdjango.contrib.auth.mixinsr   Zdjango.httpr   Zdjango.urlsr   Zdjango.views.genericr   Zclearcache.formsr   Zclearcache.utilsr   r	   r   r   r   r   <module>   s   