U
    |h%                     @   s  d dl Z d dlmZ d dlmZ d dlmZ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 d dlmZmZmZ d dl m!Z!m"Z" d dl#m$Z$ d dl%m&Z&m'Z' d dl(m)Z) d dl*m+Z+ d dl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 dd Z5ee5dd Z6dd Z7G dd de+Z8G dd deZ9G dd  d ej: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@G d+d, d,e&ZAG d-d. d.e&ZBG d/d0 d0e'ZCG d1d2 d2e&ZDG d3d4 d4eZEG d5d6 d6e&ZFG d7d8 d8e&ZGG d9d: d:eZHG d;d< d<e'ZIG d=d> d>e$ZJeJd?ZKeKjLZMG d@dA dAe)jNZOG dBdC dCe)ZPePdDZQdS )E    N)formsHttpResponse)redirectrender)TemplateResponse)path)timezone)gettext_lazy)messages)user_passes_test)WagtailFilterSet)
FieldPanel)BooleanColumnColumnUpdatedAtColumn)
DeleteViewEditView	IndexView)ViewSetViewSetGroup)ChooserViewSet)ModelViewSetModelViewSetGroup)PageListingViewSet)SubmissionsListView)Advert	EventPageFeatureCompleteToyJSONBlockCountsStreamModelJSONMinMaxCountStreamModelJSONStreamModelModelWithStringTypePrimaryKeySearchTestModelc                 C   s
   | j dkS )NZBob)Z
first_name)user r%   b/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/test/testapp/views.pyuser_is_called_bob"   s    r'   c                 C   s   t dS )NzBobs of the world unite!r   )requestr%   r%   r&   bob_only_zone&   s    r)   c                 C   s@   | j dkr2tt| jd }|| | jd  tdS t| dS d S )NPOSTlevelmessageZtestapp_message_testzwagtailadmin/base.html)methodgetattrr   r*   r   r   )r(   fnr%   r%   r&   message_test+   s
    
r0   c                       s(   e Zd ZdZdZdZ fddZ  ZS )CustomSubmissionsListView2   )Zsubmit_time)z-submit_timec                    s   t   }| jjd | S )z:Returns the filename for CSV file with page title at start-)superget_csv_filenameZ	form_pageZslug)selffilename	__class__r%   r&   r5   9   s    
z*CustomSubmissionsListView.get_csv_filename)__name__
__module____qualname__paginate_bydefault_orderingZordering_csvr5   __classcell__r%   r%   r8   r&   r1   4   s   r1   c                   @   s    e Zd ZeZdZdZdZdZdS )TestIndexViewtestapp_generic_indexz'tests/generic_view_templates/index.html   test_objectN)	r:   r;   r<   r"   modelindex_url_nametemplate_namer=   context_object_namer%   r%   r%   r&   r@   ?   s
   r@   c                   @   s   e Zd ZG dd dZdS )CustomModelEditFormc                   @   s   e Zd ZeZdZdS )zCustomModelEditForm.Meta)contentN)r:   r;   r<   r"   rD   fieldsr%   r%   r%   r&   MetaH   s   rK   Nr:   r;   r<   rK   r%   r%   r%   r&   rH   G   s   rH   c                   @   s<   e Zd ZeZdZdZdZdZdZ	dZ
eZedZedZdS )	TestEditViewrC   z&tests/generic_view_templates/edit.htmlrA   testapp_generic_edittestapp_generic_deleteUser '%(object)s' updated.ztest edit viewN)r:   r;   r<   r"   rD   rG   rF   rE   Zsuccess_urledit_url_namedelete_url_namerH   Z
form_classr
   success_message
page_titler%   r%   r%   r&   rM   M   s   rM   c                   @   s4   e Zd ZeZdZdZdZdZdZ	e
dZe
dZdS )	TestDeleteViewrC   z(tests/generic_view_templates/delete.htmlrA   rN   rO   rP   ztest delete viewN)r:   r;   r<   r"   rD   rG   rF   rE   rQ   rR   r
   rS   rT   r%   r%   r%   r&   rU   Z   s   rU   c                       sF   e Zd ZdZdZdZdZd fdd	Zdd	 Zd
d Z	dd Z
  ZS )CalendarViewSetzThe Calendardatecalendarztests/misc/calendar.htmlNc                    s   t  j|f| t | _d S )N)r4   __init__r	   now)r6   namekwargsr8   r%   r&   rY   k   s    zCalendarViewSet.__init__c                 C   s4   t  | jj}t|| j|| jj d| jdS )N	 calendarcalendar_htmlrT   header_icon)rX   HTMLCalendar
formatyearrZ   yearr   rF   iconr6   r(   r_   r%   r%   r&   indexo   s    zCalendarViewSet.indexc                 C   sD   t  | jj| jj}t|| j|| jj d| jj d| jdS )N/r]   r^   )	rX   ra   formatmonthrZ   rc   monthr   rF   rd   re   r%   r%   r&   ri   {   s     zCalendarViewSet.monthc                 C   s    t d| jddt d| jddgS )N rf   r[   zmonth/ri   )r   rf   ri   r6   r%   r%   r&   get_urlpatterns   s    zCalendarViewSet.get_urlpatterns)N)r:   r;   r<   
menu_labelrd   r[   rF   rY   rf   ri   rm   r?   r%   r%   r8   r&   rV   e   s   rV   c                   @   s,   e Zd ZdZdZdZdZdd Zdd Zd	S )
GreetingsViewSetzThe Greetingsr$   Z	greetingsZ	greetingzc                 C   s   t |dd| jdS )Nztests/misc/greetings.htmlZ	Greetings)rT   r`   )r   rd   )r6   r(   r%   r%   r&   rf      s
    
zGreetingsViewSet.indexc                 C   s   t d| jddgS )Nrj   rf   rk   )r   rf   rl   r%   r%   r&   rm      s    z GreetingsViewSet.get_urlpatternsN)	r:   r;   r<   rn   rd   url_namespace
url_prefixrf   rm   r%   r%   r%   r&   ro      s   ro   c                   @   s   e Zd ZeefZdZdS )MiscellaneousViewSetGroupZMiscellaneousN)r:   r;   r<   rV   ro   itemsrn   r%   r%   r%   r&   rr      s   rr   c                   @   s   e Zd ZdZeZg ZdZdS )JSONStreamModelViewSetZstreammodelrotateN)r:   r;   r<   r[   r!   rD   exclude_form_fieldsrd   r%   r%   r%   r&   rt      s   rt   c                   @   s$   e Zd ZdZdZeZdZdZdZ	dS )!JSONMinMaxCountStreamModelViewSetZminmaxcount_streammodelzminmaxcount-streammodel)bodyru   zJSON MinMaxCount StreamModelN)
r:   r;   r<   rp   rq   r    rD   form_fieldsrd   rn   r%   r%   r%   r&   rw      s   rw   c                
   @   s&   e Zd ZeeeeddddddfZdS )JSONModelViewSetGroupr%   ZresubmitZblockcounts_streammodelzblockcounts/streammodelzJSON BlockCounts StreamModel)rD   rv   rd   rp   rq   rn   N)r:   r;   r<   rt   rw   r   r   rs   r%   r%   r%   r&   rz      s   rz   c                   @   s    e Zd ZeZddgZddgZdS )SearchTestModelViewSettitlerx   N)r:   r;   r<   r#   rD   search_fieldsry   r%   r%   r%   r&   r{      s   r{   c                   @   s   e Zd ZeZddgZdS )FeatureCompleteToyIndexViewr[   z-release_dateN)r:   r;   r<   r   rD   r>   r%   r%   r%   r&   r~      s   r~   c                   @   s~   e Zd ZeZdZdZdZdZdZ	dZ
eZdede gZdd	gZdd	dgZd
Zd	diZdZdZdd	gZeded	ddgZdS )FeatureCompleteToyViewSetZfeature_complete_toyzfeature-complete-toyzFeature Complete Toysmediazcustomprefix/ztests/fctoy_index.htmlr[   Zis_coolrelease_datezfeature-complete-toyszLaunch date   Tstridztests.can_set_release_date)Z
permissionN)r:   r;   r<   r   rD   rp   rq   rn   rd   Ztemplate_prefixZindex_template_namer~   index_view_classr   r   list_displaylist_filterZlist_exportZexport_filenameZexport_headingsZlist_per_pageinspect_view_enabledZinspect_view_fieldsr   Zpanelsr%   r%   r%   r&   r      s&   

r   c                       sH   e Zd ZeZdZddgiZdgZdZdZ	ddgZ
dZ fd	d
Z  ZS )FCToyAlt1ViewSetr   r[   Z	icontainszFC Toys Alt 1Tr   r   Fc                    s   t  jf ddi|S )NZis_searchableF)r4   get_index_view_kwargs)r6   r\   r8   r%   r&   r      s    z&FCToyAlt1ViewSet.get_index_view_kwargs)r:   r;   r<   r   rD   rd   r   ry   rn   r   Zinspect_view_fields_excludecopy_view_enabledr   r?   r%   r%   r8   r&   r      s   
r   c                   @   s   e Zd ZG dd dZdS )FCToyCustomFilterSetc                   @   s   e Zd ZeZddgiZdS )zFCToyCustomFilterSet.Metar   Z	year__lteN)r:   r;   r<   r   rD   rJ   r%   r%   r%   r&   rK      s   rK   NrL   r%   r%   r%   r&   r      s   r   c                   @   sX   e Zd ZdZdZeeddeddede	ddgd	d
eddede
dddgdgddfZd	S )ToyViewSetGroupZToysr   Z
fctoy_alt1rk   z
fctoy-alt2zFC Toys Alt 2r%   r[   N)r[   rn   rD   rd   filterset_classrv   r}   Zsearch_backend_namez
fctoy-alt3zFC Toys Alt 3r   r   F)r[   rn   rD   rv   r   r   Zorderingr   )r:   r;   r<   rn   Z	menu_iconr   r   r   r   r   r~   rs   r%   r%   r%   r&   r      s2   
r   c                   @   s*   e Zd ZeZdZdgZddgZdd ZdS )AnimatedAdvertChooserViewSetFurlZmultiplec                 C   s   t jjddS )NZanimated)Z
tags__name)r   objectsfilterrl   r%   r%   r&   get_object_list$  s    z,AnimatedAdvertChooserViewSet.get_object_listN)	r:   r;   r<   r   rD   Zregister_widgetZurl_filter_parametersZpreserve_url_parametersr   r%   r%   r%   r&   r     s
   r   Zanimated_advert_chooserc                   @   s   e Zd ZG dd dZdS )EventPageFilterSetc                   @   s   e Zd ZeZdgZdS )zEventPageFilterSet.MetaaudienceN)r:   r;   r<   r   rD   rJ   r%   r%   r%   r&   rK   0  s   rK   NrL   r%   r%   r%   r&   r   /  s   r   c                   @   s6   e Zd ZeZdZdZdZej	e
ddddg Z	eZdS )EventPageListingViewSetrX   zEvent pagesTr   ZAudience)labelsort_keyN)r:   r;   r<   r   rD   rd   rn   Zadd_to_admin_menur   columnsr   r   r   r%   r%   r%   r&   r   5  s   r   Zevent_pages)RrX   djangor   Zdjango.httpr   Zdjango.shortcutsr   r   Zdjango.template.responser   Zdjango.urlsr   Zdjango.utilsr	   Zdjango.utils.translationr
   Zwagtail.adminr   Zwagtail.admin.authr   Zwagtail.admin.filtersr   Zwagtail.admin.panelsr   Zwagtail.admin.ui.tablesr   r   r   Zwagtail.admin.views.genericr   r   r   Zwagtail.admin.viewsets.baser   r   Zwagtail.admin.viewsets.chooserr   Zwagtail.admin.viewsets.modelr   r   Zwagtail.admin.viewsets.pagesr   Zwagtail.contrib.forms.viewsr   Zwagtail.test.testapp.modelsr   r   r   r   r    r!   r"   r#   r'   r)   r0   r1   r@   Z	ModelFormrH   rM   rU   rV   ro   rr   rt   rw   rz   r{   r~   r   r   r   r   r   Zanimated_advert_chooser_viewsetZwidget_classZAdvertChooserWidgetr   r   r   Zevent_page_listing_viewsetr%   r%   r%   r&   <module>   s`   (
	+	
