3

\	                 @   st   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 eddZed	d
ZG dd deZdS )    )settings)Http404HttpResponseForbidden)TemplateResponse)gettext_lazy)ListView)	get_classzdashboard.reports.forms
ReportFormzdashboard.reports.utilsGeneratorRepositoryc               @   s:   e Zd ZdZejZdZeZ	e
Zdd Zdd Zdd Zd	S )
	IndexViewzdashboard/reports/index.htmlobjectsc             C   sV   |j d }| j }|j|}|s&t |j d }|r8dnd}||j d |j d |dS )Nreport_typedownloadZCSVHTML	date_fromdate_to)
start_dateend_date	formatter)cleaned_datagenerator_repositoryZget_generatorr   )selfformcodeZrepoZgenerator_clsr   r    r   =/var/www/html/oscar2019/oscar/apps/dashboard/reports/views.py_get_generator   s    



zIndexView._get_generatorc             O   s   d|j kr| j|j }|j r| j|}|j|js@ttdS |j }|j	d rV|S | j
|| | j| jd}||d< |j |d< | j|S n| j }t|| jd|iS )Nr   z%You do not have access to this reportr   )object_listr   description)GETreport_form_classis_validr   Zis_available_touserr   _generater   set_list_view_attrsget_context_dataquerysetZreport_descriptionrender_to_responser   template_name)r   requestargskwargsr   	generatorreportcontextr   r   r   get$   s     


zIndexView.getc             C   s$   |j  | _|j|}| | _| _d S )N)filenamer)   Zfilter_with_date_ranger   r'   )r   r-   r.   r'   r   r   r   r%   ;   s    

zIndexView.set_list_view_attrsN)__name__
__module____qualname__r)   r   OSCAR_DASHBOARD_ITEMS_PER_PAGEpaginate_bycontext_object_namer	   r    r
   r   r   r0   r%   r   r   r   r   r      s   r   N)django.confr   django.httpr   r   django.template.responser   django.utils.translationr   r#   django.views.genericr   oscar.core.loadingr   r	   r
   r   r   r   r   r   <module>   s   
