3

\                 @   s   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 eddZed	d
ZeddZG dd de
jZG dd de
jZdS )    )messages)get_current_site)TemplateSyntaxError)gettext_lazy)generic)	get_class	get_modelcustomerCommunicationEventTypezdashboard.communications.formsCommunicationEventTypeFormzcustomer.utils
Dispatcherc               @   s   e Zd ZeZdZdZdS )ListViewzdashboard/comms/list.htmlZ	commtypesN)__name__
__module____qualname__r
   modeltemplate_namecontext_object_name r   r   D/var/www/html/oscar2019/oscar/apps/dashboard/communications/views.pyr      s   r   c                   s`   e Zd ZeZeZdZdZdZ	dZ
 fddZ fddZd	d
 Z fddZ fddZ  ZS )
UpdateViewzdashboard/comms/detail.htmlcommtype.codec                s   t j| jtd t j|S )NzHThe submitted form was not valid, please correct the errors and resubmit)r   errorrequest_superform_invalid)selfform)	__class__r   r   r      s    
zUpdateView.form_invalidc                sJ   d| j jkr| j|S d| j jkr,| j|S tj| j td t j|S )Nsend_previewshow_previewzEmail saved)	r   POSTr"   r#   r   successr   r   
form_valid)r   r    )r!   r   r   r&   #   s    

zUpdateView.form_validc             C   s&   | j jt| j d}|j|j  |S )N)usersite)r   r'   r   updateZget_preview_context)r   r    ctxr   r   r   get_messages_context+   s    zUpdateView.get_messages_contextc                s   t  j }||d< |jdd}| j|}y|j|}W n< tk
rr } z |jt|g|jd< | j	|S d }~X nX d|d< ||d< | j	|S )Nr    F)commit__all__Tr#   preview)
r   get_context_datasaver+   get_messagesr   error_classstrerrorsrender_to_response)r   r    r*   r   commtype_ctxmsgse)r!   r   r   r#   1   s    

zUpdateView.show_previewc       	         s   t  j }||d< |jdd}| j|}y|j|}W n< tk
rr } z |jt|g|jd< | j	|S d }~X nX |j
d }t }|j|| tj| jtd|  | j	|S )Nr    F)r,   r-   Zpreview_emailz#A preview email has been sent to %s)r   r/   r0   r+   r1   r   r2   r3   r4   r5   cleaned_datar   send_email_messagesr   r%   r   r   )	r   r    r*   r   r6   r7   r8   emaildispatch)r!   r   r   r"   A   s    


zUpdateView.send_preview)r   r   r   r
   r   r   
form_classr   r   success_url
slug_fieldr   r&   r+   r#   r"   __classcell__r   r   )r!   r   r      s   r   N)django.contribr   django.contrib.sites.shortcutsr   django.templater   django.utils.translationr   r   Zdjango.viewsr   oscar.core.loadingr   r   r
   r   r   r   r   r   r   r   r   <module>   s   

