
    %ip                         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 d dlmZ d	 Zed
             Zeed                         Zd ZdS )    )renderredirect)settings)require_POSTN)JsonResponse)csrf_exempt)	SolicitudPermisoArea
PermisoUrl)Usuarioc                     d| j         vs| j                             d          dk    rt          d          S t          | d          S )Nuser_id	user_tipo   /zsolicitudes.html)sessiongetr   r   )requests    0/var/www/html/Desarrollo/bi/solicitudes/views.pysolicitudes_viewr      sF    ''7?+>+>{+K+Kq+P+P}}'-...    c                    | j                             d          }	 t          j                            |          }n*# t          j        $ r t          g dddd          cY S w xY w|j        dk    r;t          j                            d	d
d          	                    |j
                  }n3t          j                            d	d
d                                          }d |D             }t          |t          |          d          S )Nr   idr   zUsuario no encontrado)resultcounterror  status   usuariosolicitud_areasolicitud_url)r#   c           	      z    g | ]8}|j         |j        j        |j        j        |j        j        |j        |j        d 9S ))r   r"   r#   r$   justificacionestado)r   r"   nombrer#   r$   r&   r'   ).0ss     r   
<listcomp>z(get_solicitudes_data.<locals>.<listcomp>'   sY     
 
 
  $y'.5_3_h	
 	

 
 
r   )r   r   )r   r   r   objectsDoesNotExistr   tipor	   select_relatedfilterareaalllen)r   r   r"   solicitudes_listdatas        r   get_solicitudes_datar6      s0   o!!),,Gf/%%%11 f f frA@WXXadeeeeeef |q$,;;'
 

&&
-
- 	 %,;;'
 

#%% 	
 
 "
 
 
D 4#d))<<===s    = $A$#A$c                    	 t          j        | j                  }|                    d          }|                    d          }||t	          dddd          S t          |          }t          j                            |          }|j        d	k    rt	          dd
dd          S ||_        |	                                 |dk    rt          j                            |j        j        |j        j        ddi          \  }}|sd|_        |	                                 t          j                            |j        j        |j        j        ddi          \  }}	|	sd|_        |	                                 t	          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   zID and status are required.)r    messagei  r   r   r!   z%Esta solicitud ya ha sido gestionada.i     )
usuario_idarea_iddefaults)r:   url_idr<   successzStatus updated successfully.zSolicitud not found.r     )jsonloadsbodyr   r   intr	   r,   r'   saver
   get_or_creater"   r   r#   r   r$   r-   	Exceptionstr)r   r5   solicitud_idnew_status_str
new_status	solicitudpermiso_areacreated_areapermiso_urlcreated_urles              r   update_solicitud_statusrQ   5   s<   .Pz',''xx~~(++>#97?\ ] ]fijjjj((
%))\)::	q  7?f g gpstttt%	 ??)4)<)J)J$,/!03"A *K * *&L,   $&'#!!### (2'9'G'G$,/ .1"A (H ( ($K  #%&"  """y=[\\]]]! ` ` `w;QRR[^______ P P Pw3q66BB3OOOOOOOOOPs2   AF AF +C"F #G'3	G'< G"G'"G'c                 X   d| j         vrt          ddid          S | j         d         }	 t          j                            |          }|j        dk    r9t          j                            d|j                  	                                }n2t          j                            d	          	                                }t          d|i          S # t          j
        $ r t          ddid
          cY S t          $ r*}t          dt          |          id          cY d }~S d }~ww xY w)Nr   r   r   i  r   r   r!   )r'   r#   )r'   r   r   r?   )r   r   r   r,   r   r.   r	   r0   r1   r   r-   rF   rG   )r   r   userpending_countrP   s        r   get_pending_solicitudes_countrU   h   s;   ''WaL5555oi(G
;""g"..9>>%-44Adi4XX^^``MM%-44A4>>DDFFMWm4555 6 6 6WaL555555 ; ; ;Wc!ff-c:::::::::;s$   B&C "D)6	D)?D$D)$D))django.shortcutsr   r   django.confr   django.views.decorators.httpr   osrer@   django.httpr   django.views.decorators.csrfr   usuarios.modelsr	   r
   r   login.modelsr   r   r6   rQ   rU    r   r   <module>r`      s   - - - - - - - -             5 5 5 5 5 5 				 				  $ $ $ $ $ $ 4 4 4 4 4 4 > > > > > > > > > >            / / / > > >< /P /P  /Pb; ; ; ; ;r   