ó
Ô¬ÄVc           @   s  d  d l  m Z m Z d  d l m Z 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 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 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 ƒ e d „  ƒ ƒ Z$ e d ƒ d „  ƒ Z% e d ƒ d „  ƒ Z& e d ƒ d „  ƒ Z' e d ƒ d „  ƒ Z( e d ƒ d „  ƒ Z) e d ƒ d „  ƒ Z* e d ƒ d „  ƒ Z+ e d ƒ d „  ƒ Z, e d ƒ e 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 d& S('   iÿÿÿÿ(   t   render_to_responset   get_object_or_404(   t   RequestContextt   loadert   Context(   t   messages(   t   logout(   t   User(   t   login_requiredt   permission_required(   t   csrf_exempt(   t   Q(   t   settings(   t   HttpResponseRedirectt   Http404t   HttpResponse(   t   reverse(   t   *s   admin_users.can_access_blocksc         C   s  y t  j j d d ƒ } Wn t } n X| rA t d | ƒ } n	 t ƒ  } |  j ræ | rw t |  j |  j d | ƒ} n t |  j |  j ƒ } | j ƒ  ræ y. | j ƒ  t	 j
 |  d ƒ t t d ƒ ƒ SWqã t	 j |  d ƒ qã Xqæ n  t d i | d 6| d	 6d
 t |  ƒ ƒS(   Nt   idi   t   instances   Homepage Content Updatedt   admin_blocks_homepage_contents!   Could not update Homepage Contents1   admin/homepage_content/edit-homepage-content.htmlt   homepage_content_formt   homepage_settingst   context_instance(   t   HomepageSettingst   objectst   gett   Falset   HomepageContentFormt   POSTt   FILESt   is_validt   saveR   t   successR   R   t   errorR    R   (   t   requestR   R   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   homepage_content   s&    
		
c         C   s;   t  j j ƒ  j d d ƒ } t d i | d 6d t |  ƒ ƒS(   Nt
   block_typet   names!   admin/homepage_blocks/blocks.htmlt   homepage_blocksR   (   t   HomepageBlockR   t   allt   order_byR    R   (   R#   R'   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyR'   7   s    c         C   s_   y t  j j d d ƒ } Wn t ‚ n Xt j j ƒ  } t d i | d 6| d 6d t |  ƒ ƒS(   NR   i   s(   admin/homepage_blocks/change-layout.htmlR   t   block_layoutsR   (   R   R   R   R   t   BlockLayoutR)   R    R   (   R#   R   R+   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   homepage_blocks_layout?   s    
c         C   s˜   t  t d | ƒ} y t j j d d ƒ } Wn t ‚ n X| | j k rb t j j d t	 ƒ } n t j j
 ƒ  } t d i | d 6| d 6d t |  ƒ ƒS(   NR   i   t   actives/   admin/homepage_blocks/partials/load-layout.htmlt   block_layoutt   blocksR   (   R   R,   R   R   R   R   R/   R(   t   filterR   R)   R    R   (   R#   t	   layout_idR/   R   R0   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   homepage_blocks_layout_loadK   s    
c         C   s  t  t d | ƒ} y t j j d d ƒ } Wn t ‚ n Xt j j d t ƒ } x! | D] } t	 | _
 | j ƒ  qW W|  j rñ xT |  j j ƒ  D]C \ } } t  t d | ƒ} t | _
 | | _ | | _ | j ƒ  q W| | _ | j ƒ  t d ƒ St d ƒ ‚ t ‚ d  S(   NR   i   R.   t   Oks   not post(   R   R,   R   R   R   R   R(   R1   t   TrueR   R.   R    R   t   itemst   locationR/   R   t	   Exception(   R#   R2   R/   R   t   elementst   elementt   keyt   value(    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   homepage_blocks_layout_save\   s*    
						

c         C   s’   t  ƒ  } |  j rr t  |  j |  j ƒ } y. | j ƒ  t j |  d ƒ t t d ƒ ƒ SWqr t j |  d ƒ qr Xn  t	 d i | d 6d t
 |  ƒ ƒS(   Ns   Block has been createdt   admin_blocks_homepage_blockss   Could not save blocks$   admin/homepage_blocks/add-block.htmlt   homepage_block_formR   (   t   HomepageBlockAddFormR   R   R    R   R!   R   R   R"   R    R   (   R#   R?   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt	   add_block   s    		
c         C   s·   t  t d | ƒ} t d | ƒ } |  j r t |  j |  j d | ƒ} y. | j ƒ  t j |  d ƒ t t	 d ƒ ƒ SWq t j
 |  d ƒ q Xn  t d i | d 6| d 6d	 t |  ƒ ƒS(
   NR   R   s   Homepage Block EditedR>   s   Could not update Homepage Blocks%   admin/homepage_blocks/edit-block.htmlt   homepage_blockR?   R   (   R   R(   t   HomepageBlockEditFormR   R   R    R   R!   R   R   R"   R    R   (   R#   t   block_idRB   R?   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt
   edit_block“   s    	
c         C   sZ   t  t d | ƒ} y | j ƒ  t j |  d ƒ Wn t j |  d ƒ n Xt t d ƒ ƒ S(   NR   s   Homepage Block has been deleteds   Could not delete Homepage BlockR>   (   R   R(   t   deleteR   R!   R"   R   R   (   R#   RD   RB   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   delete_blockª   s    
c         C   s8   t  j j ƒ  j d ƒ } t d i | d 6d t |  ƒ ƒS(   NR&   s   admin/menu/menus.htmlt   menusR   (   t   MenuR   R)   R*   R    R   (   R#   RH   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyRH   ·   s    c         C   sW   t  t d | ƒ} t j j d t ƒ j d ƒ } t d i | d 6| d 6d t |  ƒ ƒS(   Nt   slugt   parent__isnullt   orders   admin/menu/menu-items.htmlt   menut
   menu_itemsR   (	   R   RI   t   MenuItemR   R1   R5   R*   R    R   (   R#   t	   menu_slugRM   RN   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyRN   ¾   s    c         C   sê   t  t d | ƒ} t ƒ  } |  j rÃ t |  j ƒ } | j ƒ  rÃ yd | j d t ƒ } | | _ | j ƒ  | _	 | 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(   NRJ   t   commits
   Menu Addedt   admin_blocks_menu_itemst   argss   Could not add menu Items   admin/menu/add-item.htmlRM   t   menu_item_formR   (   R   RI   t   MenuItemFormR   R   R    R   RM   t   get_next_orderRL   R   R!   R   R   RJ   R"   R    R   (   R#   RP   RM   RT   t	   menu_item(    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   add_menu_itemÇ   s    			
 c         C   së   t  t d | ƒ} t  t d | 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(   NRJ   R   RM   R   s
   Menu SavedRR   RS   s   Could not Update menu Items   admin/menu/edit-item.htmlRW   RT   R   (   R   RI   RO   RU   R   R   R    R   R!   R   R   RJ   R"   R    R   (   R#   RP   t   item_idRM   RW   RT   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   edit_menu_itemá   s    	
 c         C   s~   t  t d | ƒ} t  t d | d | ƒ} y | j ƒ  t j |  d ƒ Wn t j |  d ƒ n Xt t d d | j	 g ƒƒ S(   NRJ   R   RM   s   Menu Item Deleteds   Could not delete Menu itemRR   RS   (
   R   RI   RO   RF   R   R!   R"   R   R   RJ   (   R#   RP   RY   RM   RW   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   delete_menu_itemú   s    
c         C   s¶   t  t d | ƒ} |  j r¬ |  j j d ƒ r¬ |  j d j d ƒ } d } xV | D]N } | j d ƒ } | d } t  t d | ƒ} | | _ | j ƒ  | d } qP Wt d ƒ St	 ‚ d  S(   NRJ   RL   t   &i   t   =R   R4   (
   R   RI   R   R   t   splitRO   RL   R    R   R   (   R#   RP   RM   R6   RL   t   itemt
   item_arrayRY   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   reorder_menu_items
  s    
	

c         C   s8   t  j j ƒ  j d ƒ } t d i | d 6d t |  ƒ ƒS(   NR&   s(   admin/content_blocks/content-blocks.htmlt   content_blocksR   (   t   ContentBlockR   R)   R*   R    R   (   R#   Rb   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyRb   '  s    c         C   sÀ   t  t d | ƒ} t d | ƒ } |  j r™ t |  j d | ƒ} | j ƒ  r™ y. | j ƒ  t j |  d ƒ t t	 d ƒ ƒ SWq– t j
 |  d ƒ q– Xq™ n  t d i | d 6| d 6d	 t |  ƒ ƒS(
   NR   R   s   Content Block Savedt   admin_blocks_content_blockss   Could not Update Content Blocks$   admin/content_blocks/edit-block.htmlt   content_blockt   content_block_formR   (   R   Rc   t   ContentBlockFormR   R   R    R   R!   R   R   R"   R    R   (   R#   RD   Re   Rf   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   edit_content_block.  s    	
c         C   sQ   t  j j d d ƒ } t  j j d d ƒ } t d i | d 6| d 6d t |  ƒ ƒS(   Nt   typet   audiences   content-types*   admin/homepage_search/homepage-search.htmlt   audience_searcht   content_type_searchR   (   t   HomepageSearchR   R1   R    R   (   R#   Rk   Rl   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   homepage_searchD  s    c         C   sÅ   t  ƒ  } |  j r¥ t  |  j ƒ } | j ƒ  r¥ yX | j d t ƒ } t | j t d ƒ | _ | j ƒ  t	 j
 |  d ƒ t t d ƒ ƒ SWq¢ t	 j |  d ƒ q¢ Xq¥ n  t d i | d 6d t |  ƒ ƒS(	   NRQ   RJ   s   Homepage Search Createdt   admin_blocks_homepage_searchs    Could not create Homepage Searchs.   admin/homepage_search/add-homepage-search.htmlt   add_homepage_search_formR   (   t   HomepageSearchFormR   R   R    R   t   slugify_uniqueR&   Rm   RJ   R   R!   R   R   R"   R    R   (   R#   Rp   Rn   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   add_homepage_searchL  s    		
c         C   sÀ   t  t d | ƒ} t d | ƒ } |  j r™ t |  j d | ƒ} | j ƒ  r™ y. | j ƒ  t j |  d ƒ t t	 d ƒ ƒ SWq– t j
 |  d ƒ q– Xq™ n  t d i | d 6| d 6d	 t |  ƒ ƒS(
   NR   R   s   Homepage Search UpdatedRo   s    Could not update Homepage Searchs/   admin/homepage_search/edit-homepage-search.htmlRn   t   homepage_search_formR   (   R   Rm   Rq   R   R   R    R   R!   R   R   R"   R    R   (   R#   t	   search_idRn   Rt   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   edit_homepage_searchc  s    	
c         C   sZ   t  t d | ƒ} y | j ƒ  t j |  d ƒ Wn t j |  d ƒ n Xt t d ƒ ƒ S(   NR   s   Homepage Search Deleteds    Could not delete Homepage SearchRo   (   R   Rm   RF   R   R!   R"   R   R   (   R#   Ru   Rn   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   delete_homepage_searchz  s    
c         C   sQ   t  j j d | ƒ } t j j d | ƒ } t d i | d 6| d 6d t |  ƒ ƒS(   Nt   pkt   blocks   admin/banners/banners.htmlt   bannersRB   R   (   R(   R   R   t   BannerImageR1   R    R   (   R#   RD   Ry   Rz   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   block_banners‰  s    c         C   sä   t  j j 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(   NRx   RQ   s   Banner Addedt   admin_blocks_block_bannersRS   s   Could not add banners   admin/banners/add-banner.htmlRD   t   banner_formR   (   R(   R   R   t
   BannerFormR   R   R   R    R   Ry   R   R!   R   R   R   R"   R    R   (   R#   RD   Ry   R~   t   banner(    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   block_banners_add  s    			
 c         C   sý   t  t d | ƒ} t  t d | ƒ} t d | ƒ } |  j rÏ t |  j |  j d | ƒ} | j ƒ  rÏ yL | 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
 6| d 6d t |  ƒ ƒS(   NRx   R   RQ   s   Banner SavedR}   RS   s   Could not save banners   admin/banners/edit-banner.htmlRB   R€   R~   R   (   R   R(   R{   R   R   R   R   R    R   R   R!   R   R   R   R"   R    R   (   R#   RD   t	   banner_idRy   R€   R~   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   block_banners_edit¥  s    	
 c         C   sf   t  j j d | ƒ } y | j ƒ  t j |  d ƒ Wn t j |  d ƒ n Xt t d d | g ƒƒ S(   NR   s   Banner has been deleteds   Could not delete BannerR}   RS   (	   R{   R   R   RF   R   R!   R"   R   R   (   R#   RD   R‚   R€   (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   block_banners_delete»  s    
N(8   t   django.shortcutsR    R   t   django.templateR   R   R   t   django.contribR   t   django.contrib.authR   t   django.contrib.auth.modelsR   t   django.contrib.auth.decoratorsR   R	   t   django.views.decorators.csrfR
   t   django.db.modelsR   t   django.confR   t   django.httpR   R   R   t   django.core.urlresolversR   t   modules.core.decoratorst   modules.core.functionst   modelst   formsR$   R'   R-   R3   R=   RA   RE   RG   RH   RN   RX   RZ   R[   Ra   Rb   Rh   Rn   Rs   Rv   Rw   R|   R   Rƒ   R„   (    (    (    s7   /var/www/svtgbi.org/svtgbi/modules/blocks/adminviews.pyt   <module>   sP   



#	"		