ó
¶aþWc           @   s\  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 Td  d l Td  d l m Z d  d l Td	 e j f d
 „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d  „  ƒ  YZ d! „  Z  e! j" e  d" d# ƒd$ „  Z# e$ j" e# d" d% ƒd& „  Z% e& j" e% d" d' ƒd( „  Z' e( j" e' d" d) ƒd* „  Z) e* j" e) d" d+ ƒd, S(-   iÿÿÿÿ(   t   models(   t   datetimet   datet   time(   t   SimpleTemplateResponse(   t   loadert   Context(   t   SafeUnicode(   t   EncryptedCharField(   t   *(   t   Receiptt   Meetingc        	   B   s  e  Z e j d  d ƒ Z e j d  d d e ƒ Z e j ƒ  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 e ƒZ e j d e ƒ Z e j d e d	 e d d d d ƒ Z e j d e d	 e d d ƒ Z e j d e d	 e d d ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" RS(   t
   max_lengthid   ix   t   uniquet	   help_texts"   Date to start taking bookings froms   Last date bookings can be madeiÈ   t   blankt   nullt	   upload_tot   meetingss   members.MemberTypet   defaultt   verbose_names   Limit number of bookings?s[   Enter the number of bookings allowed to be made to this meeting - leave blank for unlimiteds   Content for confirmation emails   Cancellation text for receiptc         C   s   |  j  S(   N(   t   name(   t   self(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   __unicode__$   s    c         C   s   t  j j d |  ƒ } | S(   Nt   meeting(   t   MeetingResourcet   objectst   filter(   R   t	   resources(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_resources'   s    c         C   s   t  j j d |  ƒ } | S(   NR   (   t   MeetingSessionR   R   (   R   t   sessions(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_sessions+   s    c         C   s   t  j j d |  ƒ } | S(   NR   (   t   MeetingBookingTypeR   R   (   R   t   booking_types(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_booking_types/   s    c         C   s   t  j j d |  ƒ } | S(   NR   (   t   MeetingBookingR   R   (   R   t   bookings(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_bookings3   s    c         C   s7   t  j j d |  d t ƒ j d d ƒ j d d ƒ } | S(   NR   t   completet   statust	   cancelledt   rejected(   R$   R   R   t   Truet   exclude(   R   R%   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_complete_bookings7   s    3c         C   s   t  j j d |  ƒ } | S(   NR   (   t   MeetingSocialEventR   R   (   R   t   social_events(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_social_events;   s    c         C   s   t  j j d |  ƒ } | S(   NR   (   t
   MeetingDayR   R   (   R   t   days(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_days?   s    c         C   s%   t  j j d |  d d d d ƒ } | S(   NR   t   registrant_typet   delegateR(   t   approved(   R$   R   R   (   R   R%   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_approved_delegatesC   s    !c         C   s%   t  j j d |  d d d d ƒ } | S(   NR   R4   t   memberR(   R6   (   R$   R   R   (   R   R%   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_approved_membersG   s    !(#   t   __name__t
   __module__R    t	   CharFieldR   t	   SlugFieldR+   t   slugt	   TextFieldt   descriptiont	   DateFieldt
   start_datet   end_datet   link_to_agendat	   FileFieldt   link_to_agenda_filet   ManyToManyFieldt   limit_booking_to_member_typest   BooleanFieldt   Falset   enabledt   IntegerFieldt   limit_number_of_bookingst   confirmation_messaget   receipt_messageR   R   R    R#   R&   R-   R0   R3   R7   R9   (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR      s,   $									t   MeetingSessionCategoryc           B   s_   e  Z e j d  d ƒ Z e j ƒ  Z e j d ƒ Z e j	 d e
 d d ƒ Z d „  Z d „  Z RS(   R   iÈ   R   R   R   s,   Limit session so that only one can be bookedc         C   s   |  j  S(   N(   R   (   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   S   s    c         C   s   t  j j d |  ƒ } | S(   Nt   session_category(   R   R   R   (   R   t   meeting_sessions(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR    V   s    (   R:   R;   R    R<   R   RL   t   ordert
   ForeignKeyR   RI   RJ   t   only_oneR   R    (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyRP   L   s   	R   c           B   sª   e  Z e j d  d ƒ Z e j ƒ  Z e j ƒ  Z e j	 d ƒ Z
 e j	 d ƒ Z e j ƒ  Z e j d e ƒ Z e j d d d d ƒ Z d „  Z d	 „  Z d
 „  Z d „  Z RS(   R   id   R   RP   R   i    R   s   Price (GBP)c         C   s   |  j  S(   N(   R   (   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   e   s    c         C   s%   t  j j d |  d t d t ƒ } | S(   Nt   sessiont   waiting_listt   meeting_booking__complete(   t   MeetingSessionBookingR   R   RJ   R+   (   R   t   session_bookings(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR&   h   s    !c         C   s   t  j j d |  d d ƒ } | S(   NRV   t   meeting_booking__statusR6   (   RY   R   R   (   R   RZ   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_approved_bookingsm   s    c         C   s)   |  j  ƒ  } | j ƒ  } |  j | } | S(   N(   R&   t   countt   quantity_available(   R   RZ   R]   t	   remaining(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_quantity_remainingr   s    (   R:   R;   R    R<   R   R?   R@   RL   RS   RT   R   RQ   R^   RI   R+   t   bookablet
   FloatFieldt   costR   R&   R\   R`   (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   Z   s   			R   c           B   sM   e  Z e j d  d ƒ Z e j e ƒ Z e j d ƒ Z e j	 ƒ  Z
 d „  Z RS(   R   i–   s   resources.Resourcec         C   s   |  j  S(   N(   R   (   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR      s    (   R:   R;   R    R<   R   RT   R   R   t   resourceRL   RS   R   (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   z   s
   R!   c           B   sA  e  Z e j e ƒ Z e j d  d ƒ Z e j d d d d ƒ Z	 e j
 d e d e d d	 ƒ Z e j d e d e d d
 ƒ Z e j d d d e d e ƒ Z e j ƒ  Z e j d e d d ƒ Z e j d e ƒ Z e j d d e d d ƒZ e j d e d d ƒ Z d „  Z e d „ Z e d „ Z d „  Z d d d „  ƒ  YZ RS(   R   iÈ   R   i    R   s
   Cost (GBP)R   R   R   s1   Last date which early bird rate can be purchased.s   Early Bird Cost (GBP)s-   Text that shows when this option is selected.s)   Show Day options for this meeting bookings   members.MemberTypes7   Leave blank to allow non-members to choose this option.s)   Tick to limit booking to non-members onlyc         C   s5   |  j  r& t d |  j |  j ƒ  f ƒ Sd |  j Sd  S(   Ns   %s -  (&pound;%0.2f)s   %s(   Rc   R   R   t   get_cost(   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   “   s    	c         C   sA   |  j  r= |  j r= | s' t j ƒ  } n  | |  j k r= t Sn  t S(   N(   t   early_bird_costt   early_bird_dateR   t   todayR+   RJ   (   R   t   bdate(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   is_earlybird™   s    c         C   s[   |  j  rN |  j rN | s' t j ƒ  } n  | |  j k rB |  j  } qW |  j } n	 |  j } | S(   N(   Rf   Rg   R   Rh   Rc   (   R   Ri   Rc   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyRe   £   s    	c         C   s   t  j j d |  d d ƒ } | S(   Nt   typeR(   R6   (   R$   R   R   (   R   t   meeting_bookings(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR\   ±   s    t   Metac           B   s   e  Z d  d g Z RS(   R   RS   (   R:   R;   t   ordering(    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyRm   ¶   s   (    (   R:   R;   R    RT   R   R   R<   R   Rb   Rc   RA   R+   Rg   Rf   R?   t   textRL   RS   RI   RJ   t   meeting_days_generateRK   RG   t   limit_to_member_typest   guests_onlyR   Rj   Re   R\   Rm   (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR!   „   s    	
	R1   c           B   sà   e  Z e j e ƒ Z e j d  d ƒ Z e j ƒ  Z	 e j
 d d ƒ Z e j
 d e d e d d ƒ Z e j d e d e d d ƒ Z e j
 d e d e d d	 ƒ Z e j
 d e d e d d
 ƒ Z d „  Z e d „ Z e d „ Z RS(   R   id   R   s
   Cost (GBP)R   R   s   Cost for members (GBP)R   s1   Last date which early bird rate can be purchased.s   Early Bird Cost (GBP)s   Early Bird Member Cost (GBP)c         C   s   d |  j  |  j f S(   Ns   %s %s(   R   R   (   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   Å   s    c         C   sp   |  j  rc |  j rc | s' t j ƒ  } n  | |  j k rB |  j  } ql |  j rW |  j } ql |  j } n	 |  j } | S(   N(   Rf   Rg   R   Rh   t   cost_eurRc   (   R   Ri   Rc   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyRe   É   s    		c         C   sš   |  j  rx |  j rx | s' t j ƒ  } n  | |  j k rW |  j rK |  j } qu |  j  } q– |  j rl |  j } q– |  j } n |  j r |  j } n	 |  j } | S(   N(   Rf   Rg   R   Rh   t   early_bird_member_costt   cost_memberRc   (   R   Ri   Rc   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_member_costÚ   s    				(   R:   R;   R    RT   R   R   R<   R   RL   RS   Rb   Rc   R+   Ru   RA   Rg   Rf   Rt   R   RJ   Re   Rv   (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR1   º   s   	R.   c           B   s   e  Z e j e ƒ Z e j d  d ƒ Z e j d d ƒ Z	 e j ƒ  Z
 e j d d ƒ Z e j d e ƒ Z e j d e ƒ Z d „  Z d „  Z RS(   R   id   R   s   Max Quantity Per Bookings
   Cost (GBP)R   c         C   s   d |  j  |  j f S(   Ns   %s %s(   R   R   (   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   ý   s    c         C   s   t  j j d |  d d ƒ } | S(   Nt   social_eventR[   R6   (   t   MeetingSocialEventBookingR   R   (   R   t   social_event_bookings(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR\      s    (   R:   R;   R    RT   R   R   R<   R   RL   t   max_quantityRS   Rb   Rc   RI   RJ   RK   t   day_bookings_onlyR   R\   (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR.   ò   s   	R$   c        	   B   s  e  Z d2 d3 d4 f Z d5 d6 d7 d8 d9 d: f Z d; d< f Z e j e ƒ Z e j	 d d d e d d ƒ Z
 e j d d e d e ƒZ e j d e ƒ Z e j	 d d d e ƒ Z e j	 d d d d ƒ Z e j	 d 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	 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	 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 d e d e ƒZ e d d d e d e ƒ Z  e j	 d d d e d e d d  ƒ Z! e j" d e d e d! d" ƒ Z# e j	 d d d d# ƒ Z$ e j	 d d d e d e ƒ Z% e j e& d e d e d$ e j' ƒZ( e j	 d d d e d e ƒ Z) e j* d d# d e d e ƒ Z+ e j, d% e ƒ Z- e j	 d d d e d d& ƒ Z. e j d e ƒ Z/ e j d e ƒ Z0 e j d e ƒ Z1 e j	 d d d e d e ƒ Z2 e j" d e d e ƒ Z3 d' „  Z4 d( „  Z5 d) „  Z6 d* „  Z7 d+ „  Z8 d, „  Z9 d- „  Z: d. „  Z; d/ „  Z< e d0 „ Z= d1 „  Z> RS(=   u   pendingt   Pendingu   approvedt   Approvedu   rejectedt   Rejectedu   Mru   Mrsu   Missu   Msu   Doctoru	   Professoru   memberu   Memberu   delegateu   DelegateR   id   t   choicesR   R5   s   members.MemberR   R   i   R   s
   First NameiÈ   s   members.Countryt   related_namet   booking_countryi(   s   Phone NumberR   sˆ   Please complete this box if you have any special requirements for your booking, for example dietary requirements or health requirements.i    t	   on_deletet   auto_now_addt   pendingc         C   s   d |  j  |  j |  j f S(   Ns
   %s %s - %s(   t
   given_namet   surnameR   (   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   E  s    c         C   s   |  j  r |  j  j Sd Sd  S(   Nt    (   R8   t   membership_number(   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_membership_numberH  s    	
c   	      C   s¶   |  j  ƒ  r? |  j  ƒ  } d } x' | D] } | | j } q% Wn	 |  j } |  j ƒ  } x$ | D] } | j } | | j } q[ W|  j ƒ  } x( | D]  } | j | j } | | } qŽ W| S(   Ni    (   t   get_meeting_day_bookingst
   price_paidt
   type_pricet   get_session_bookingsR0   t   quantity(	   R   t   meeting_day_bookingst   baset   meeting_day_bookingRZ   t   session_bookingR‹   R/   Rw   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt	   get_totalN  s    		c         C   s"   |  j  s |  j ƒ  } n d } | S(   Nt   0(   t   paidR“   (   R   t   outstanding(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_amount_outstandingf  s    	c         C   s%   t  j j d |  ƒ j d d ƒ } | S(   Nt   meeting_bookingt    session__session_category__ordert   session__order(   RY   R   R   t   order_by(   R   RZ   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   n  s    !c         C   s   t  j j d |  ƒ } | S(   NR˜   (   t   MeetingDayBookingR   R   (   R   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyRŠ   r  s    c         C   s   t  j j d |  ƒ } | S(   NR˜   (   Rx   R   R   (   R   R/   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR0   v  s    c         C   s,   y t  j j d |  ƒ } | SWn t SXd  S(   NR˜   (   t   MeetingBookingInvoiceR   t   getRJ   (   R   t   invoice(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_invoice{  s
    c         C   s,   y t  j j d |  ƒ } | SWn t SXd  S(   NR˜   (   R
   R   Rž   RJ   (   R   t   receipt(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   get_receiptƒ  s
    c         C   sl   y t  j j d |  ƒ } Wn t } n Xt j d ƒ } t i |  d 6| d 6| d 6ƒ } | j | ƒ } | S(   NR˜   s3   admin/meeting_booking/bookings/booking-details.htmlt   show_invoicet   meeting_booking_invoice(   R   R   Rž   RJ   R   t   get_templateR   t   render(   R   R£   RŸ   t   tt   ct   rendered(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   display_booking‹  s    
!c         C   se   y t  j j d |  ƒ } Wn t } n Xt j d ƒ } t i |  d 6| d 6ƒ } | j | ƒ } | S(   NR˜   s1   admin/meeting_booking/bookings/email-details.htmlR¤   (   R   R   Rž   RJ   R   R¥   R   R¦   (   R   RŸ   R§   R¨   R©   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   display_booking_email˜  s    
(   u   pendingR|   (   u   approvedR}   (   u   rejectedR~   (   u   Mru   Mr(   u   Mrsu   Mrs(   u   Missu   Miss(   u   Msu   Ms(   u   Doctoru   Doctor(   u	   Professoru	   Professor(   u   memberu   Member(   u   delegateu   Delegate(?   R:   R;   t   STATUS_CHOICESt   TITLE_CHOICESt   TYPE_CHOICESR    RT   R   R   R<   R4   R+   R8   RI   RJ   t   user_registeredt   titleR…   R†   t   email_addressRL   Rˆ   t   institutiont	   job_titlet   trustt   hospitalt	   address_1t	   address_2t   townt   countyt   countryR   t   postcodet	   telephoneR?   t   requirementsR‹   t   payment_methodR!   t   SET_NULLRk   t	   type_nameRb   RŒ   t   DateTimeFieldR   R(   t   invoicedR•   R'   t
   unique_keyt   notesR   R‰   R“   R—   R   RŠ   R0   R    R¢   Rª   R«   (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR$     sn   			!$$									R   c           B   sõ   e  Z e j 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(   R   iÈ   R   R   s   members.CountryR€   t   invoice_countryi   id   R   s$   Purchase Order Number / Contact Namec         C   s   d |  j  S(   Ns
   %s Invoice(   R˜   (   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   µ  s    (   R:   R;   R    RT   R$   R˜   R<   t   organisation_nameR¶   R+   R·   t	   address_3R¸   Rº   R»   t	   po_numberR±   R¼   R   (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   ¥  s   RY   c           B   sz   e  Z e j e ƒ Z e j e d  e d e d e j ƒZ	 e j
 d d ƒ Z e j d e ƒ Z e j d d ƒ Z d „  Z RS(   R   R   R‚   R   iÈ   R   i    c         C   s   d |  j  |  j f S(   Ns   %s - %s (   R˜   RV   (   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   À  s    (   R:   R;   R    RT   R$   R˜   R   R+   R¿   RV   R<   t   session_nameRI   RJ   RW   Rb   R‹   R   (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyRY   ¸  s   $Rx   c           B   sn   e  Z e j e ƒ Z e j e d  e d e d e j ƒZ	 e j
 d d ƒ Z e j ƒ  Z e j ƒ  Z d „  Z RS(   R   R   R‚   R   id   c         C   s   d |  j  |  j f S(   Ns   %s - %s (   R˜   t   social_event_name(   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   Ì  s    (   R:   R;   R    RT   R$   R˜   R.   R+   R¿   Rw   R<   RÊ   RL   RŽ   Rb   R‹   R   (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyRx   Ä  s   $Rœ   c           B   sb   e  Z e j e ƒ Z e j e d  e d e d e j ƒZ	 e j
 d d ƒ Z e j ƒ  Z d „  Z RS(   R   R   R‚   R   id   c         C   s   d |  j  |  j f S(   Ns   %s - %s (   R˜   t   meeting_day_name(   R   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyR   Ö  s    (   R:   R;   R    RT   R$   R˜   R1   R+   R¿   t   meeting_dayR<   RË   Rb   R‹   R   (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyRœ   Ï  s
   $c   
   
   K   s•  | d } | d } | j  } yš t j j d d ƒ } d } | j | j j | j ƒ  f } | j } | r— t	 | j
 | | | j j  | t | j g ƒ n t	 | j
 | | | j j  | ƒ Wn t k
 rÒ }	 |	 ‚ n Xy¢ t j j d d ƒ } | j | j j | j ƒ  t j t d d | j j g ƒt j t d d | j j g ƒf } | j } t	 | j
 | | | j j  | j ƒ  ƒ Wn t k
 r}	 |	 ‚ n Xd  S(	   NR˜   R¡   t   keyt   meeting_booking_confirmationR‡   t"   meeting_booking_admin_confirmationt   admin_meeting_booking_bookingst   args(   R±   t   EmailTemplateR   Rž   t   contentR   RN   R«   t   subjectt	   send_mailRÍ   t   from_addressRJ   t   filet	   ExceptionR   Rª   t   settingst   URLt   reverset   idt   get_to_addresses(
   t   sendert   kwargsR˜   R¡   R±   t   templatet   invoice_textt   messageRÔ   t   e(    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt$   meeting_booking_confirmation_handlerÙ  s(    

		.#
[	)t   dispatch_uidRÎ   c   	   
   K   s[  | d } | d } | j  } y` t j j d d ƒ } | j | j j | j ƒ  f } | j } t	 | j
 | | | j j  | ƒ Wn t k
 r˜ } | ‚ n Xy¢ t j j d d ƒ } | j | j j | j ƒ  t j t d d | j j g ƒt j t d d | j j g ƒf } | j } t	 | j
 | | | j j  | j ƒ  ƒ Wn t k
 rV} | ‚ n Xd  S(   Nt   requestR˜   RÍ   RÎ   t*   meeting_booking_invoice_admin_confirmationRÐ   RÑ   (   R±   RÒ   R   Rž   RÓ   R   RN   R«   RÔ   RÕ   RÍ   RÖ   RØ   R   Rª   RÙ   RÚ   RÛ   RÜ   RÝ   (	   RÞ   Rß   Ræ   R˜   R±   Rà   Râ   RÔ   Rã   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt,   meeting_booking_invoice_confirmation_handlerý  s"    

		#
[	)t$   meeting_booking_invoice_confirmationc   
      K   sÌ   | d } | d } | d } | j  } y… t j j d d ƒ } | j | j } | j } | rŒ t | j | | | j	 j  | t
 | j g ƒ n t | j | | | j	 j  | ƒ Wn t k
 rÇ }	 |	 ‚ n Xd  S(   NRæ   R˜   R¡   RÍ   t   meeting_booking_invoice_paid(   R±   RÒ   R   Rž   RÓ   R   RÔ   RÕ   RÍ   RÖ   RJ   R×   RØ   (
   RÞ   Rß   Ræ   R˜   R¡   R±   Rà   Râ   RÔ   Rã   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt$   meeting_booking_invoice_paid_handler  s    


		.#Rê   c   	      K   s¦   | d } | d } | j  } | r¢ y` t j j d d ƒ } | j | j j | j ƒ  f } | j } t	 | j
 | | | j j  | ƒ Wq¢ t k
 rž } | ‚ q¢ Xn  d  S(   NRæ   R˜   RÍ   t   meeting_booking_approved(   R±   RÒ   R   Rž   RÓ   R   R   Rª   RÔ   RÕ   RÍ   RÖ   RØ   (	   RÞ   Rß   Ræ   R˜   R±   Rà   Râ   RÔ   Rã   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt    meeting_booking_approved_handler7  s    

		#Rì   c         K   s¾   | d } | d } | j  rº | j rº yu t j j d d ƒ } | j | j j | j  j j	 | j  j
 f } | j } t | j | | | j j | j  j j	 ƒ Wqº t k
 r¶ } | ‚ qº Xn  d  S(   NRæ   R˜   RÍ   t#   meeting_booking_delegate_registered(   R5   R¯   RÒ   R   Rž   RÓ   R   R   t   usert   emailt   raw_passwordRÔ   RÕ   RÍ   RÖ   R±   RØ   (   RÞ   Rß   Ræ   R˜   Rà   Râ   RÔ   Rã   (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt(   meeting_booking_approved_account_handlerK  s    

+	,t    meeting_booking_approved_accountN(+   t	   django.dbR    R   R   R   t   django.template.responseR   t   django.templateR   R   t   django.utils.safestringR   t   modules.core.encryptionR   t   modules.notifications.modelst   modules.blocks.modelst   modules.members.modelsR
   t   signalst   ModelR   RP   R   R   R!   R1   R.   R$   R   RY   Rx   Rœ   Rä   t"   meeting_booking_confirmation_emailt   connectRè   t   meeting_booking_invoice_emailRë   Rê   Rí   Rì   Rò   Ró   (    (    (    s<   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/models.pyt   <module>   s>   


; 
68¡
	!				