ó
Ô¬ÄVc           @   s  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 d  d
 l m Z m Z d  d l m Z d  d l Td  d l Td  d l Td  d l  Td  d l! Z! d  d l" Z" e	 d ƒ d „  ƒ Z# e	 d ƒ d „  ƒ Z$ e	 d ƒ d „  ƒ Z% e	 d ƒ d „  ƒ Z& e	 d ƒ d „  ƒ Z' e	 d ƒ d „  ƒ Z( e	 d ƒ d „  ƒ Z) e	 d ƒ d „  ƒ Z* e	 d ƒ d „  ƒ Z+ e	 d ƒ d „  ƒ Z, e	 d ƒ d „  ƒ Z- e	 d ƒ d „  ƒ Z. 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   messages(   t   Usert   Group(   t   slugify(   t   *Ns    admin_users.can_access_resourcesc         C   s8   t  j j ƒ  j d ƒ } t d i | d 6d t |  ƒ ƒS(   Nt   names$   admin/resources/admin-resources.htmlt
   categoriest   context_instance(   t   ResourceCategoryt   objectst   allt   order_byR    R   (   t   requestR   (    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt   admin_resources   s    c         C   s¡   t  ƒ  } |  j r t  |  j ƒ } | j ƒ  r | j d t ƒ } t | j t ƒ | _ | j ƒ  t	 j
 |  d ƒ t t d ƒ ƒ Sn  t d i | d 6d t |  ƒ ƒS(   Nt   commits   Resource Category AddedR   s*   admin/resources/add-resource-category.htmlt   formR   (   t   ResourceCategoryFormt   POSTt   is_validt   savet   Falset   slugify_uniqueR   R   t   slugR   t   successR
   R   R    R   (   R   R   t   category(    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt   admin_add_resource_category$   s    		
c         C   sŸ   t  t d | ƒ} t d | ƒ } |  j rx t |  j d | ƒ} | j ƒ  rx | j ƒ  t j |  d ƒ t t	 d ƒ ƒ Sn  t
 d i | d 6| d 6d t |  ƒ ƒS(	   Nt   idt   instances   Resource Category UpdatedR   s+   admin/resources/edit-resource-category.htmlR&   R   R   (   R   R   R   R   R    R!   R   R%   R
   R   R    R   (   R   t   category_idR&   R   (    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt   admin_edit_resource_category4   s    	
c         C   sZ   t  t d | ƒ} y | j ƒ  t j |  d ƒ Wn t j |  d ƒ n Xt t d ƒ ƒ S(   NR(   s   Resource Category Deleteds   Could not delete categoryR   (   R   R   t   deleteR   R%   t   errorR
   R   (   R   R*   R&   (    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt   admin_delete_resource_categoryD   s    
c         C   sW   t  t d | ƒ} t j j d | ƒ j d ƒ } t d i | d 6| d 6d t |  ƒ ƒS(   NR(   R&   R   s-   admin/resources/admin-category-resources.htmlt	   resourcesR   (   R   R   t   ResourceR   t   filterR   R    R   (   R   R*   R&   R/   (    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt   admin_category_resourcesP   s    c      
   C   sK  t  t d | ƒ} t j j d | ƒ } t ƒ  } |  j rt |  j |  j ƒ } | j ƒ  r| j	 d t
 ƒ } t | j t ƒ | _ | | _ | j	 ƒ  | j ƒ  xM| D]E} | j d k r	|  j j | j ƒ rêt d | d | d |  j j | j ƒ ƒ } | j	 ƒ  qêq¥ | j d k s'| j d	 k rv|  j j | j ƒ rêt d | d | d
 |  j j | j ƒ ƒ } | j	 ƒ  qêq¥ | j d k r¥ |  j j | j ƒ rÂt d | d | d t ƒ } | j	 ƒ  qêt d | d | d t
 ƒ } | j	 ƒ  q¥ q¥ Wt j |  d ƒ t t d d | j g ƒƒ Sn  t d i | d 6| d 6| d 6d t |  ƒ ƒS(   NR(   R&   R   t   textt   resourcet   additional_fieldt   valuet   filet   imaget
   file_valuet   checkboxt   boolean_values   Resource AddedR2   t   argss!   admin/resources/add-resource.htmlR   t   additional_fieldsR   (   R   R   t   ResourceAdditionalFieldR   R1   t   ResourceFormR   t   FILESR    R!   R"   R#   R   R0   R$   R&   t   save_m2mt   typet   gett   ResourceAdditionalFieldValuet   TrueR   R%   R
   R   R(   R    R   (   R   R*   R&   R=   R   R4   t   fieldt   field_value(    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt   admin_add_resourceX   s:    			

**c      
   C   s”  t  t d | ƒ} t  t d | ƒ} t j j d | ƒ } t j j d | ƒ } t d | ƒ } |  j rXt |  j |  j	 d | ƒ} | j
 ƒ  rX| j ƒ  x| D]‡} | j d k rZ|  j j | j ƒ r%yA t j j d | d | ƒ }	 |  j j | j ƒ |	 _ |	 j ƒ  WqWt j k
 rSt d | d | d |  j j | j ƒ ƒ }
 |
 j ƒ  qWXq%qž | j d k sx| j d	 k r|  j	 j | j ƒ r%yA t j j d | d | ƒ }	 |  j	 j | j ƒ |	 _ |	 j ƒ  Wqt j k
 rt d | d | d
 |  j	 j | j ƒ ƒ }
 |
 j ƒ  qXq%qž | j d k rž |  j j | j ƒ r´y2 t j j d | d | ƒ }	 t |	 _ |	 j ƒ  Wq"t j k
 r°t d | d | d t ƒ }
 |
 j ƒ  q"Xq%y2 t j j d | d | ƒ }	 t |	 _ |	 j ƒ  Wq%t j k
 r!t d | d | d t ƒ }
 |
 j ƒ  q%Xqž qž Wt j |  d ƒ t t d d | j g ƒƒ Sn  t d i | d 6| d 6| d 6| d 6| d 6d t |  ƒ ƒS(   NR(   R&   R4   R)   R3   R5   R6   R7   R8   R9   R:   R;   s   Resource UpdatedR2   R<   s"   admin/resources/edit-resource.htmlR   R=   t   additional_field_valuesR   (   R   R   R0   R>   R   R1   RD   R?   R   R@   R    R!   RB   RC   R$   R6   t   DoesNotExistR9   RE   R;   R"   R   R%   R
   R   R(   R    R   (   R   R*   t   resource_idR&   R4   R=   RI   R   RF   R6   RG   (    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt   admin_edit_resource   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(   NR(   s   Resource Deleteds   Could not delete resourceR2   R<   (
   R   R   R0   R,   R   R%   R-   R
   R   R(   (   R   R*   RK   R&   R4   (    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt   admin_delete_resource¼   s    
c         C   sW   t  t d | ƒ} t j j d | ƒ j d ƒ } t d i | d 6| d 6d t |  ƒ ƒS(   NR(   R&   t   orders5   admin/resources/admin-category-additional-fields.htmlR=   R   (   R   R   R>   R   R1   R   R    R   (   R   R*   R&   R=   (    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt    admin_category_additional_fieldsË   s    c         C   sÌ   t  t d | ƒ} t ƒ  } |  j r¥ t |  j ƒ } | j ƒ  r¥ | j d t ƒ } t | j ƒ | _	 | | _
 | j ƒ  t j |  d ƒ t t d d | j g ƒƒ Sn  t d i | d 6| d 6d	 t |  ƒ ƒS(
   NR(   R   s   Additional Field AddedRO   R<   s)   admin/resources/add-additional-field.htmlR   R&   R   (   R   R   t   AdditionalFieldFormR   R    R!   R"   R   R   R$   R&   R   R%   R
   R   R(   R    R   (   R   R*   R&   R   RF   (    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt   admin_add_additional_fieldÓ   s    			
c         C   sÄ   t  t d | ƒ} t  t d | ƒ} t d | ƒ } |  j r– t |  j d | ƒ} | j ƒ  r– | j ƒ  t j |  d ƒ t	 t
 d d | j g ƒƒ Sn  t d i | d 6| d 6| d	 6d
 t |  ƒ ƒS(   NR(   R)   s   Additional Field UpdatedRO   R<   s*   admin/resources/edit-additional-field.htmlR   R&   RF   R   (   R   R   R>   RP   R   R    R!   R   R%   R
   R   R(   R    R   (   R   R*   t   field_idR&   RF   R   (    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt   admin_edit_additional_fieldæ   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(   NR(   s   Field Deleteds   Could not delete fieldRO   R<   (
   R   R   R>   R,   R   R%   R-   R
   R   R(   (   R   R*   RR   R&   R4   (    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt   admin_delete_additional_fieldù   s    
(/   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.contribR   t   django.contrib.auth.modelsR   R   t   django.template.defaultfiltersR   t   modelst   formst   modules.core.functionst   modules.core.decoratorst   randomt   csvR   R'   R+   R.   R2   RH   RL   RM   RO   RQ   RS   RT   (    (    (    s:   /var/www/svtgbi.org/svtgbi/modules/resources/adminviews.pyt   <module>   s6   



'=