
    eh                         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
 ddlmZ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mZ e ed      d               Ze ed      d               Zy)    )renderredirect)messages)login_required)
connection)Group   )
CustomUserClient)CustomUserForm)group_required)r   get_object_or_404r   )get_user_model)now	timedeltaDesenvolvedoresc                    | j                   dk(  rvt        | j                        }|j                         r9|j	                  d      }|j
                  d   }|j
                  d   }ddlm} t        j                  }d }t        j                  j                         D ]  }t        j                  |j                         t        j                  j                  |      j!                         rd	| d
} n8t        j                  j                  |      j!                         sd| d
} n t        j                  |       |r%t#        j$                  | |       t'        | dd|i      S |j)                  |j
                  d          	 t        j                  j+                  |j
                  d         }||_        d|_        |j
                  d   |_        |j	                          t4        j                  j+                  d      }	|j6                  j9                  |	       t        j                  |j                         t#        j:                  | d|j2                   d       t=        d      S t#        j$                  | d       n
t               }t'        | dd|i      S # t        j.                  $ r( t#        j$                  | d       t'        | dd|i      cY S w xY w)NPOSTFcommitusernameemailr   )connections)r   u#   Já existe um usuário com o nome 'z' em outro tenant.)r   u%   Já existe um usuário com o e-mail 'zusers/register_user.htmlformpasswordschema_name)r   u-   Tenant (schema) especificado não encontrado.Ttrial_expirationComum)nameu>   Usuário cadastrado com sucesso! Acesso de teste válido até .z/users/home/u1   Erro ao cadastrar o usuário. Verifique os dados.)methodr   r   is_validsavecleaned_data	django.dbr   r   r   r   objectsall
set_schemar
   filterexistsr   errorr   set_passwordgettenantDoesNotExiston_trialr   r   groupsaddsuccessr   )
requestr   userusername_novo
email_novor   schema_atualconflitor.   groups
             +/var/www/html/cagpublico/cag/users/views.pyregister_userr<      s|    ~~gll+==?99E9*D --j9M**73J .%11LH ..,,. %%f&8&89%%,,m,DKKM!D]OSefH%%,,:,>EEG!FzlRdeH !!,/w1g'AFD>RR d//
;<S++8I8I-8X+Y$ !DM$($5$56H$ID!IIK MM%%7%3EKKOOE" !!&"4"45W(fgkg|g|f}}~&  AN++NN7$WX'5~FF1 && Sw(WXg'AFD>RRSs   4J   8KKc                     t               }t        ||      }| j                  dk(  rt        | j                  |      }|j                         r|j                  d      }|j                  j                  d      }|r|j                  |       |j                          t        j                  | d|j                   d       t        d	      S t        j                  | d
       nt        |      }t        | d||d      S )N)idr   )instanceFr   r   u	   Usuário z atualizado com sucesso!usuarios_tenants_schemau/   Erro ao atualizar usuário. Verifique os dados.zusers/edit_user.html)r   r5   )r   r   r!   r   r   r"   r#   r$   r-   r,   r   r3   r   r   r+   r   )r4   user_idr
   r5   r   updated_userr   s          r;   	edit_userrC   O   s      !JZG4D~~gllT:==?99E92L ((,,Z8H))(3W	,2G2G1HH`&ab566NN7$UVt,'1D$3OPP    N)django.shortcutsr   r   django.contribr   django.contrib.auth.decoratorsr   r%   r   django.contrib.auth.modelsr   modelsr
   r   formsr   login.viewsr   r   django.contrib.authr   django.utils.timezoner   r   r<   rC    rD   r;   <module>rO      sp    - # 9   , & ! & @ @ . 0!";G # ;G@ !"Q # QrD   