
    ;0i                         d dl mZ d dlmZ d dlmZ d 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 d dlmZ d
 Zd Ze
d             Ze
d             Ze
d             Zd dlZd dlmZ d ZdS )    )render)Usuario)settingsc                     ddl m} |j                            d          j        }d |D             }t          | dd|i          S )Nr   )TipoUsuariotipoc                 &    g | ]}|d          dv|S )r   )sauser ).0choices     5/var/www/html/Desarrollo/vibra/usuarios_gghh/views.py
<listcomp>zusuarios_sa.<locals>.<listcomp>   s&    ]]]vVAYn=\=\F=\=\=\    zusuarios_gghh.htmlrole_choices)login.modelsr   _meta	get_fieldchoicesr   )requestr   all_role_choicesr   s       r   usuarios_sar      se    (((((( #(226::B]])9]]]L'/2   r   )JsonResponse)require_POSTrequire_http_methods)csrf_exempt)get_object_or_404)r   r   c                 n   t           j                            ddddddddd	d
ddd          }g }|D ]r}|d         }|r|                    d          r!|                    dt
          j                  }n|                    d          sk|                    t
          j                  sL|                    d          }|                    d          rt
          j         | }nt
          j         d| }|                    |d         |d         |d         |d         pd|d         pd||d         |d         |d	         pd|d
         pd|d         pd|d         r|d         	                    d          nd|d         r|d         	                    d          ndd           tt          d|id          S )Nidnombreemailcargoareaprofileestado	docnumbertipo_contratacionjefecorreo_jefefecha_contratacionfecha_cumplez	/uploads/http/zprofile/ z%Y-%m-%d)r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   usersF)safe)r   objectsvalues
startswithreplacer   	MEDIA_URLlstripappendstrftimer   )r   usuarios
users_datausuarioprofile_urlclean_profiles         r   	api_usersr?      s   %%h&)X(&-n H J  i( 	Q%%k22 Q)11+x?QRR ++F33 QK<R<RS[Se<f<f Q + 2 23 7 7 ++J77 Q%-%7"H"H"HKK%-%7"P"P"P"PK$-h'W%W%+FO)r"h' -!()<!=!CFO)r"=17RX_`tXu"}'*>"?"H"H"T"T"T{}LSTbLckGN3<<ZHHHik
 
 	 	 	 	  *-E::::r   c                     t          t          |          }t          |j                            dd                    }t          d|i          S )Nr    r   T)flatroles)r   r   listtiposvalues_listr   )r   
usuario_idr<   rC   s       r   get_user_rolesrH   D   sI    J777G**6*==>>E%()))r   c                    dd l }	 |                    | j                  }|                    d          }|                    d          }|dv rt	          dddd	          S t          d
| d| d|            t          t          |          }|dk    r}|j        	                    |          
                                s<t          d| d|j                    t          j                            ||           nat          d| d           nM|dk    rGt          d| d|j                    |j        	                    |                                           t	          ddi          S # t           $ rJ}t          dt#          |                      t	          dt#          |          dd	          cY d }~S d }~ww xY w)Nr   roleaction)r
   r<   Fz*No tienes permiso para gestionar este rol.successmessagei  statuszDEBUG: update_user_role user=z role=z action=rA   add)r   zDEBUG: Creating role z
 for user )r<   r   zDEBUG: Role z already existsremovezDEBUG: Removing role rM   Tz"DEBUG: Error in update_user_role:   )jsonloadsbodygetr   printr   r   rE   filterexistsr'   r   r2   createdelete	Exceptionstr)r   rG   rT   data	role_coderK   r<   es           r   update_user_rolerb   I   s   KKKOzz',''HHV$$	(## ))) U?k!l!luxyyyy[j[[	[[SY[[\\\#G
;;;U??=''Y'77>>@@ AViVV7CTVVWWW#**7*KKKK?Y???@@@@xR)RRw?PRRSSSM  i 0077999Y-... O O O;3q66;;<<<#a&&AA#NNNNNNNNNOs%   AE1 "DE1 1
G;?G :G Gc                    dd l }	 |                    | j                  }|                    d          }t	          d| d|            t          t          |          }t          |          |_        |	                                 t          ddi          S # t          $ rJ}t	          dt          |                      t          d	t          |          d
d          cY d }~S d }~ww xY w)Nr   rP   zDEBUG: update_user_status user=z status=rA   rM   Tz$DEBUG: Error in update_user_status: FrL   rS   rO   )rT   rU   rV   rW   rX   r   r   intr&   saver   r]   r^   )r   rG   rT   r_   
new_statusr<   ra   s          r   update_user_statusrg   i   s   KKKOzz',''XXh''
P
PPJPPQQQ#G
;;;ZY-... O O O=SVV==>>>#a&&AA#NNNNNNNNNOs   BB 
C-#?C("C-(C-c                    dd l }ddlm} 	 |                    | j                  }t	          t
          |          }|                    d|j                  |_        |                    d|j                  |_        |                    d|j	                  |_	        |                    d|j
                  |_
        |                    d          }|r||_        |                                 t          d	d
i          S # t          $ rJ}t          dt!          |                      t          dt!          |          dd          cY d }~S d }~ww xY w)Nr   )datetimerA   r!   r"   r)   r*   r,   rM   Tz%DEBUG: Error in update_user_details: FrL   rS   rO   )rT   ri   rU   rV   r   r   rW   r!   r"   r)   r*   r,   re   r   r]   rX   r^   )r   rG   rT   ri   r_   r<   r,   ra   s           r   update_user_detailsrj   {   sY   KKK!!!!!!Ozz',''#G
;;; (GN;;'-88xx55"hh}g6IJJxx// 	0#/G Y-... O O O>c!ff>>???#a&&AA#NNNNNNNNNOs   C2C? ?
E	?EEEN)HttpResponsec                 x   t          d          }d|d<   t          j        |          }|                    g d           t          j                                                            dddd	d
dddddd          }|D ];}|d         dk    rdnd}t          |          }||d<   |                    |           <|S )Nztext/csv)content_typez#attachment; filename="usuarios.csv"zContent-Disposition)NombreEmailCargoAreaEstado	DocumentozTipo ContratacionJefezCorreo JefezFecha ContratacionzFecha Cumpleanosr!   r"   r#   r$   r&   r'   r(   r)   r*   r+   r,         ActivoInactivo)	rk   csvwriterwriterowr   r2   allrF   rD   )r   responserz   r0   r   rP   rows          r   export_users_csvr      s    444H&KH"#Z!!F
OO  f  f  f  g  g  gO!!--'7FHkV]4H. E
   !!W\\z4jjAOr   )django.shortcutsr   r   r   django.confr   r   django.httpr   django.views.decorators.httpr   r   django.views.decorators.csrfr   r   r   r?   rH   rb   rg   rj   ry   rk   r   r   r   r   <module>r      s   # # # # # #                        
 
 
 % $ $ $ $ $ K K K K K K K K 4 4 4 4 4 4 . . . . . . $ $ $ $ $ $ - - - - - - - -            '; '; ';R* * *
 O O O> O O O" O O O6 


 $ $ $ $ $ $    r   