3

\                 @   s   d dl Z d dlmZ d dlmZmZ eddZeddZeddZ	edd	Z
G d
d deZG dd de	ZG dd deZdS )    N)gettext_lazy)	get_class	get_modelzdashboard.reports.reportsReportGeneratorReportCSVFormatterReportHTMLFormatterorderOrderc               @   s    e Zd ZdZdd Zdd ZdS )OrderReportCSVFormatterzorders-%s-to-%s.csvc             C   s~   | j |}tdtdtdtdtdg}|j| xB|D ]:}|j|jrNdn|jj |j|j| j	|j
g}|j| q<W d S )NzOrder numberNameEmailzTotal incl. taxzDate placed-)Zget_csv_writer_writerownumberis_anonymoususerget_full_nameemailtotal_incl_taxformat_datetimedate_placed)selfresponseorderswriter
header_rowr   row r   3/var/www/html/oscar2019/oscar/apps/order/reports.pygenerate_csv   s    



z$OrderReportCSVFormatter.generate_csvc             K   s   | j |d |d f S )N
start_dateend_date)filename_template)r   kwargsr   r   r   filename#   s    z OrderReportCSVFormatter.filenameN)__name__
__module____qualname__r#   r    r%   r   r   r   r   r
      s   r
   c               @   s   e Zd ZdZdS )OrderReportHTMLFormatterz,dashboard/reports/partials/order_report.htmlN)r&   r'   r(   r#   r   r   r   r   r)   (   s   r)   c               @   s6   e Zd ZdZedZdZeedZ	dd Z
dd Zd	S )
OrderReportGeneratorZorder_reportzOrders placedr   )ZCSV_formatterZHTML_formatterc             C   s\   t jj }| jr|j| jd}| jr>|j| jtjdd d}| j| jd}| jj	|f|S )N)Zdate_placed__gte   )days)date_placed__lt)r!   r"   )
r	   _default_managerallr!   filterr"   datetime	timedelta	formatterZgenerate_response)r   qsZadditional_datar   r   r   generate6   s    

zOrderReportGenerator.generatec             C   s   |j S )N)is_staff)r   r   r   r   r   is_available_toF   s    z$OrderReportGenerator.is_available_toN)r&   r'   r(   coder   descriptionZdate_range_field_namer
   r)   
formattersr5   r7   r   r   r   r   r*   ,   s   r*   )r1   django.utils.translationr   r   oscar.core.loadingr   r   r   r   r   r	   r
   r)   r*   r   r   r   r   <module>   s   

