o
    bd
                     @   s   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 d dlmZ d dlmZ d dlmZ d d	lmZ edddZedd ZedefddZdd Zd
S )    )render)RequestContext)Talk)	Paginator	EmptyPagePageNotAnInteger)Make_Submenu)xframe_options_sameoriginQ)reduce)RedirectNc                 C   s   t | d}|r
| S |d u rtjjddd}d| jv r'|j| jdd}| jd}|r5|j|d}t|d	}| jd
}z|	|}t
|}W n! ty[   d}|	|}Y n tyl   |	|j}|j}Y nw t| d||t| ddS )Nzresearch/colloquium/TBA)title-datespeakerspeaker__icontainstermabstract__icontains   page   zcolloquium/talk_list.htmlresearch)talkspnumsubmenu)r   r   objectsexcludeorder_byGETfiltergetr   r   intr   r   	num_pagesr   r   )request	talk_listrr   	paginatorpage_numberr    r+   #/var/www/djphys/colloquium/views.pyr'      s>   





r'   c                 C   s   | j d}zI|d}tjttjdd |D }tjttjdd |D }tjttjdd |D }|	||
d}t| | rL|W S dW S    t|  Y S )	zN
    Attempt to identify colloquia responding to the term(s)
    in words
    r    c                 S      g | ]}t |d qS )r   r
   .0xr+   r+   r,   
<listcomp>8       zcolloquia.<locals>.<listcomp>c                 S   r.   ))title__icontainsr
   r/   r+   r+   r,   r2   :   r3   c                 S   r.   )r   r
   r/   r+   r+   r,   r2   <   r3   r   N)POSTr#   splitr   r   r"   r   r   __or__unionr    r'   count)r&   words	word_listspeakstitles	abstractsallr+   r+   r,   	colloquia.   s    
r@   pkc                 C   s0   zt | ddtjj|diW S    t|  Y S )Nzcolloquium/detail.htmlobject)id)r   r   r   r#   r'   )r&   rA   r+   r+   r,   
colloquiumC   s   rD   c                 C   s   t   t| S N)r   exportr@   )r&   r+   r+   r,   dumpL   s   rG   rE   )django.shortcutsr   django.templater   colloquium.modelsr   django.core.paginatorr   r   r   djphys.menusr   $django.views.decorators.clickjackingr	   django.db.modelsr   	functoolsr   djphys.redirectr   r'   r@   r$   rD   rG   r+   r+   r+   r,   <module>   s    
