
    Ki                         d dl mZmZ d dlmZ d dlmZ d dlZd dlZd dl	Z	d dl
mZ d dlmZ d dlmZmZmZmZ d dlmZ d	 Zd
 Zeed                         ZdS )    )renderredirect)settings)require_POSTN)JsonResponse)csrf_exempt)	SolicitudUrl
PermisoUrlPermisoArea)Usuarioc                     d| j         vrt          d          S | j                            d          }|st          d          S 	 t          j                            |          }| j                             d          }t          j                            ||d                                          }t          j                            ||j
        j        d                                          }|}t          j                            dd	g
          }d |D             }|j
        j        dk    }	|d                    |          |	|d}
t          | d|
          S # t          j        $ r t          d          cY S w xY w)Nuser_id/url_idz/perfilid   
usuario_idr   estador   area_idr      tipo__inc                     g | ]	}|j         
S  nombre.0rs     -/var/www/html/Desarrollo/bi/informes/views.py
<listcomp>z!informes_view.<locals>.<listcomp>,   s    ???Q???       , )url_dataresponsables
is_area_18has_permissionsinforme_content.html)sessionr   GETgetr
   objectsr   filterexistsr   arear   r   joinr   DoesNotExist)requestr   urlr   has_permiso_urlhas_permiso_arear,   r*   responsables_nombresr+   contexts              r$   informes_viewr=      s   ''}}[__X&&F #	"""!#kooo((/%%i00 %,33 4 
 
 &((	 	 '.55HK 6 
 
 &((	 	 *--1v->>??,???hkR'
 II&:;;$.	
 
 g5w??? # # #	"""""#s   DE E=<E=c                 $   d| j         vrt          ddid          S | j                            d          }|st          ddid          S 	 t          j                            |	          }| j                             d          }t          j                            ||d
                                          }t          j                            ||j
        j        d
                                          }|}|j
        j        dk    }d}|sCt          j                            ddg          }	d |	D             }
d                    |
          }||||d}t          | d|          S # t          j        $ r t          ddid          cY S w xY w)Nr   errorzNot logged ini  statusr   zMissing url_id  r   r   r   r   r'    r   r   r   c                     g | ]	}|j         
S r   r   r!   s     r$   r%   z(informe_content_view.<locals>.<listcomp>]   s    #F#F#FAH#F#F#Fr&   r(   )r)   r+   r*   r,   r-   zURL not foundi  )r.   r   r/   r0   r
   r1   r   r2   r3   r   r4   r   r   r5   r   r6   )r7   r   r8   r   r9   r:   r,   r+   responsables_strresponsables_qsr;   r<   s               r$   informe_content_viewrG   :   s   ''Wo6sCCCC[__X&&F EW&67DDDD&Dkooo((/%%i00 %,33 4 
 
 &((	 	 '.55HK 6 
 
 &((	 	 *hkR'
 	?%o44q!f4EEO#F#Fo#F#F#F #yy)=>> $,.	
 
 g5w??? D D DWo6sCCCCCCDs   DE* *"FFc                    	 t          j        | j                  }|                    d          }|                    d          }|                    d          }|                    d          }|                    dd          }t	          |||g          st          dddd	
          S t          j                            |||d          	                                }|rt          dddd
          S t          j        
                    ||||d          }t          dddd
          S # t           j        $ r t          dddd	
          cY S t          $ r+}t          dt          |          dd
          cY d }~S d }~ww xY w)Nr   r   r   justificacionrC   Fz'Faltan datos requeridos en la solicitud)successmessagerB   r@   r   )solicitud_url_idsolicitud_area_idr   r   z4Ya existe una solicitud pendiente para este informe.i  )rL   rM   r   rI   r   TzSolicitud enviada correctamente   u   JSON inválidoi  )jsonloadsbodyr0   allr   r	   r1   r2   firstcreateJSONDecodeError	Exceptionstr)	r7   datar   r   r   rI   existing_solicitud	solicitudes	            r$   solicitar_informer\   j   s   #Oz',''(##((9%%((9%%11"55FGW-.. 	vE>g h hqtuuuu '.55#%	 6 
 

 %'' 	  	CE>t u u  B  C  C  C  C%,,#%' - 
 
	 9Z[[dghhhh Y Y Y:JKKTWXXXXXX O O O#a&&AA#NNNNNNNNNOs1   B(D. +A
D. 67D. .#F	F F<FF)django.shortcutsr   r   django.confr   django.views.decorators.httpr   osrerO   django.httpr   django.views.decorators.csrfr   usuarios.modelsr	   r
   r   r   login.modelsr   r=   rG   r\   r   r&   r$   <module>rf      s   - - - - - - - -             5 5 5 5 5 5 				 				  $ $ $ $ $ $ 4 4 4 4 4 4 C C C C C C C C C C C C            *# *# *#X.D .D .D` $O $O  $O $O $Or&   