
)Wc           @   s2  d  d l  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 m Z m Z m Z d  d l  Z  d  d l! Z! d  d l" Td  d l# Td  d l$ Td  d l% Td  d l& Td  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    Z0 e	 d  d    Z1 e	 d  d    Z2 e	 d  d    Z3 e	 d  d    Z4 e	 d  d    Z5 e	 d  d    Z6 e	 d  d    Z7 e	 d  d    Z8 e	 d  d    Z9 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&    ZA e	 d  d'    ZB e	 d  d(    ZC e	 d  d)    ZD e	 d  d*    ZE e	 d  d+    ZF e	 d  d,    ZG e	 d  d-    ZH e	 d  d.    ZI e	 d  d/    ZJ e	 d  d0    ZK e	 d  d1    ZL e	 d  d2    ZM e	 d  d3    ZN e	 d  d4    ZO e	 d  d5    ZP e	 d  d6    ZQ e	 d  d7    ZR e	 d  d8    ZS e	 d  d9    ZT e	 d  d:    ZU e	 d  d;    ZV e	 d  d<    ZW e	 d  d=    ZX d S(>   i(   t   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   messages(   t   slugify(   t   datetimet   datet   timeN(   t   *s&   admin_users.can_access_meeting_bookingc         C   sc   t  j j d t  j d  } t  j j d t  j d  } t d i | d 6| d 6d t |   S(   Nt   enableds   -start_dates#   admin/meeting_booking/meetings.htmlt   enabled_meetingst   disabled_meetingst   context_instance(   t   Meetingt   objectst   filtert   Truet   order_byt   FalseR    R   (   t   requestR   R   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   meetings"   s    c         C   s   t    } |  j r t  |  j |  j  } | j   r yH | j d t  } t | j t d  | _	 | j   t
 j |  d  Wn t
 j |  d  n Xt t d   Sn  t d i | d 6d t |   S(	   Nt   committ   slugs   Meeting Createds   Could not add meetingt   admin_meeting_bookings&   admin/meeting_booking/add-meeting.htmlt   formR   (   t   MeetingFormt   POSTt   FILESt   is_validt   saveR   t   slugify_uniquet   nameR   R#   R   t   successt   errorR
   R   R    R   (   R    R%   t   meeting(    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   add_meeting+   s    		
c         C   s   t  t d | } t d |  } |  j r t |  j |  j d | } | j   r y | j   t j |  d  Wn t j	 |  d  n Xt
 t d   Sn  t d i | d 6| d 6d	 t |   S(
   Nt   idt   instances   Meeting Updateds   Could not update meetingR$   s'   admin/meeting_booking/edit-meeting.htmlR%   R/   R   (   R   R   R&   R'   R(   R)   R*   R   R-   R.   R
   R   R    R   (   R    t
   meeting_idR/   R%   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   edit_meetingA   s    	
c         C   sZ   t  t d | } y | j   t j |  d  Wn t j |  d  n Xt t d   S(   NR1   s   Meeting Deleteds   Could not delete meetingR$   (   R   R   t   deleteR   R-   R.   R
   R   (   R    R3   R/   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   delete_meetingT   s    
c         C   sc   t  t d | } y' t | _ | j   t j |  d  Wn t j |  d  n Xt t	 d   S(   NR1   s   Meeting has been enableds   Could not enable meetingR$   (
   R   R   R   R   R*   R   R-   R.   R
   R   (   R    R3   R/   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   enable_meetinga   s    	
c         C   sc   t  t d | } y' t | _ | j   t j |  d  Wn t j |  d  n Xt t	 d   S(   NR1   s   Meeting has been disableds   Could not enable meetingR$   (
   R   R   R   R   R*   R   R-   R.   R
   R   (   R    R3   R/   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   disable_meetingp   s    	
c         C   s   t  t d | } t d |  } |  j r t |  j d | } | j   r y: | j   t j |  d  t t	 d d | j
 g  SWq t j |  d  q Xq n  t d i | d 6| d	 6d
 t |   S(   NR1   R2   s#   Confirmation Message has been savedt1   admin_meeting_booking_update_confirmation_messaget   argss#   Could not save Confirmation Messages6   admin/meeting_booking/update-confirmation-message.htmlR/   t   meeting_confirmation_formR   (   R   R   t   MeetingConfirmationFormR'   R)   R*   R   R-   R
   R   R1   R.   R    R   (   R    R3   R/   R;   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   update_confirmation_message~   s    	
 c         C   sn  t  t d | } t d |  } |  j rGt |  j  } | j   rGy | j d t  } t | j t d  | _	 | j   t
 j j d |  } x- | D]% } t |  } | | _ | j   q Wt j j d |  } x- | D]% }	 t |	  }
 | |
 _ |
 j   q Wt j |  d  t t d   SWqDt j |  d  qDXqGn  t d	 i | d 6| d
 6d t |   S(   NR1   R2   R"   R#   R/   s   Meeting UpdatedR$   s    Could not save duplicate meetings,   admin/meeting_booking/duplicate-meeting.htmlR%   R   (   R   R   t   MeetingDuplicateFormR'   R)   R*   R   R+   R,   R#   t   MeetingSessionR   R   t   copy_model_instanceR/   t   MeetingResourceR   R-   R
   R   R.   R    R   (   R    R3   R/   t   duplicate_formt   new_meetingt   meeting_sessionst   meeting_sessiont   new_meeting_sessiont   meeting_resourcest   meeting_resourcet   new_meeting_resource(    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   duplicate_meeting   s0    	
		c         C   sN   t  t d | } t j j d |  } t d i | d 6| d 6d t |   S(   NR1   R/   s&   admin/meeting_booking/types/types.htmlt   booking_typesR   (   R   R   t   MeetingBookingTypeR   R   R    R   (   R    R3   R/   RK   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyRK      s    c         C   s   t  t d | } t   } |  j r t |  j |  j  } | j   r yC | j d t  } | | _ | j   | j	   t
 j |  d  Wn t
 j |  d  n Xt t d d | j g  Sn  t d i | d 6| d	 6d
 t |   S(   NR1   R"   s   Booking Types   Could not create booking typet   admin_meeting_booking_typesR:   s)   admin/meeting_booking/types/add-type.htmlR/   R%   R   (   R   R   t   MeetingBookingTypeFormR'   R(   R)   R*   R   R/   t   save_m2mR   R-   R.   R
   R   R1   R    R   (   R    R3   R/   R%   t   booking_type(    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   add_booking_type   s    			

c         C   s   t  t d | } t  t d | } t d |  } |  j r t |  j |  j d | } | j   r y | j   t j	 |  d  Wn t j
 |  d  n Xt t d d | j g  Sn  t d i | d 6| d	 6| d
 6d t |   S(   NR1   R2   s   Booking Type Updateds   Could not update Booking TypeRM   R:   s*   admin/meeting_booking/types/edit-type.htmlR/   RP   R%   R   (   R   R   RL   RN   R'   R(   R)   R*   R   R-   R.   R
   R   R1   R    R   (   R    R3   t   type_idR/   RP   R%   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   edit_booking_type   s    	
c         C   s   t  t d | } t  t d | } y' t | _ | j   t j |  d  Wn t j |  d  n Xt	 t
 d d | j g  S(   NR1   s   Booking Type Enableds   Could not enable Booking TypeRM   R:   (   R   R   RL   R   R   R*   R   R-   R.   R
   R   R1   (   R    R3   RR   R/   RP   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   enable_booking_type   s    	
c         C   s   t  t d | } t  t d | } y' t | _ | j   t j |  d  Wn t j |  d  n Xt	 t
 d d | j g  S(   NR1   s   Booking Type Disableds   Could not disable Booking TypeRM   R:   (   R   R   RL   R   R   R*   R   R-   R.   R
   R   R1   (   R    R3   RR   R/   RP   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   disable_booking_type   s    	
c         C   sx   t  t d | } t  t d | } y | j   t j |  d  Wn t j |  d  n Xt t d d | j	 g  S(   NR1   s   Booking Type Deleteds   Could not delete Booking TypeRM   R:   (
   R   R   RL   R5   R   R-   R.   R
   R   R1   (   R    R3   RR   R/   RP   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   delete_booking_type
  s    
c         C   sW   t  t d | } t j j d |  j d  } t d i | d 6| d 6d t |   S(   NR1   R/   t   orders,   admin/meeting_booking/sessions/sessions.htmlt   session_categoriesR   (   R   R   t   MeetingSessionCategoryR   R   R   R    R   (   R    R3   R/   RX   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   sessions  s    c         C   s   t  t d | } t   } |  j r t |  j  } | j   r yU | j d t  } | | _ | j   t j	 |  d  t
 t d d | j g  SWq t j |  d  q Xq n  t d i | d 6| d	 6d
 t |   S(   NR1   R"   s   Session Category Createdt   admin_meeting_booking_sessionsR:   s!   Could not create Session Categorys8   admin/meeting_booking/sessions/add-session-category.htmlR/   R%   R   (   R   R   t   MeetingSessionCategoryFormR'   R)   R*   R   R/   R   R-   R
   R   R1   R.   R    R   (   R    R3   R/   R%   t   session_category(    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   add_session_category!  s    			
 c         C   s   t  t d | } t  t d | } t d |  } |  j r t |  j d | } | j   r y: | j   t j |  d  t	 t
 d d | j g  SWq t j |  d  q Xq n  t d i | d 6| d	 6| d
 6d t |   S(   NR1   R2   s   Session Category UpdatedR[   R:   s!   Could not update Session Categorys9   admin/meeting_booking/sessions/edit-session-category.htmlR/   t   categoryR%   R   (   R   R   RY   R\   R'   R)   R*   R   R-   R
   R   R1   R.   R    R   (   R    R3   t   category_idR/   R_   R%   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   edit_session_category:  s    	
 c         C   sx   t  t d | } t  t d | } y | j   t j |  d  Wn t j |  d  n Xt t d d | j	 g  S(   NR1   s   Session Category Deleteds!   Could not delete Session CategoryR[   R:   (
   R   R   RY   R5   R   R-   t   errrorR
   R   R1   (   R    R3   R`   R/   R_   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   delete_session_categoryR  s    
c         C   s&  t  t d | } t   } t j j d |  | j d _ |  j r t |  j |  j	  } t j j d |  | j d _ | j
   r yC | j d t  } | | _ | j   | j   t j |  d  Wn t j |  d  n Xt t d d | j g  Sn  t d	 i | d 6| d
 6d t |   S(   NR1   R/   R]   R"   s   Session Createds   Could not create sessionR[   R:   s/   admin/meeting_booking/sessions/add-session.htmlR%   R   (   R   R   t   MeetingSessionFormRY   R   R   t   fieldst   querysetR'   R(   R)   R*   R   R/   RO   R   R-   R.   R
   R   R1   R    R   (   R    R3   R/   R%   t   session(    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   add_sessionb  s"    			

c         C   s)  t  t d | } t  t d | } t d |  } t j j d |  | j d _ |  j	 r t |  j	 |  j
 d | } t j j d |  | j d _ | j   r y: | j   t j |  d  t t d d | j g  SWq t j |  d  q Xq n  t d	 i | d 6| d
 6| d 6d t |   S(   NR1   R2   R/   R]   s   Session UpdatedR[   R:   s   Could not update sessions0   admin/meeting_booking/sessions/edit-session.htmlRg   R%   R   (   R   R   R?   Rd   RY   R   R   Re   Rf   R'   R(   R)   R*   R   R-   R
   R   R1   R.   R    R   (   R    R3   t
   session_idR/   Rg   R%   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   edit_session{  s    	
 c         C   sx   t  t d | } t  t d | } y | j   t j |  d  Wn t j |  d  n Xt t d d | j	 g  S(   NR1   s   Session Deleteds   Could not delete sessionR[   R:   (
   R   R   R?   R5   R   R-   R.   R
   R   R1   (   R    R3   Ri   R/   Rg   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   delete_session  s    
c         C   s   t  t d | } t  t d | } t j j d | d t d t  j d d  j d d  j	 d  } t j j d | d t d t  j	 d  } t
 d	 i | d
 6| d 6| d 6| d 6d t |   S(   NR1   Rg   t   waiting_listt   meeting_booking__completet   meeting_booking__statust   rejectedt	   cancelleds   -meeting_booking__times4   admin/meeting_booking/sessions/session-bookings.htmlR/   t   session_bookingst   session_bookings_waitingR   (   R   R   R?   t   MeetingSessionBookingR   R   R   R   t   excludeR   R    R   (   R    R3   Ri   R/   Rg   Rq   Rr   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyRq     s
    B*c   
      C   sf  t  t d | } t  t d | } t j j d | d t  j d d  j d d  j d  } t	 d d	  } d
 | d <t
 j |  } | j d d d d d d d d d d d g  x | D] } | j g  | j j | j j | j j | j j | j j j d  | j j | j j | j j | j j | j j | j j f D] }	 t |	  j d  ^ q< q W| S(   NR1   Rg   Rm   Rn   Ro   Rp   s   -meeting_booking__timet   content_types   text/csvs)   attachment; filename=session_bookings.csvs   Content-Dispositiont   Titles
   Given Namet   Surnames   Email Addresst   Createds	   Job Titles	   Address 1s	   Address 2t   Townt   Postcodet   Countrys   %H:%M %d /%m/%Ys   utf-8(   R   R   R?   Rs   R   R   R   Rt   R   R   t   csvt   writert   writerowt   meeting_bookingt   titlet
   given_namet   surnamet   email_addressR   t   strftimet	   job_titlet	   address_1t	   address_2t   townt   postcodet   countryt   unicodet   encode(
   R    R3   Ri   R/   Rg   Rq   t   responseR}   t   session_bookingt   s(    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   download_session_bookings  s    <
.c         C   sN   t  t d | } t j j d |  } t d i | d 6| d 6d t |   S(   NR1   R/   s6   admin/meeting_booking/social_events/social-events.htmlt   social_eventsR   (   R   R   t   MeetingSocialEventR   R   R    R   (   R    R3   R/   R   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyR     s    c         C   s   t  t d | } t   } |  j r t |  j |  j  } | j   r yU | j d t  } | | _ | j   t	 j
 |  d  t t d d | j g  SWq t	 j |  d  q Xq n  t d i | d 6| d	 6d
 t |   S(   NR1   R"   s   Social Event Createdt#   admin_meeting_booking_social_eventsR:   s   Could not create Social Events9   admin/meeting_booking/social_events/add-social-event.htmlR/   R%   R   (   R   R   t   MeetingSocialEventFormR'   R(   R)   R*   R   R/   R   R-   R
   R   R1   R.   R    R   (   R    R3   R/   R%   t   social_event(    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   add_social_event  s    			
 c         C   s   t  t d | } t  t d | } t d |  } |  j r t |  j |  j d | } | j   r y: | j   t j	 |  d  t
 t d d | j g  SWq t j |  d  q Xq n  t d i | d 6| d	 6| d
 6d t |   S(   NR1   R2   s   Social Event UpdatedR   R:   s   Could not update Social Events:   admin/meeting_booking/social_events/edit-social-event.htmlR/   R   R%   R   (   R   R   R   R   R'   R(   R)   R*   R   R-   R
   R   R1   R.   R    R   (   R    R3   t   event_idR/   R   R%   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   edit_social_event  s    	
 c         C   sx   t  t d | } t  t d | } y | j   t j |  d  Wn t j |  d  n Xt t d d | j	 g  S(   NR1   s   Social Event Deleteds   Could not delete Social EventR   R:   (
   R   R   R   R5   R   R-   R.   R
   R   R1   (   R    R3   R   R/   R   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   delete_social_event  s    
c         C   sW   t  t d | } t j j d |  j d  } t d i | d 6| d 6d t |   S(   NR1   R/   RW   s,   admin/meeting_booking/days/meeting-days.htmlt   daysR   (   R   R   t
   MeetingDayR   R   R   R    R   (   R    R3   R/   R   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyR     s    c         C   s   t  t d | } t   } |  j r t |  j |  j  } | j   r y9 | j d t  } | | _ | j   t	 j
 |  d  Wn t	 j |  d  n Xt t d d | j g  Sn  t d i | d 6| d	 6d
 t |   S(   NR1   R"   s   Meeting Day Createds   Could not create Meeting Dayt   admin_meeting_booking_daysR:   s/   admin/meeting_booking/days/add-meeting-day.htmlR/   R%   R   (   R   R   t   MeetingDayFormR'   R(   R)   R*   R   R/   R   R-   R.   R
   R   R1   R    R   (   R    R3   R/   R%   t   day(    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   add_day  s    			
c         C   s   t  t d | } t  t d | } t d |  } |  j r t |  j |  j d | } | j   r y | j   t j	 |  d  Wn t j
 |  d  n Xt t d d | j g  Sn  t d i | d 6| d	 6| d
 6d t |   S(   NR1   R2   s   Day Updateds   Could not update DayR   R:   s0   admin/meeting_booking/days/edit-meeting-day.htmlR/   R   R%   R   (   R   R   R   R   R'   R(   R)   R*   R   R-   R.   R
   R   R1   R    R   (   R    R3   t   day_idR/   R   R%   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   edit_day%  s    	
c         C   sx   t  t d | } t  t d | } y | j   t j |  d  Wn t j |  d  n Xt t d d | j	 g  S(   NR1   s   Day Deleteds   Could not delete DayR   R:   (
   R   R   R   R5   R   R-   R.   R
   R   R1   (   R    R3   R   R/   R   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt
   delete_day9  s    
c         C   sN   t  t d | } t j j d |  } t d i | d 6| d 6d t |   S(   NR1   R/   s6   admin/meeting_booking/resources/meeting-resources.htmlt	   resourcesR   (   R   R   RA   R   R   R    R   (   R    R3   R/   R   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyR   H  s    c         C   s   t  t d | } t   } |  j r t |  j |  j  } | j   r y9 | j d t  } | | _ | j   t	 j
 |  d  Wn t	 j |  d  n Xt t d d | j g  Sn  t d i | d 6| d	 6d
 t |   S(   NR1   R"   s   Resource Createds   Could not create resourcet   admin_meeting_resourcesR:   s9   admin/meeting_booking/resources/add-meeting-resource.htmlR/   R%   R   (   R   R   t   MeetingResourceFormR'   R(   R)   R*   R   R/   R   R-   R.   R
   R   R1   R    R   (   R    R3   R/   R%   t   resource(    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   add_resourceP  s    			
c         C   s   t  t d | } t  t d | } t d |  } |  j r t |  j |  j d | } | j   r y | j   t j	 |  d  Wq t j
 |  d  q Xn  t t d d | j g  St d i | d 6| d	 6| d
 6d t |   S(   NR1   R2   s   Resource Updateds   Could not update resourceR   R:   s0   admin/meeting_booking/edit-meeting-resource.htmlR/   R   R%   R   (   R   R   RA   R   R'   R(   R)   R*   R   R-   R.   R
   R   R1   R    R   (   R    R3   t   resource_idR/   R   R%   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   edit_resourcef  s    	
c         C   sx   t  t d | } t  t d | } y | j   t j |  d  Wn t j |  d  n Xt t d d | j	 g  S(   NR1   s   Resource Deleteds   Could not delete resourceR   R:   (
   R   R   RA   R5   R   R-   R.   R
   R   R1   (   R    R3   R   R/   R   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   delete_resourcez  s    
c   	      C   sd  t  t d | } t j j d | d d d t d t  j d  } t j j d | d d d t d t d t  j d  } t j j d | d d	 d t  j d  } t j j d | d d
 d t  j d  } t j j d | d d d t  j d  } t j j d | d t  j d  } t d i | d 6| d 6| d 6| d 6| d 6| d 6| d 6d t	 |   S(   NR1   R/   t   statust   pendingt   completet   invoicedR   t   paidt   approvedRo   Rp   s,   admin/meeting_booking/bookings/bookings.htmlt   pending_bookingst   invoiced_bookingst   approved_bookingst   rejected_bookingst   cancelled_bookingst   incomplete_bookingsR   (
   R   R   t   MeetingBookingR   R   R   R   R   R    R   (	   R    R3   R/   R   R   R   R   R   R   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   bookings  s    06***$c   '      C   s;	  t  t d | } t   } t j j d |  | j d _ t   } t	   } t
   } t j j d |  j d  } t j j d |  j d  } t j j d |  j d  }	 t }
 |  j rt |  j  } t |  j  } t	 |  j  } t
 |  j  } | j   r| j   r| j   r| j   ryB t j j d | d |  j d d t  } t j |  d  t }
 Wn t j k
 rn Xy6 t j j d | d |  j d d t  } | j   Wn n X|
 s| j d t  } t d	 t d
  | _ | | _ | j } | j | _ | j  | _! | j   t |  j d | } | j   t	 |  j d | } | j   t
 |  j d | } | j   |  j j" d  } |  j j" d  } |  j j" d  } t }
 y t# j j d | j$  } Wn t } n X| r}| | _% | j& | _' | j( | _( | j) | _) | j* | _* | j+ | _+ | j, | _, | j- | _- | j. | _. | j/ | _/ | j0 | _0 | j   nt } y t1 j j d | j$  } Wnv t1 j k
 rt1 d | j$ d | j2 d | j3  } t d t1 d  | _4 t5 d  } | j6 |  | j   t } n Xt# d | d d d | j2 d | j3 d | j7  } | rZ| | _8 n  t9   | _: | j   | | _% d | _' | | _; | j   |  j j" d  rN|  j j" d  } x | D] } yq t j j d |  } | j' d k r| j<   } n | j=   } t> d | d  | d! | j d" |  } | j   Wqt }
 qXqWn  x | D] } yw t j j d |  } y t? j j d | d# |  } Wn< t? j k
 rt? d | d# | d$ | j  } | j   n XWqUt }
 qUXqUWx | D] } y} t j j d |  } y t? j j d | d# |  } WnB t? j k
 rnt? d | d# | d$ | j d t  } | j   n XWqt }
 qXqWx | D] } yr t j j d |  } |  j j d% | j@  }  |  rtA d | d& | d' | j d( |  d" | j   }! |! j   n  Wqt j k
 rqXqWt | _B d) | _C | j   | jD r| jE d* k r}d+ | }" tF d | j% d | d d, d- |" d. | jE d/ | jG  }# t d tF d
  |# _ |# j   tH jI d0 d1  }$ |$ jJ d2 d2 d3 d2  |$ jK d4 tL jM   jN d5   tO tP jQ jR tS jT d6 |# j@  d7  }% tU jV d8 i |# d9 6d: tW |   }& |$ jX |& |%  |% jY   d6 |# j@ |# _Z |# j   n t }# t[ j\ d; d  d | d9 |# d< t  n  t j^ |  d=  t_ t` d> d? | j@ g  Sqt j |  d@  n  ta dA i | d 6| dB 6| dC 6| dD 6| dE 6| d 6| d 6|	 d 6d: tW |   S(F   NR1   R/   t   typeRW   R   R   s9   Sorry, a booking already exists under this email address.R"   id   t
   unique_keyR2   RZ   Rl   R   t   user__emailt   emailt
   first_namet	   last_namei   t   usernamei
   t   usert	   user_types
   non-memberR   R   R   t   delegatet   meeting_dayst   memberR   t   meeting_dayt   meeting_day_namet
   price_paidRg   t   session_names   social_event_quantity_%sR   t   social_event_namet   quantityR   i    s   %ss   meeting-bookingR,   t   amount_paidt   payment_typet   calmdigitalt    dc33e7c4525620565185d0a00d90b8f0t   50t   0su   <p style="font-size:12px; text-align:center;">The Society for Vascular Technology of Great Britain and Ireland %s</p>s   %d/%m/%Ys'   members/receipts/meeting_booking_%s.pdft   wbs&   members/receipts/view-receipt-pdf.htmlt   receiptR   t   sendert   email_admins    Meeting booking has been createdt   admin_meeting_booking_bookingsR:   s7   Could not create the meeting booking, please try again.s/   admin/meeting_booking/bookings/new-booking.htmlt   booking_formt   address_formt   payment_formt
   notes_form(b   R   R   t   MeetingBookingFormAdminRL   R   R   Re   Rf   t   MeetingBookingAddressFormAdmint   MeetingBookingPaymentFormAdmint   MeetingBookingNotesFormAdminR   R   R?   R   R   R'   R)   R   t   getR   R   R.   t   DoesNotExistR5   R*   t   random_string_uniqueR   R/   R   R,   t	   type_namet   costt
   type_pricet   getlistt   MemberR   R   R   t   registrant_typeR   t   hospitalR   R   R   t   countyR   R   t	   telephoneR   R   R   R   t   generate_random_passwordt   set_passwordR   t   raw_passwordt   get_next_membership_numbert   membership_numbert   user_registeredt   get_member_costt   get_costt   MeetingDayBookingRs   R1   t   MeetingSocialEventBookingR   R   R   R   t   Receiptt   payment_methodt   pdfcrowdt   Clientt   setPageMarginst   setFooterHtmlR   t   todayR   t   opent   ost   patht   joinR	   t
   MEDIA_ROOTR   t   render_to_stringR   t   convertHtmlt   closet   filet"   meeting_booking_confirmation_emailt   sendt   NoneR-   R
   R   R    ('   R    R3   R/   R   R   R   R   R   RZ   R   t   errorsR   RP   t   posted_sessionst   posted_waitingt   posted_social_eventst   booking_membert   new_userR   t   passwordR   t   posted_daysR   R   R   t   meeting_day_bookingRi   Rg   R   t   posted_waiting_idt   social_event_idR   R   t   social_event_bookingt   receipt_nameR   t   clientt   output_filet   html(    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   new_booking  s$   					0(
(		




	$

0
			
$$-		
	
6
 (%
%c         C   sQ   t  t d | } t  t d | d | } t d i | d 6| d 6d t |   S(   NR1   R/   s0   admin/meeting_booking/bookings/view-booking.htmlR   R   (   R   R   R   R    R   (   R    R3   t
   booking_idR/   R   (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   view_bookingc  s    c   "      C   sB  t  t d | } t  t d | d | } t d |  } t d |  } t d |  } t j j d |  j	 d  } t
 j j d |  }	 t j j d |  j	 d  }
 t j j d |  } t j j d |  j	 d  } t j j d |  } |  j rt |  j d | } t |  j d | } t |  j d | } | j   r| j   r| j   r| j   x |	 D] } | j   qmWx | D] } | j   qWx | D] } | j   qW|  j j d  } |  j j d  } |  j j d  } t } |  j j d	  r|  j j d	  } x | D] } y t j j d |  } | j d
 k rf| j | j j    } n | j | j j    } t
 d | d | d | j d |  } | j   Wqt } qXqWn  x | D] } yw t j j d |  } y t j j d | d |  } Wn< t j k
 rFt d | d | d | j  } | j   n XWqt } qXqWx | D] } y} t j j d |  } y t j j d | d |  } WnB t j k
 rt d | d | d | j d t  } | j   n XWqct } qcXqcW| rx | D] } yr t j j d |  } |  j j d | j  }  |  r~t d | d | d | j d |  d | j  }! |! j   n  Wqt j k
 rqXqWn  t  j! |  d  t" t# d d | j g  St  j$ |  d  n  t% d i | d 6| d 6| d 6| d 6| d 6| d	 6|	 d 6|
 d 6| d 6| d 6| d 6d t& |   S(    NR1   R/   R2   RW   R   RZ   Rl   R   R   R   R   R   R   Rg   R   s   social_event_quantity_%sR   R   R   s    Meeting booking has been updatedR   R:   s7   Could not update the meeting booking, please try again.s0   admin/meeting_booking/bookings/edit-booking.htmlR   R   R   t   meeting_days_bookedt   sessions_bookedt   social_events_bookedR   ('   R   R   R   t   MeetingBookingFormEditR   R   R   R   R   R   R   R?   Rs   R   R   R'   R)   R*   R5   R   R   R   R   R   R   R   R   R,   R   R   R1   R   R   R-   R
   R   R.   R    R   ("   R    R3   R  R/   R   R   R   R   R   R  RZ   R  R   R  t   meeting_day_bookedt   session_bookedt   social_event_bookedR  R	  R
  R  R  R   R   R   R  Ri   Rg   R   R  R  R   R   R  (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   edit_bookingk  s    	$
$$-c         C   s   t  t d | } t  t d | d | } d | _ | j   | j } | j r t d | d d d d | t d	 d
 | j g f d d  } | j   n  t	 j
 |  d  t t d d
 | j g  S(   NR1   R/   R   R   R   s   Meeting Booking Approvedt   textsb   Your booking for meeting %s has been approved. <a href="%s">View the details of your booking.</a>.t   account_view_meeting_bookingR:   R   s   meeting-notifications   Booking has been approvedR   (   R   R   R   R   R*   R   t   UserActivityR   R1   R   R-   R
   (   R    R3   R  R/   t   bookingR   t   user_activity(    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   approve_booking  s    	
		=
c         C   si   t  t d | } t  t d | d | } d | _ | j   t j |  d  t t d d | j	 g  S(   NR1   R/   Rp   s   Booking has been cancelledR   R:   (
   R   R   R   R   R*   R   R-   R
   R   R1   (   R    R3   R  R/   R%  (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   cancel_booking  s    	
c         C   sY   t  t d | } t  t d | d | } t | _ | j   t t d d | j g  S(   NR1   R/   R   R:   (	   R   R   R   R   R   R*   R
   R   R1   (   R    R3   R  R/   R%  (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   invoice_booking  s
    	
c         C   s7  t  t d | } t  t d | d | } t | _ | j   | _ | j   | j rd | } t	 d | j d | d d d | d	 | j   d
 d  } t
 d t	 d  | _ | j   t j d d  } | j d d d d  | j d t j   j d   t t j j t j d | j  d  } t j d i | d 6d t |   }	 | j |	 |  | j   d | j | _ | j   t  j! d d  d |  d | d |  n  d | _# | j   | j rt$ d | j d d d d | t% d  d! | j g f d d"  }
 |
 j   n  t& j' |  d#  t( t% d$ d! | j g  S(%   NR1   R/   s   %sR   R   R   s   meeting-bookingR,   R   R   t   Invoicei   R   R   R   R   R   su   <p style="font-size:12px; text-align:center;">The Society for Vascular Technology of Great Britain and Ireland %s</p>s   %d/%m/%Ys'   members/receipts/meeting_booking_%s.pdfR   s&   members/receipts/view-receipt-pdf.htmlR   R   R   R    R   R   s   Meeting Booking ApprovedR"  sb   Your booking for meeting %s has been approved. <a href="%s">View the details of your booking.</a>.R#  R:   s   meeting-notifications   Booking marked as paidR   ()   R   R   R   R   R   t	   get_totalR   R*   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R	   R   R1   R   R   R   R  R  R  t   meeting_booking_invoice_paidR  R  R   R$  R   R   R-   R
   (   R    R3   R  R/   R   R  R   R  R  R  R&  (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   mark_paid_booking  s6    	
	
6
 (%

%	
	@c         C   s   t  t d | } t  t d | d | } y' d | _ | j   t j |  d  Wn t j |  d  n Xt t	 d d | j
 g  S(   NR1   R/   Ro   s   Booking has been rejecteds   Could not update bookingR   R:   (   R   R   R   R   R*   R   R-   R.   R
   R   R1   (   R    R3   R  R/   R%  (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   reject_booking>  s    	
c         C   s`   t  t d | } t  t d | d | } | j   t j |  d  t t d d | j g  S(   NR1   R/   s   Booking has been deletedR   R:   (	   R   R   R   R5   R   R-   R
   R   R1   (   R    R3   R  R/   R%  (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   delete_bookingM  s
    
c   
      C   s  t  t d | } t  t d | d | } | j d k rgd | } t d | j d | d d d	 | d
 | j  } | j | _ t d t d  | _	 | j
   t j d d  } | j d d d d  | j d t j   j d   t t j j t j d | j  d  } t j d i | d 6d t |   }	 | j |	 |  | j   d | j | _ | j
   n t } t  j! d d  d | d | d t  t# j$ |  d  t% t& d d | j g  S(   NR1   R/   i    s   %sR   R   R   s   meeting-bookingR,   R   i   R   R   R   R   R   su   <p style="font-size:12px; text-align:center;">The Society for Vascular Technology of Great Britain and Ireland %s</p>s   %d/%m/%Ys'   members/receipts/meeting_booking_%s.pdfR   s&   members/receipts/view-receipt-pdf.htmlR   R   R   R   s   Email has been resentR   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   R1   R   R   R   R  R  R  R   R  R  R  R   R-   R
   R   (
   R    R3   R  R/   R   R  R   R  R  R  (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   resend_booking[  s*    
-
 (%
"(Y   t   django.shortcutsR    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.contribR   t   django.template.defaultfiltersR   R   R   R   R|   R   t   modules.core.decoratorst   modules.core.functionst   modules.members.functionst   formst   modules.members.formst   modelst   modules.members.modelst   modules.payments.modelst   signalsR!   R0   R4   R6   R7   R8   R=   RJ   RK   RQ   RS   RT   RU   RV   RZ   R^   Ra   Rc   Rh   Rj   Rk   Rq   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R!  R'  R(  R)  R-  R.  R/  R0  (    (    (    s@   /var/www/svtgbi.org/svtgbi/modules/meeting_booking/adminviews.pyt   <module>   s   








	$f6