
jfc           @   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 d  d l m Z d  d l m Z m Z m Z m Z m Z m Z d  d	 l m Z m Z m Z m Z m Z m Z d  d
 l m Z m Z m Z 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* Z* e	 d e j+  Z, d e j- f d     YZ. d e j- f d     YZ/ d e j- f d     YZ0 d e j- f d     YZ1 d e j- f d     YZ2 d e j- f d     YZ3 d e j- f d     YZ4 d e j- f d     YZ5 d  e j- f d!     YZ6 d" e j- f d#     YZ7 d$ e j- f d%     YZ8 d& e j- f d'     YZ9 d( e j- f d)     YZ: d* e j- f d+     YZ; d, e j- f d-     YZ< d. e j- f d/     YZ= d0 e j- f d1     YZ> d2 e j- f d3     YZ? d4 e j- f d5     YZ@ d6 e j- f d7     YZA d8 e j- f d9     YZB d: e j- f d;     YZC d< e j- f d=     YZD d> e j- f d?     YZE d@   ZF e jG eF dA dB dC   ZH e jG eH dA dD dE   ZI e jG eI dA dF dG   ZJ e jG eJ dA dH dI   ZK e jG eK dA dJ dK   ZL e jG eL dA dL dM   ZM e jG eM dA dN dO   ZN e  jG eN dA dP dQ   ZO e jG eO dA dR dS   ZP e jG eP dA dT dU   ZQ e jG eQ dA dV dW   ZR e jG eR dA dX dY   ZS e jG eS dA dZ d[   ZT e jG eT dA d\ d]   ZU e jG eU dA d^ d_   ZV e jG eV dA d` da   ZW e jG eW dA db dc   ZX e jG eX dA dd d S(e   i(   t   models(   t   User(   t   EncryptedCharField(   t   settings(   t   FileSystemStorage(   t   reverse(   t   date(   t   registration_payment_completedt   registration_completedt   registration_invoice_completedt   registration_member_referrerst   member_invoice_paidt   member_admin_approved(   t   non_member_registeredt
   bulk_emailt   membership_lapsedt   membership_renewalt   membership_expiredt   membership_suspended(   t   renewal_confirmationt   renewal_other_confirmationt   renewal_invoice_confirmationt!   renewal_direct_debit_confirmationt   direct_debit_updatedt   details_updated(   t   EmailTemplatet	   send_mailt   AdminMessage(   t   AbstractSubmissiont   AbstractSubmissionReview(   t   PaperSubmissionNt   locationt
   MemberTypec           B   s   e  Z d d d d f Z e j d d	  Z e j d
 d  Z e j d e	  Z
 e j d
 e  Z e j d d  Z e j d d  Z e j d d  Z e j d
 e  Z d   Z d d d     YZ d   Z RS(   u   3-monthss   3 Monthsu   6-monthss   6 Monthsu	   12-monthss	   12 Monthsu   untimedt   Untimedt
   max_lengthi   t   defaulti    t   blankt   verbose_names   Membership fee for New Memberss   Renewal fees'   Discount when renewing via Direct Debitc         C   s   |  j  S(   N(   t   name(   t   self(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   __unicode__)   s    t   Metac           B   s   e  Z d  g Z RS(   t   order(   t   __name__t
   __module__t   ordering(    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR)   ,   s   c      	   C   s+   t  j j d |  d d d d d t  } | S(   Nt   member_typet   member_statust   currentt	   user_typet   membert   approved(   t   Membert   objectst   filtert   True(   R'   t   members(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_members/   s    '(   u   3-monthss   3 Months(   u   6-monthss   6 Months(   u	   12-monthss	   12 Months(   u   untimedR!   (    (   R+   R,   t   SUBSCRIPTION_LENGTH_CHOICESR    t	   CharFieldR&   t   IntegerFieldR*   t	   TextFieldR7   t   descriptiont   BooleanFieldt   Falset   apply_onlinet
   FloatFieldt   new_feet   renewal_feet   dd_discountt   studentR(   R)   R9   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR       s   		t   MemberGroupc           B   sJ   e  Z e j d  d  Z e j d d  Z e j d d e Z	 d   Z
 RS(   R"   i   R#   i    R4   R$   c         C   s   |  j  S(   N(   R&   (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(   :   s    (   R+   R,   R    R;   R&   R<   R*   t   ManyToManyFieldR7   R8   R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyRG   4   s   R4   c           B   s	  e  Z dx dy f Z dz d{ d| d} d~ f Z d d d d d d f Z d d d d f Z d d d f Z e j e	  Z
 e j d d  d! e d" d#  Z e j e d$ d% d& e d' e d( e j Z e j d& e d' e  Z e j d) e d& e d' e  Z e j d d  d& e d' e  Z e j d" e  Z e j d" e  Z e j d" e  Z e j d" e  Z e j d d* d& e d' e d! e  Z e j d d  d! e d" d+  Z e j d& e d' e  Z e j d" d,  Z e j d& e d' e  Z  e j d& e d' e  Z! e j d d- d& e d' e  Z" e j d" e  Z# e j d" e  Z$ e j d" e  Z% e j d& e d' e  Z& e j d d. d& e d' e  Z' e j d d. d& e d' e  Z( e j d d. d& e d' e  Z) e j d& e d' e  Z* e j+ d& e d' e  Z, e j d d- d& e d' e  Z- e j d d. d! e d& e d' e  Z. e j d d- d& e d' e d$ d/  Z/ e j d d- d& e d' e  Z0 e j d& e d' e  Z1 e j d d- d& e d' e  Z2 e j d d- d& e d' e d$ d0  Z3 e j d d- d& e d' e d$ d1  Z4 e j d d- d& e d' e d$ d2  Z5 e j6 d& e d' e d$ d3  Z7 e8 d d- d& e d' e  Z9 e j d d- d& e d' e  Z: e j d d- d& e d' e  Z; e j d d- d& e d' e  Z< e j d d- d& e d' e  Z= e j d4 d5 d4 d& e d' e Z> e8 d d* d& e d' e  Z? e j d d6 d& e d' e d$ d7  Z@ e j d$ d8 d" e  ZA e j6 d d- d& e d' e d$ d9  ZB e j d d- d& e d' e  ZC e j d" e  ZD e jE d: d; d< eF d& e d' e d$ d=  ZG e j6 d d- d& e d' e d$ d>  ZH e j d d- d& e d' e  ZI e j d" e  ZJ e j d d- d& e d' e d$ d?  ZK e j+ d& e d' e d$ d@  ZL e j d d- d& e d' e d$ dA  ZM e j+ d& e d' e d$ dB  ZN e j d" e d$ dC  ZO e j d d- d& e d' e d! e  ZP e j d" e d$ dD  ZQ e j d d- d& e d' e  ZR e j d& e d' e d$ dE  ZS e jT dF d& e ZU e j d& e d' e  ZV e j d d- d& e d' e  ZW e jT dG d& e ZX e j d d- d& e d' e  ZY e j d" e d$ dH  ZZ e j d" e d$ dI  Z[ e j+ d& e d' e  Z\ e j d" e d$ dJ  Z] e j d d- d& e d' e d$ dK  Z^ e j6 d d- d& e d' e d$ dL  Z_ e j d" e  Z` dM d dN     YZa dO   Zb dP   Zc dQ   Zd dR   Ze dS   Zf dT   Zg dU   Zh dV   Zi dW   Zj dX   Zk dY   Zl dZ   Zm d[   Zn d\   Zo d]   Zp d^   Zq d_   Zr d`   Zs da   Zt db   Zu dc   Zv dd   Zw de   Zx df   Zy dg   Zz dh   Z{ di   Z| dj   Z} dk   Z~ dl   Z dm   Z dn   Z do   Z dp   Z dq   Z dr   Z ds   Z dt   Z du   Z dv   Z dw   Z RS(   u   memberu   Memberu
   non-memberu
   Non Memberu   pendingu   Pendingu   currentu   Currentu	   suspendedu	   Suspendedu   lapsedu   Lapsedu   archivedu   Archivedu   Mru   Mrsu   Missu   Msu   Doctoru	   Professoru   bacsu   BACSu   standing_orderu   Standing Orderu   chequeu   Chequeu   credit_cardu   Credit Cardu   AVSu5   Modernising Scientific Careers (Healthcare Scientist)u   OtherR"   id   t   choicesR#   R2   R%   s   Type of Membership RequiredR$   t   nullt	   on_deletet   auto_nowi   R0   i    i   i
   s
   First Names   Institution or Companys   Hospital or Affiliations   Hospital Postcodes   Department Manager's Emailt   Countryt   related_namei(   s   Phone NumbersG   I do not know any existing members of the Society to act as my sponsorss   Member Email Addresst	   upload_toR8   t   storages   Consent Forms   Sponsor 2 Emails   Sponsor 1 Names   Sponsor 1 Contact Detailss   Sponsor 2 Names   Sponsor 2 Contact Detailss   Are you a Trainees   Opt in to the AVS Status Searchs    Date of commencement of trainingt   ProfessionalChoicet   QualificationChoices   Please tick to confirm you abide by the societies         <a href="/media/resources/files/Code-Professional-Conduct.pdf">Code of Professional Conduct</a>.s   Please tick to confirm you have read and agree to the          <a href="/disclaimer/" target="_blank">Website Terms of Use and Privacy Notice</a>s5   Tick the box if you wish be added to the Mailing Lists   Company Names   Email AddressR)   c           B   s   e  Z d  g Z RS(   t   surname(   R+   R,   R-   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR)      s   c         C   s   d |  j  |  j f S(   Ns   %s %s(   t
   given_nameRS   (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(      s    c         C   s   t  j j |  j j  S(   N(   t   ost   patht   basenamet   referrer_letterR&   (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_referrer_letter_filename   s    c         C   s{   d |  j  } |  j r, d | |  j f } n  d | |  j f } |  j r^ d | |  j f } n  d | |  j |  j f } | S(   Ns   %s<br/>s	   %s%s<br/>s   %s%s<br/>%s<br/>(   t	   address_1t	   address_2t   townt   countyt   countryt   postcode(   R'   t   address(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_address   s    		c         C   sM   |  j  d k r t S|  j rE |  j d k s: |  j d k r> t St Sn t Sd  S(   Nt   delegateR0   t   lapsed(   R1   R7   R3   R/   R@   (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt
   is_current   s    	c         C   sM   t  j   } |  j d k rI |  j d k rI |  j rI |  j | k rI t Sn  t S(   NR2   R0   (   R   t   todayR1   R/   t   expiry_dateR7   R@   (   R'   Re   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   is_expiring   s
    c         C   s3   t  j j d |  } | j   d k r+ t St Sd  S(   Nt   surname__istartswithi    (   R4   R5   R6   t   countR7   R@   (   R'   t   letterR8   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_letter_all   s    c      	   C   sN   t  j j d | d t d d d d  j d  } | j   d k rF t St Sd  S(	   NRh   R3   R/   R0   R1   R2   t   user__last_namei    (   R4   R5   R6   R7   t   order_byRi   R@   (   R'   Rj   R8   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_letter_active   s    0c         C   sH   t  j j d | d d d d  j d  } | j   d k r@ t St Sd  S(   NRh   R/   t   archivedR1   R2   Rl   i    (   R4   R5   R6   Rm   Ri   R7   R@   (   R'   Rj   R8   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_letter_archived  s    *c         C   sB   t  j j d | d d  j d  } | j   d k r: t St Sd  S(   NRh   R1   s
   non-memberRl   i    (   R4   R5   R6   Rm   Ri   R7   R@   (   R'   Rj   R8   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_letter_active_delegate  s    $c         C   s%   t  j j d |  d t  } | j   S(   NR2   t   read(   t   UserActivityR5   R6   R@   Ri   (   R'   t   user_activity(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_unread_activity  s    c         C   s4   t  j j d |   j d  } | r, | d St Sd  S(   NR2   s   -invoice_createdi    (   t   MemberSubscriptionR5   R6   Rm   R@   (   R'   t   member_subscriptions(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_latest_subscription  s    c         C   sL   t  j   } t j j d |  d | d |  j d  } | rD | d St Sd  S(   NR2   t   start_date__ltet   expiry_date__gtes   -invoice_createdi    (   R   Re   Rv   R5   R6   Rm   R@   (   R'   Re   t   subscriptions(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_current_subscription   s
    *c         C   s"   t  j j d |   j d  } | S(   NR2   s   -invoice_created(   Rv   R5   R6   Rm   (   R'   R{   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_subscriptions)  s    c         C   s!   |  j  r |  j  j } | St Sd  S(   N(   R.   RC   R@   (   R'   t   fee(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_registration_fee-  s    	c         C   sG   |  j  s d } n1 |  j   r7 |  j  j |  j  j } n |  j  j } | S(   Ni    (   R.   t   get_direct_debitRD   RE   (   R'   t   cost(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_next_renewal_cost7  s    		c         C   s-   t  j j d |  d d  } | r% t St Sd  S(   NR2   t   statusR0   (   t   MemberDirectDebitR5   R6   R7   R@   (   R'   t   direct_debit(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR   B  s    c         C   s   t  j j d t d |   } | S(   Nt   add_to_lockerR8   (   R   R5   R6   R7   (   R'   t   admin_messages(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt
   get_emailsI  s    c         C   s*   |  | j  j   k r" | j r" t St Sd  S(   N(   R8   t   allR   R7   R@   (   R'   t   email(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   can_access_emailM  s    c         C   s   t  j j d |  d t  } | S(   NR2   t   complete(   R   R5   R6   R7   (   R'   t   abstract_submissions(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_abstract_submissionsT  s    c         C   s   t  j j d |  d t  } | S(   Nt   reviewert   sent(   R   R5   R6   R7   (   R'   t   abstract_reviews(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_abstract_reviewsX  s    c         C   s   t  j j d |  d t  } | S(   NR2   R   (   R   R5   R6   R7   (   R'   t   paper_submissions(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_paper_submissions\  s    c         C   s2   d d l  m } | j j d |   j d  } | S(   Ni(   t   ExamApplicationR2   s   -start_time(   t   modules.exam_application.modelsR   R5   R6   Rm   (   R'   R   t   exam_applications(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_exam_applications`  s    c         C   s2   d d l  m } | j j d |   j d  } | S(   Ni(   t   TheoryExamApplicationR2   s   -start_time(   t   modules.theory_exam.modelsR   R5   R6   Rm   (   R'   R   R   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_theory_exam_applicationse  s    c         C   s   t  j j d |   } | S(   NR2   (   t   ReceiptR5   R6   (   R'   t   receipts(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_receiptsj  s    c         C   s   t  j j d |   } | S(   NR2   (   t   CertificateR5   R6   (   R'   t   certificates(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_certificatesn  s    c      
   C   s   d d l  m } t j   } y. | j j d |  d t | j d d   } Wn[ | j k
 r | d |  d t | j d d	 d  d t | j d d   } | j   n X| S(
   Ni(   t   CPDSubmissionYearR2   t   end_datei   i   t
   start_datei   i	   (	   t   modules.cpd.modelsR   R   Re   R5   t   gett   yeart   DoesNotExistt   save(   R'   R   Re   t   cpd_year(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_latest_cpd_years  s    .=c         C   s   d d l  m } |  j   } |  j r |  j j   | k r> d S|  j j   } t j   } | | |  j } | d k r d } q n d } |  j   } t |  t |  } | d k r d Sd Sd  S(   Ni(   t   relativedeltas   not-requiredi   i
   t   okt   invalid(	   t   dateutil.relativedeltaR   t   get_current_cpd_year_membert
   registeredR   Re   t   yearst   get_current_cpd_pointst   float(   R'   R   t   member_start_datet   registration_dateRe   t	   cpd_yearst   total_pointst   average_points(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_current_cpd_status~  s     	c      	   C   s   d d l  m } d } |  j   } |  j   } | j j d |  d | d | d t  } x* | D]" } | j   r\ | | j } q\ q\ W| S(   Ni(   t   CPDSubmissioni    R2   t	   date__gtet	   date__lteR3   (	   R   R   t   get_current_cpd_year_startt   get_current_cpd_year_endR5   R6   R7   t   is_avst   points_value(   R'   R   R   R   R   t   cpd_submissionst
   submission(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_current_avs_points  s    'c      	   C   sw   d d l  m } |  j   } |  j   } d } | j j d |  d | d | d t  } x | D] } | | j } q\ W| S(   Ni(   R   i    R2   R   R   R3   (   R   R   R   R   R5   R6   R7   R   (   R'   R   R   R   R   R   R   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR     s    'c         C   sI   t  j   } | j d k r. t  | j d d  St  | j d d d  Sd  S(   Ni	   i   (   R   Re   t   monthR   (   R'   Re   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR     s    c         C   sM   t  j   } | j d k r2 t  | j d d d  St  | j d d d  Sd  S(   Ni	   i   i   i   (   R   Re   R   R   (   R'   Re   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR     s    c         C   sI   t  j   } | j d k r. t  | j d d  St  | j d d d  Sd  S(   Ni	   i   i   i   (   R   Re   R   R   (   R'   Re   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR     s    c         C   s   d d l  m } |  j rb |  j j   } t j   } | | |  j d } | d k rh d } qh n d } |  j   } t |  t |  } | d k r d Sd Sd  S(   Ni(   R   i   i   i
   R   R   (   R   R   R   R   Re   R   t   get_future_cpd_pointsR   (   R'   R   R   Re   R   R   R   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_future_cpd_status  s    	c      	   C   s   d d l  m } d } |  j   } |  j   } | j j d |  d | d | d t  } x* | D]" } | j   r\ | | j } q\ q\ W| S(   Ni(   R   i    R2   R   R   R3   (	   R   R   t   get_future_cpd_year_startt   get_future_cpd_year_endR5   R6   R7   R   R   (   R'   R   R   R   R   R   R   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_future_avs_points  s    'c      	   C   sw   d d l  m } |  j   } |  j   } d } | j j d |  d | d | d t  } x | D] } | | j } q\ W| S(   Ni(   R   i    R2   R   R   R3   (   R   R   R   R   R5   R6   R7   R   (   R'   R   R   R   R   R   R   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR     s    'c         C   s   d d l  m } |  j   } |  j rn |  j j   } t j   } | | |  j d } | d k rt d } qt n d } d | } | | } | S(   Ni(   R   i   i   i
   (   R   R   R   R   R   Re   R   (   R'   R   t   future_cpd_pointsR   Re   R   t   required_pointst	   remaining(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_future_cpd_remaining  s    	

c         C   sM   t  j   } | j d k r2 t  | j d d d  St  | j d d d  Sd  S(   Ni	   i   i   i   (   R   Re   R   R   (   R'   Re   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR   
  s    c         C   s1   t  j   } | j d k r" | j S| j d Sd  S(   Ni	   i   (   R   Re   R   R   (   R'   Re   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_future_year  s    c         C   sI   t  j   } | j d k r2 t  | j d d d  St  | j d d  Sd  S(   Ni	   i   i   i   (   R   Re   R   R   (   R'   Re   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR     s    c         C   s   t  j j d |   } | S(   NR2   (   t   MemberDocumentR5   R6   (   R'   t	   documents(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_documents  s    c         C   s-   |  j  j   j d t  } | r% t St Sd  S(   Nt
   admin_only(   t   professional_certificationR   R6   R7   R@   (   R'   t
   prof_certs(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_avs#  s    (   u   memberu   Member(   u
   non-memberu
   Non Member(   u   pendingu   Pending(   u   currentu   Current(   u	   suspendedu	   Suspended(   u   lapsedu   Lapsed(   u   archivedu   Archived(   u   Mru   Mr(   u   Mrsu   Mrs(   u   Missu   Miss(   u   Msu   Ms(   u   Doctoru   Doctor(   u	   Professoru	   Professor(   u   bacsu   BACS(   u   standing_orderu   Standing Order(   u   chequeu   Cheque(   u   credit_cardu   Credit Card(   u   AVSu   AVS(   u5   Modernising Scientific Careers (Healthcare Scientist)u5   Modernising Scientific Careers (Healthcare Scientist)(   u   Otheru   Other(    (   R+   R,   t   USER_TYPE_CHOICESt   MEMBER_STATUS_CHOICESt   TITLE_CHOICESt   PAYMENT_TYPE_CHOICESt   TRAINEE_CHOICESR    t
   ForeignKeyR   t   userR;   R1   R    R7   t   SET_NULLR.   t   DateTimeFieldR   t   last_updatedt   raw_passwordR?   R@   R   R3   t   paidt   payment_typeR/   t	   DateFieldt   renewal_message_dateR<   t   num_reminderst   lapsed_dateRf   t
   unique_keyt   requires_password_resett   temp_passwordt
   temp_emailt   membership_numbert   categoryt   chaptert   previous_member_typet
   date_addedR=   t   previous_namet   usernamet   titleRT   RS   t   date_of_birtht	   job_titlet   institution_companyt   hospitalt   hospital_postcodet
   EmailFieldt   department_manager_emailR   RZ   R[   t	   address_3R\   R]   R^   R_   t	   telephonet   know_existingt   referrer_emailt   referrer_keyt   referrer_approvedt	   FileFieldt   fsRX   t   referrer2_emailt   referrer2_keyt   referrer2_approvedt   referee_new_1_namet   referee_new_1_detailst   referee_new_2_namet   referee_new_2_detailst   traineet   type_of_trainingt
   avs_opt_int   other_trainingt   training_commencementRH   R   t   avs_datet    other_professional_certificationt   other_qualificationst   other_qualifications_othert   abide_by_termst   agree_privacyt   notest   mailing_listt   invoice_company_namet   invoice_emailt   first_loginR)   R(   RY   Ra   Rd   Rg   Rk   Rn   Rp   Rq   Ru   Rx   R|   R}   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR4   >   s  					*$$$$$$!$$*$$$$		$$															
																										t   AreaOfInterestc           B   s?   e  Z e j d  d  Z d   Z d d d     YZ d   Z RS(   R"   i   c         C   s   |  j  S(   N(   R&   (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(   /  s    R)   c           B   s   e  Z d  g Z RS(   R&   (   R+   R,   R-   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR)   2  s   c      	   C   s+   t  j j d |  d d d d d t  } | S(   Nt   special_interest_groupsR/   R0   R1   R2   R3   (   R4   R5   R6   R7   (   R'   R8   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR9   5  s    '(    (   R+   R,   R    R;   R&   R(   R)   R9   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR  +  s   	RQ   c           B   sZ   e  Z e j d  d  Z e j d d  Z e j d e  Z	 d   Z
 d d d     YZ RS(   R"   i   R#   i
   c         C   s   |  j  S(   N(   R&   (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(   @  s    R)   c           B   s   e  Z d  d g Z RS(   s   -admin_onlyR*   (   R+   R,   R-   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR)   C  s   (    (   R+   R,   R    R;   R&   R<   R*   R?   R@   R   R(   R)   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyRQ   :  s
   	RR   c           B   sH   e  Z e j d  d  Z e j d d  Z d   Z d d d     YZ RS(   R"   i   R#   i
   c         C   s   |  j  S(   N(   R&   (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(   L  s    R)   c           B   s   e  Z d  g Z RS(   R*   (   R+   R,   R-   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR)   O  s   (    (	   R+   R,   R    R;   R&   R<   R*   R(   R)   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyRR   G  s   	t   FurtherInformationMessagec           B   sD   e  Z e j d   Z e j d d  Z e j d e  Z	 d   Z
 RS(   R4   t	   help_textsl   Please enter your message above, this will appear above the link for the member to resend their application.t   auto_now_addc         C   s   d |  j  |  j f S(   Ns   %s %s(   R2   t   created(   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(   Y  s    (   R+   R,   R    R   R2   R=   t   messageR   R7   R  R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR  S  s   t   MemberTransactionc           B   s  e  Z e j d   Z e j d d  Z e j d e d e  Z	 e j d d d e d e  Z
 e j   Z e j d d  Z e j   Z e j   Z e j   Z e j   Z e j   Z e j d d d e d e  Z e j d d d e d e  Z e j d d d e d e  Z d   Z RS(   R4   R"   i   R$   RJ   i   id   c         C   s   d |  j  |  j |  j f S(   Ns   %s - %s (%s)(   R2   R&   t   transaction_date(   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(   n  s    (   R+   R,   R    R   R2   R;   R&   R   R7   R"  t
   invoice_noR<   t   itemt   transaction_typet   batchRB   t   amountt   vatt   balanceR   t   payment_methodt   printedt   credit_note_idR(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR!  ]  s   t   MemberEventc           B   s   e  Z d d f Z e j d  Z e j d d  Z e j d e	  Z
 e j d d  Z e j d d  Z e j d d d	 e  Z d
   Z RS(   u	   confirmedu	   Confirmedu	   cancelledu	   CancelledR4   R"   i   R  i   RI   c         C   s   d |  j  |  j f S(   Ns   %s - %s(   t   member_namet
   event_name(   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(     s    (   u	   confirmedu	   Confirmed(   u	   cancelledu	   Cancelled(   R+   R,   t   STATUS_CHOICESR    R   R2   R;   R/  R   R7   R  R.  t   booking_typeR   R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR-  r  s   	t   MemberContactc           B   s   e  Z e j d   Z e j   Z e j d d  Z e j d d  Z	 e j d d  Z
 e j d d  Z e j d e  Z d   Z RS(   R4   R"   i   id   R#   c         C   s   d |  j  |  j f S(   Ns   %s - %s(   R2   t   subject(   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(     s    (   R+   R,   R    R   R2   R   t   contact_dateR;   t   contact_typeR   R3  t   operatorR?   R@   t   closedR(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR2    s   t   MemberCommitteec           B   sz   e  Z e j d   Z e j d d  Z e j d d d e d e  Z e j d d  Z	 e j
   Z e j
   Z d   Z RS(   R4   R"   i   i   R$   RJ   c         C   s   d |  j  |  j |  j f S(   Ns   %s - %s - %s(   R2   t	   committeet   position(   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(     s    (   R+   R,   R    R   R2   R;   R9  R7   t   position_codeR:  R   R   R   R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR8    s   t   MemberClassificationc           B   sz   e  Z e j d   Z e j d d d e d e  Z e j d d  Z e j	   Z
 e j d d d e d e  Z d   Z RS(   R4   R"   i   R$   RJ   id   c         C   s   d |  j  |  j f S(   Ns   %s %s(   R2   t   classification(   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(     s    (   R+   R,   R    R   R2   R;   R7   t   parent_classificationR=  R   t
   class_datet   sourceR(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR<    s   Rv   c        	   B   sI  e  Z d d d f Z e j d  Z e j d d e d	 e Z e j d
 d  Z	 e j
 d d  Z e j
 d d d d  Z e j
 d d  Z e j d
 d  Z e j d
 d d e  Z e j   Z e j   Z e j d e d	 e d e j  Z e j d e  Z e j d
 d d e d	 e d d  Z e j d e d d  Z d   Z RS(   u   archivedu   Archivedu   pendingu   Pendingu   currentu   CurrentR4   R    R$   RJ   R"   i   R%   s   Amount(GBP)s   Discount(GBP)R#   i    s
   Total(GBP)i   RI   s   Payment MethodsG   Renew the members membership when saved - will create Receipt and Emailc         C   s   d |  j  |  j f S(   Ns   %s - %s(   R2   t   subscription(   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(     s    (   u   archivedu   Archived(   u   pendingu   Pending(   u   currentu   Current(   R+   R,   R0  R    R   R2   R7   R.   R;   RA  RB   R'  t   discountt   totalt
   invoice_toR   R   R   Rf   R   Re   t   invoice_createdR?   R@   Ro   t   methodt   renew_membershipR(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyRv     s$   	!$R   c        	   B   s  e  Z d$ d% d& f Z d' d( f Z d* Z d, Z e j d  Z e	 d d d d  Z
 e j d d d d  Z e	 d d d d  Z e j d d d e d d  Z e j d d d e d d  Z e j d d d e d d  Z e	 d d d d d e d e  Z e j d d d d d e d e  Z e	 d d d d d e d e  Z e j d d  d d d e  Z e j d! e  Z d"   Z d#   Z RS(-   u   pendingu   Pendingu   currentu   Currentu   archivedu   Archivedu   01u   New Submissionu   17u   Existing Submissionu   Au   Annual (Single)u   UKDDu   UK Direct Debit (BACS)R4   R"   i   R%   s	   Sort Codeid   s   Account Names   Account NumberRI   R#   t   At   1t   UKDDs   Old Sort CodeR$   RJ   s   Old Account Names   Old Account Numbert   pendingR  c         C   s@   |  j  j r8 |  j  j } | j } | j } | | } | Sd Sd  S(   Ni    (   R2   R.   RD   RE   (   R'   R.   t   initialRB  R   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   get_cost  s    		
c         C   s   d |  j  S(   Ns   %s(   R2   (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(     s    (   u   pendingu   Pending(   u   currentu   Current(   u   archivedu   Archived(   u   01u   New Submission(   u   17u   Existing Submission(   u   Au   Annual (Single)(   (   u   Au   Annual (Single)(   u   UKDDu   UK Direct Debit (BACS)(   (   u   UKDDu   UK Direct Debit (BACS)(   R+   R,   R0  t   SUBMISSION_CHOICESt   COLLECTION_CHOICESt   TYPE_CHOICESR    R   R2   R   t	   sort_codeR;   t   ac_namet   ac_not
   collectionR   t   typeR7   t   old_sort_codet   old_ac_namet	   old_ac_noR   R   R  RM  R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR     s*   		!$!	t   MemberArrearsc           B   st   e  Z e j d   Z e j d d  Z e j d d  Z e j	   Z
 e j d e  Z e j d e  Z d   Z RS(   R4   R"   i   R%   t   MessageR#   R  c         C   s   d |  j  |  j f S(   Ns   %s %s(   R2   R&   (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(     s    (   R+   R,   R    R   R2   R;   R&   R=   R>   RB   R'  R?   R@   R   R   R7   R  R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyRY    s   RM   c        	   B   s   e  Z d d f Z e j d d  Z e j   Z e j d e d e d d  Z	 e j d d d e d e d e  Z
 d	   Z d
 d d     YZ RS(   u   GBPu   EURR"   id   R$   RJ   i   i
   RI   c         C   s   |  j  S(   N(   R&   (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(     s    R)   c           B   s   e  Z d Z RS(   R*   (   s   order(   R+   R,   R-   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR)     s   (   u   GBPu   GBP(   u   EURu   EUR(    (   R+   R,   t   CURRENCY_CHOICESR    R;   R&   R<   R*   R7   t   iso_codet   currencyR(   R)   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyRM     s   	$	Rs   c           B   s   e  Z d d d d d d d f Z e j d  Z e j d e  Z e j	 d e
  Z e j d d  Z e j   Z e j d d d d d e  Z d   Z RS(   u   generalu   General Notificationu   meeting-notificationu   Meeting Notificationu   voting-notificationu   Election Notificationu   member-notificationu   Member Notificationu   account-notificationu   Account Notificationu   certificate-notificationu   Certificate Notificationsu   receipt-notificationu   Receipt NotificationsR4   R  R#   R"   i   id   t   generalRI   c         C   s   d |  j  |  j f S(   Ns   %s - %s(   R2   R  (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(   1  s    (   u   generalu   General Notification(   u   meeting-notificationu   Meeting Notification(   u   voting-notificationu   Election Notification(   u   member-notificationu   Member Notification(   u   account-notificationu   Account Notification(   u   certificate-notificationu   Certificate Notifications(   u   receipt-notificationu   Receipt Notifications(   R+   R,   RP  R    R   R2   R   R7   R  R?   R@   Rr   R;   R   R=   t   textRU  R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyRs     s   	t   MemberResourcec           B   sA   e  Z e j d   Z e j d e  Z e j d  Z d   Z	 RS(   R4   R  s   resources.Resourcec         C   s   d |  j  |  j f S(   Ns   %s - %s (   R2   t   resource(   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(   ;  s    (
   R+   R,   R    R   R2   R   R7   R  Ra  R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR`  5  s   t   MemberEmailc           B   sY   e  Z e j d  d d Z e j d  d d Z e j   Z e j d e	  Z
 d   Z RS(   R4   RN   t   sendert
   receipientR  c         C   s   d |  j  |  j |  j f S(   Ns   %s - %s - %s(   Rc  t	   recipientR  (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(   F  s    (   R+   R,   R    R   Rc  Re  R=   R   R   R7   R  R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyRb  ?  s
   R   c        
   B   s@  e  Z e j d   Z e j d d e d e Z e j d d e d e Z e j d d e d e d d d e j Z	 e j
 d	 d
  Z e j
 d	 d d d  Z e j d e  Z e j d d d e d e  Z e j
 d	 d  Z e j d e d e  Z e j
 d	 d d e d e  Z e j
 d	 d d e d e  Z d   Z RS(   R4   s   meeting_booking.MeetingBookingR$   RJ   Rv   s   jobs.JobRN   t   job_receiptRK   R"   i   i   R#   t
   membershipR  RO   s   members/receiptsc         C   s   d |  j  |  j f S(   Ns   %s %s(   R2   R  (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(   Z  s    (   R+   R,   R    R   R2   R7   t   meeting_bookingt   member_subscriptionR   t
   job_advertR;   R&   RU  R   R  R  t   filet   amount_paidR   R   R   R   R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR   J  s   *R   c           B   s   e  Z e j d   Z e j d e  Z e j d d d e d e  Z	 e j
 d e d e  Z e j
 d e d e  Z d   Z RS(   R2   R  RO   s   members/certificatesR$   RJ   c         C   s   d |  j  |  j f S(   Ns   %s %s(   R2   R   (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(   f  s    (   R+   R,   R    R   R2   R   R7   R  R  Rk  R   R   R   R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR   ^  s   t   MemberRenewalc           B   sn   e  Z d d d d f Z e j d  Z e j d	 d
 d e  Z e j d e	  Z
 e j d e  Z d   Z RS(   u   bacsu   BACSu   standing_orderu   Standing Orderu   chequeu   Chequeu   credit_cardu   Credit CardR4   R"   i   RI   R  R#   c         C   s   d |  j  |  j f S(   Ns   %s Membership Renewal %s(   R2   R  (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(   x  s    (   u   bacsu   BACS(   u   standing_orderu   Standing Order(   u   chequeu   Cheque(   u   credit_cardu   Credit Card(   R+   R,   R   R    R   R2   R;   R*  R   R7   R  R?   R@   R   R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyRm  j  s   	t   MemberRenewalInvoicec           B   s  e  Z e j d   Z e j d e  Z e j d e	  Z
 e j d d  Z e j d d  Z e j d d d e d e  Z e j d d d e d e  Z e j d d  Z e j d d d	 Z e j d d
  Z e j d d d d  Z e j d d  Z e j d d
  Z d   Z RS(   R4   R  R#   R"   i   R$   RJ   s   members.CountryRN   t   renewal_invoice_countryi   id   R%   s$   Purchase Order Number / Contact Namec         C   s   d |  j  |  j f S(   Ns   %s Membership Renewal %s(   R2   R  (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(     s    (   R+   R,   R    R   R2   R   R7   R  R?   R@   R   R;   t   organisation_nameRZ   R[   R   R\   R^   R_   t	   po_numbert   email_addressR   R(   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyRn  |  s   R   c           B   so   e  Z e j d   Z e j d d  Z e j d e d d  Z	 e j
 d e  Z d   Z d d
 d	     YZ RS(   R4   R"   i   RP   RO   s   members/documentsR  c         C   s   |  j  S(   N(   R   (   R'   (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR(     s    R)   c           B   s   e  Z d  g Z RS(   s   -created(   R+   R,   R-   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR)     s   (    (   R+   R,   R    R   R2   R;   R   R  R  t   documentR   R7   R  R(   R)   (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyR     s   	c         K   sT  | d } y t  j j d d  } | j r; d | j } n d } | j | j | j | j j	 | j
 j | | j | j t j t d  t j t d  f } | j } t | j | | | j j | j    Wn t k
 r } |  n XyP t  j j d d  } | j } | j } t | j | | | j j | j j	  Wn t k
 rO} |  n Xd  S(   NR2   t   keyt$   registration_invoice_completed_admins	   &pound;%ss   No Donationt   admin_members_pendingt   registration_completed_member(   R   R5   R   t   donationt   donation_amountt   contentRT   RS   R   R   R.   R&   R  R  R   t   URLR   R3  R   Rt  t   from_addressRr  t   get_to_addressest	   Exception(   Rc  t   kwargsR2   t   templateRy  R   R3  t   e(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt&   registration_invoice_completed_handler  s(    
	-%	)
		)t   dispatch_uidR	   c         K   s,  | d } y t  j j d d  } | j | j | j | j j | j j	 | j
 t j t d  t j t d  f	 } | j } t | j | | | j j | j    Wn t k
 r } |  n XyP t  j j d d  } | j } | j } t | j | | | j j | j j  Wn t k
 r'} |  n Xd  S(   NR2   Rt  t   registration_completed_adminRv  Rw  (   R   R5   R   Rz  RT   RS   R   R   R.   R&   R   R   R{  R   R3  R   Rt  R|  Rr  R}  R~  (   Rc  R  R2   R  R   R3  R  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   registration_completed_handler  s"    
*	)
		)R   c   	      K   s  | d } | d } | d } y t  j j d d  } | j | j | j | j j | j j	 | j
 t j t d  t j t d  f	 } | j } t | j | | | j j | j    Wn t k
 r } |  n Xy t  j j d d  } | j } | j } | r=| j r=t | j | | | j j | j   g  | j g  n% t | j | | | j j | j j  Wn t k
 r~} |  n Xd  S(   NR2   t   paymentt   receiptRt  t$   registration_payment_completed_adminRv  t%   registration_payment_completed_member(   R   R5   R   Rz  RT   RS   R   R   R.   R&   R'  R   R{  R   R3  R   Rt  R|  Rr  R}  R~  Rk  (	   Rc  R  R2   R  R  R  R   R3  R  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt&   registration_payment_completed_handler  s*    


$%	)
		4)R   c      
   K   s   | d } y | j  } t j j d d  } | j | j | j t j t	 d d | j
 g t j t	 d d | j
 g f } | j } t | j | | | j j |  Wn t k
 r } |  n Xd  S(   NR2   Rt  t   registration_member_referrert   register_referrer_confirmt   args(   R   R   R5   R   Rz  RT   RS   R   R{  R   R   R3  R   Rt  R|  Rr  R~  (   Rc  R  R2   Rr  R  R   R3  R  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt%   registration_member_referrers_handler  s    
	"	#R
   c      	   K   s   | d } | d } y t  j j d d  } | j } | j } | r | j r t | j | | | j j	 | j
 j g  | j g  n% t | j | | | j j	 | j
 j  Wn t k
 r } |  n Xd  S(   NR2   R  Rt  t   member_invoice_complete(   R   R5   R   Rz  R3  Rk  R   Rt  R|  Rr  R   R   R~  (   Rc  R  R2   R  R  R   R3  R  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   member_invoice_paid_handler  s    

		4)R   c      	   K   s   | d } | d } y t  j j d d  } | j } | j } | r | j r t | j | | | j j	 | j
 j g  | j g  n% t | j | | | j j	 | j
 j  Wn t k
 r } |  n Xd  S(   NR2   t   certificateRt  t   member_approved(   R   R5   R   Rz  R3  Rk  R   Rt  R|  Rr  R   R   R~  (   Rc  R  R2   R  R  R   R3  R  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   member_admin_approved_handler4  s    

		4)R   c         K   su   | d } yK t  j j d d  } | j | j j | j f } | j | | j j  Wn t k
 rp } |  n Xd  S(   NR2   Rt  R   (	   R   R5   R   Rz  R   R   R   t
   send_emailR~  (   Rc  R  R2   R  R   R  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   non_member_registered_handlerK  s    
R   c   
      K   s  | d } | d } y t  j j d d  } d } x0 | D]( } d | | d | d | d	 f } q9 W| j | j | j | j j | t j	 t
 d
 d | j g t j	 t
 d
 d | j g f } | j } t | j | | | j j | j    Wn t k
 r
}	 |	  n Xd  S(   NR2   t   updated_fieldsRt  t   details_updated_admins)   <h3><strong>Updated Fields:</strong></h3>sR   %s<p><strong>%s</strong><br/>
<strong>Old</strong> %s <strong>New</strong> %s</p>
t   fieldt   oldt   newt   view_memberR  (   R   R5   R   Rz  RT   RS   R   R   R   R{  R   t   idR3  R   Rt  R|  Rr  R}  R~  (
   Rc  R  R2   R  R  t   field_updatest   updated_fieldR   R3  R  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   details_updated_handler[  s    

&=	)R   c         K   sj   | d } t  j j d d  } | j | j j d  } | j } t | j | | | j	 j
 | j j  d  S(   NR2   Rt  R   s   %d/%m/%y(   R   R5   R   Rz  Rf   t   strftimeR3  R   Rt  R|  Rr  R   R   (   Rc  R  R2   R  R   R3  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   membership_renewal_handlery  s
    
	R   c         K   sZ   | d } t  j j d d  } | j } | j } t | j | | | j j | j	 j
  d  S(   NR2   Rt  R   (   R   R5   R   Rz  R3  R   Rt  R|  Rr  R   R   (   Rc  R  R2   R  R   R3  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   membership_expired_handler  s
    
		R   c         K   sj   | d } t  j j d d  } | j | j j d  } | j } t | j | | | j	 j
 | j j  d  S(   NR2   Rt  R   s   %d/%m/%y(   R   R5   R   Rz  Rf   R  R3  R   Rt  R|  Rr  R   R   (   Rc  R  R2   R  R   R3  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   membership_lapsed_handler  s
    
	R   c         K   sZ   | d } t  j j d d  } | j } | j } t | j | | | j j | j	 j
  d  S(   NR2   Rt  R   (   R   R5   R   Rz  R3  R   Rt  R|  Rr  R   R   (   Rc  R  R2   R  R   R3  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   membership_suspended_handler  s
    
		R   c         K   s  | d } | d } | d } | d } | d } | d } | r t  j j d d  } | j | j | j | j j | j j	 d	  | j
 | j | f }	 | j }
 t | j |
 |	 | j j | j    n  t  j j d d
  } | j | j j	 d	  }	 | j }
 | rW| j rW| rW| j rWt | j |
 |	 | j j | j j t | j | j g  n% t | j |
 |	 | j j | j j  d  S(   NR2   RA  RF  R  R  t   notify_adminRt  t   renewal_confirmation_admins   %d/%m/%YR   (   R   R5   R   Rz  RT   RS   R   R   Rf   R  R.   R'  R3  R   Rt  R|  Rr  R}  Rk  R@   (   Rc  R  R2   RA  RF  R  R  R  R  R   R3  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   renewal_confirmation_handler  s"    





@	(	:t   renwal_confirmationc         K   s   | d } | d } y t  j j d d  } | j | j | j | j j | j | j	   t
 j t d  t
 j t d  f	 } | j } t | j | | | j j | j    Wn t k
 r } |  n Xd  S(   NR2   t   renewalRt  t    renewal_other_confirmation_admint   admin_members_renewal(   R   R5   R   Rz  RT   RS   R   R   R.   t   get_payment_method_displayR   R{  R   R3  R   Rt  R|  Rr  R}  R~  (   Rc  R  R2   R  R  R   R3  R  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt"   renewal_other_confirmation_handler  s    

$%	)R   c         K   s   | d } | d } t  j j d d  } | j | j | j | j j | j | j t	 j
 t d d | j g t	 j
 t d d | j g f	 } | j } t | j | | | j j | j    d  S(   NR2   t   invoiceRt  t"   renewal_invoice_confirmation_admint"   admin_members_view_renewal_invoiceR  (   R   R5   R   Rz  RT   RS   R   R   R.   R   R{  R   R  R3  R   Rt  R|  Rr  R}  (   Rc  R  R2   R  R  R   R3  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt$   renewal_invoice_confirmation_handler  s    

!=	R   c         K   s  | d } | d } | d } t  j j d d  } | j | j | j | j j | j | j	 d t
 d d | j g | j	 d t
 d d | j g f } | j } t | j | | | j j | j    t  j j d d	  } | j } | j } t | j | | | j j | j j  d  S(
   Nt   requestR2   R   Rt  t'   renewal_direct_debit_confirmation_admint	   HTTP_HOSTt   admin_members_view_direct_debitR  t    renewal_direct_debit_information(   R   R5   R   Rz  RT   RS   R   R   R   t   METAR   R  R3  R   Rt  R|  Rr  R}  (   Rc  R  R  R2   R   R  R   R3  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt)   renewal_direct_debit_confirmation_handler  s    


E	%		R   c         K   s   | d } | d } | d } t  j j d d  } | j | j | j | j j | j | j	 d t
 d d | j g | j	 d t
 d d | j g f } | j } t | j | | | j j | j    d  S(	   NR  R2   R   Rt  t   direct_debit_updated_adminR  R  R  (   R   R5   R   Rz  RT   RS   R   R   R   R  R   R  R3  R   Rt  R|  Rr  R}  (   Rc  R  R  R2   R   R  R   R3  (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   direct_debit_updated_handler  s    


E	R   c      
   K   s  | d } | j  } | j } | j rA d | j } | j g } n| j } g  } g  } | j r t j   } t j j	 d | d d d d  } nE| j
 j   r xh | j
 j   D]- }	 x$ |	 j j   D] }
 | j |
  q Wq Wn' t j j	 d d d t d d d	 t  } | j j   r`g  } x6 | D]. }
 |
 j | j j   k r%| j |
  q%q%W| } n  | j rx^ | D]S }
 d
 | t d d | j g f } t d |
 d d d | d d  } | j   qpWn  | j   xF | D]> }
 | j j |
  |
 j j } | d k r| j |  qqW| j   | j   rcg  } x- | j   D] } | j | j  qFWn t } | rt d | | | | | | |  n  d  S(   Nt   admin_messages	   %s - TESTt   expiry_date__lteR1   R2   R/   R0   R3   R   s;   <strong>Subject</strong> %s <a href="%s">View the email</a>t   account_view_emailR  R   s   You have a new Email AlertR_  RU  s   member-notificationt    s
   bulk-email(   R   Rc  t   test_recipientR3  t   email_expiredR   Re   R4   R5   R6   t   groupsR   R8   t   appendR7   R@   t   typesR.   R   R   R  Rs   R   t   addR   R   t   get_attachmentsRk  R   (   Rc  R  R  t   email_contentR|  R3  t   bcc_addressesR8   Re   t   groupR2   t   final_memberst
   email_textt   member_notificationR   t   attachmentst
   attachment(    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   bulk_email_handler#  sT    
					$'		"!

R   (Y   t	   django.dbR    t   django.contrib.auth.modelsR   t   modules.core.encryptionR   t   django.confR   t   django.core.files.storageR   t   django.core.urlresolversR   t   datetimeR   t   signalsR   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R   R   t   modules.notifications.modelsR   R   R   t   modules.abstracts.modelsR   R   t   modules.papers.modelsR   RU   t   PRIVATE_FILESR  t   ModelR    RG   R4   R  RQ   RR   R  R!  R-  R2  R8  R<  Rv   R   RY  RM   Rs   R`  Rb  R   R   Rm  Rn  R   R  t   connectR  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  (    (    (    s4   /var/www/svtgbi.org/svtgbi/modules/members/models.pyt   <module>   s   ...
 
6
	 		!						
	
	
	
						=