ó
~Û	dc           @   s’  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 d  d l m Z d  d l m Z 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 Z d  d l Td  d l  Td  d l! Td  d l" Te
 d ƒ d „  ƒ Z# e
 d ƒ d „  ƒ Z$ e
 d ƒ d „  ƒ Z% e
 d ƒ d „  ƒ Z& e
 d ƒ d „  ƒ Z' e
 d ƒ d „  ƒ Z( e
 d ƒ d „  ƒ Z) e
 d ƒ d „  ƒ Z* e
 d ƒ d „  ƒ Z+ e
 d ƒ d „  ƒ Z, e
 d ƒ d „  ƒ Z- e
 d ƒ d „  ƒ Z. e
 d ƒ d „  ƒ Z/ e
 d ƒ d „  ƒ Z0 e
 d ƒ d „  ƒ Z1 e
 d ƒ d „  ƒ Z2 e
 d ƒ d „  ƒ Z3 e
 d ƒ d  „  ƒ Z4 d S(!   iÿÿÿÿ(   t   rendert   render_to_responset   get_object_or_404(   t   RequestContextt   loadert   Context(   t   login_requiredt   permission_required(   t   Q(   t   Site(   t   settings(   t   HttpResponseRedirectt   Http404t   HttpResponse(   t   reverse(   t   Usert   Group(   t   EmailMessage(   t   messagesN(   t   *s   admin_users.can_access_emailsc         C   s   t  j j d t d t d d ƒ j d ƒ } t  j j t d t ƒ t d t ƒ Bd d ƒj d ƒ } t |  d i | d 6| d	 6ƒ S(
   Nt   sentt   scheduled_date__isnullt   test_recipientt    t   scheduled_dates   -createds   admin/bulk-email/emails.htmlt   emailst   scheduled_emails(   t   AdminMessaget   objectst   filtert   Falset   order_byR   t   TrueR    (   t   requestR   R   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   bulk_emails   s
    *7c         C   s5   t  j j d | ƒ } t d i | d 6d t |  ƒ ƒS(   Nt   ids%   admin/bulk-email/view-bulk-email.htmlt
   bulk_emailt   context_instance(   R   R   t   getR   R   (   R!   t   email_idR$   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   view_bulk_email"   s    c         C   s/  t  j j d | ƒ } t d | ƒ } g  } t d d ƒ } | j | ƒ |  j r
t |  j |  j d | ƒ} t } g  } |  j j	 d ƒ } xO | D]G } t |  j |  j d d | ƒ} | j | ƒ | j
 ƒ  s t } q q W| j
 ƒ  r
| r
| j ƒ  }	 |	 r|	 j ƒ  n  | j ƒ  } d } xF | D]> } | j d t ƒ }
 | |
 _ | |
 _ |
 j ƒ  | d } q%W| j d	 k r¬t j d
 d  d |  d | ƒ t j |  d | j ƒ q| j sät j d
 d  d |  d | ƒ t j |  d ƒ n t j |  d ƒ t t d ƒ ƒ Sq
n  t |  d i | d 6| d 6| d 6ƒ S(   NR#   t   instancet   prefixt   attachment_1t   attachmentss   attachment_%si   t   commitR   t   senderR!   t   admin_messages,   Message has been sent to <strong>%s</strong>s   Message sent to Memberss'   Message scheduled to be sent to Memberst   admin_emails_bulk_emails%   admin/bulk-email/edit-bulk-email.htmlt   attachment_formst   form(   R   R   R&   t   AdminMessageFormt   AdminMessageAttachmentFormt   appendt   POSTt   FILESR   t   getlistt   is_validR    t   get_attachmentst   deletet   saveR/   t   orderR   R$   t   sendt   NoneR   t   successR   R   R   R    (   R!   R'   R/   R2   R1   t   attachment_formt   attachment_errorst   posted_attachmentst   attachment_orderR,   t   email_attachment(    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   edit_bulk_email*   sH    			
	c         C   s?   t  j j d | ƒ } | j ƒ  t j |  d ƒ t t d ƒ ƒ S(   NR#   s   Email DeletedR0   (   R   R   R&   R;   R   R@   R   R   (   R!   R'   R$   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   delete_bulk_email^   s    
c         C   st   t  j j d | ƒ } t d | ƒ } g  } t d d ƒ } | j | ƒ t d i | d 6| d 6| d 6d	 t |  ƒ ƒS(
   NR#   R)   R*   R+   s'   admin/bulk-email/resend-bulk-email.htmlR$   R1   R2   R%   (   R   R   R&   R3   R4   R5   R   R   (   R!   R'   R$   R2   R1   RA   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   resend_bulk_emaili   s    c   	      C   sñ  t  ƒ  } |  j r¨t  |  j |  j ƒ } t } g  } |  j j d ƒ } xO | D]G } t |  j |  j d d | ƒ} | j | ƒ | j ƒ  sL t } qL qL W| j ƒ  r¨| r¨| j	 ƒ  } d } xF | D]> } | j	 d t ƒ } | | _
 | | _ | j	 ƒ  | d } qÃ W| j d k rJt j d d  d |  d	 | ƒ t j |  d
 | j ƒ q¥| j s‚t j d d  d |  d	 | ƒ t j |  d ƒ n t j |  d ƒ t t d ƒ ƒ Sq¨n  g  } t d d ƒ } | j | ƒ t d i | d 6| d 6d t |  ƒ ƒS(   NR,   R*   s   attachment_%si   R-   R   R.   R!   R/   s,   Message has been sent to <strong>%s</strong>s   Message sent to Memberss'   Message scheduled to be sent to MembersR0   R+   s%   admin/bulk-email/send-bulk-email.htmlR2   R1   R%   (   R3   R6   R7   R   R8   R4   R5   R9   R    R<   R/   R=   R   R$   R>   R?   R   R@   R   R   R   R   R   (	   R!   R2   RB   R1   RC   RD   RA   R/   RE   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   send_bulk_emailu   s@    				
	c         C   sA   t  j j d ƒ j ƒ  j d ƒ } t d i | d 6d t |  ƒ ƒS(   Nt
   email_types   admin/emails/emails.htmlt   email_typesR%   (   t	   SentEmailR   t   valuest   distinctR   R   R   (   R!   RK   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyR   £   s    !c         C   sE   t  j j d | ƒ j d ƒ } t d i | d 6| d 6d t |  ƒ ƒS(   NRJ   s   -createds!   admin/emails/category-emails.htmlR   R%   (   RL   R   R   R   R   R   (   R!   t	   type_slugR   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   type_emailsª   s    c         C   s9   t  t d | ƒ} t d i | d 6| d 6d t |  ƒ ƒS(   NR#   s   admin/emails/view-email.htmlt   emailRJ   R%   (   R   RL   R   R   (   R!   RO   R'   RQ   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt
   view_email±   s    c         C   s~   t  t d | ƒ} t j d d  d |  d | ƒ t j |  d ƒ t t d d | g ƒƒ St	 d i | d 6| d	 6d
 t
 |  ƒ ƒS(   NR#   R.   R!   RQ   s   Email has been resentt   admin_emails_type_emailst   argss   admin/emails/view-email.htmlRJ   R%   (   R   RL   t   resend_email_sigR>   R?   R   R@   R   R   R   R   (   R!   RO   R'   RQ   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   resend_email¹   s
    c         C   s&   t  j j ƒ  } t |  d i | d 6ƒ S(   Ns   admin/contacts/contacts.htmlt   contacts(   t   ContactR   t   allR    (   R!   RW   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyRW   Ê   s    c         C   s’   t  ƒ  } |  j r{ t  |  j ƒ } | j ƒ  r{ y. | j ƒ  t j |  d ƒ t t d ƒ ƒ SWqx t j |  d ƒ qx Xq{ n  t	 |  d i | d 6ƒ S(   Ns   Contact has been addedt   admin_emails_contactss   Could not create contacts   admin/contacts/add-contact.htmlt   contact_form(
   t   ContactFormR6   R9   R<   R   R@   R   R   t   errorR    (   R!   R[   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   add_contactÒ   s    		
c         C   s·   t  t d | ƒ} t d | ƒ } |  j r™ t |  j d | ƒ} | j ƒ  r™ y. | j ƒ  t j |  d ƒ t t	 d ƒ ƒ SWq– t j
 |  d ƒ q– Xq™ n  t |  d i | d 6| d 6ƒ S(	   NR#   R)   s   Contact has been updatedRZ   s   Could not update contacts    admin/contacts/edit-contact.htmlt   contactR[   (   R   RX   R\   R6   R9   R<   R   R@   R   R   R]   R    (   R!   t
   contact_idR_   R[   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   edit_contactå   s    	
c         C   sZ   t  t d | ƒ} y | j ƒ  t j |  d ƒ Wn t j |  d ƒ n Xt t d ƒ ƒ S(   NR#   s   Contact has been deleteds   Could not delete contactRZ   (   R   RX   R;   R   R@   R]   R   R   (   R!   R`   R_   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   delete_contactø   s    
c         C   s;   t  j j d t d d ƒ } t d i | d 6d t |  ƒ ƒS(   Nt   editableRJ   t   members!   admin/emails/email-templates.htmlt   email_templatesR%   (   t   EmailTemplateR   R   R    R   R   (   R!   Re   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyRe     s    c         C   sÀ   t  t d | ƒ} t d | ƒ } |  j r™ t |  j d | ƒ} | j ƒ  r™ y. | j ƒ  t j |  d ƒ t t	 d ƒ ƒ SWq– t j
 |  d ƒ q– Xq™ n  t d i | d 6| d 6d	 t |  ƒ ƒS(
   NR#   R)   s   Email Template has been savedt   admin_emails_templatess   Could not save email templates%   admin/emails/edit-email-template.htmlt   email_templateR2   R%   (   R   Rf   t   EmailTemplateFormR6   R9   R<   R   R@   R   R   R]   R   R   (   R!   t   template_idRh   R2   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   edit_email_template  s    	
c         C   s;   t  j j d d d t ƒ } t d i | d 6d t |  ƒ ƒS(   NRJ   t   adminRc   s!   admin/emails/admin-templates.htmlRe   R%   (   Rf   R   R   R    R   R   (   R!   Re   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   admin_templates$  s    c         C   sÀ   t  t d | ƒ} t d | ƒ } |  j r™ t |  j d | ƒ} | j ƒ  r™ y. | j ƒ  t j |  d ƒ t t	 d ƒ ƒ SWq– t j
 |  d ƒ q– Xq™ n  t d i | d 6| d 6d	 t |  ƒ ƒS(
   NR#   R)   s   Email Template has been savedt   admin_emails_admin_templatess   Could not save email templates%   admin/emails/edit-admin-template.htmlRh   R2   R%   (   R   Rf   t   AdminTemplateFormR6   R9   R<   R   R@   R   R   R]   R   R   (   R!   Rj   Rh   R2   (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   edit_admin_template+  s    	
(5   t   django.shortcutsR    R   R   t   django.templateR   R   R   t   django.contrib.auth.decoratorsR   R   t   django.db.modelsR   t   django.contrib.sites.modelsR	   t   django.confR
   t   django.httpR   R   R   t   django.core.urlresolversR   t   django.contrib.auth.modelsR   R   t   django.core.mailR   t   django.contribR   t   csvt   modelst   modules.members.modelst   formst   signalsR"   R(   RF   RG   RH   RI   R   RP   RR   RV   RW   R^   Ra   Rb   Re   Rk   Rm   Rp   (    (    (    s>   /var/www/svtgbi.org/svtgbi/modules/notifications/adminviews.pyt   <module>   sB   



4.