
    Dh                     $   S SK JrJr  S SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJr  S S	KJr  S
SKJr  S
SKJr  S SKrS SKrS SKJr  S SKJr  S rSS jr\S 5       rS SK J!r!  \S 5       r"S SK	J
r
  S SKJr  S SK J!r!  \S 5       r#g)    )renderredirect)login_required)
connection)EmailMultiAlternatives)render_to_string)
strip_tags)messages)settings)get_user_model   )MoradorForm)MoradorN)now)Groupc                 0   [        5       nU R                  S5      S   R                  5       nUnSnUR                  R	                  XAS9R                  5       (       a9  U U 3nUS-  nUR                  R	                  XAS9R                  5       (       a  M9  U$ )N@r   r   )usernametenant)r   splitlowerobjectsfilterexists)emailr   Userbase_usernamer   contadors         ,/var/www/html/grf_sindico/moradores/views.pygerar_usuario_unicor       s    DKK$Q'--/MHH
,,

x

?
F
F
H
H#_XJ/A ,,

x

?
F
F
H
H O    c                    ^ [         R                  [         R                  -   [         R                  -   mSR	                  U4S j[        U 5       5       5      $ )N c              3   P   >#    U  H  n[         R                  " T5      v   M     g 7f)N)secretschoice).0_
caracteress     r   	<genexpr>%gerar_senha_segura.<locals>.<genexpr>   s     F~!7>>*--~s   #&)stringascii_lettersdigitspunctuationjoinrange)tamanhor)   s    @r   gerar_senha_segurar3      s;    %%58J8JJJ77FuW~FFFr!   c                 |   [        U R                  S5      (       a  U R                  R                  (       d  [        S5      $ [        R
                  " U R                  R                  R                  5        U R                  S:X  Ga  [        U R                  U R                  R                  S9nUR                  5       (       Ga  UR                  n[        5       n[        US   U R                  R                  5      n[        5       nUR                  R!                  UUS   UUS   S9nU R                  R                  Ul        UR#                  5          [$        R                  R'                  SS	9nUR(                  R+                  U5        UR#                  SS9nXhl        UR#                  5         UR2                  UR4                  USS[7        5       S.n	[9        SU	5      n
[;        U
5      n[=        SU[>        R@                  US   /S9nURC                  U
S5        URE                  5         [.        RF                  " U SUR2                   S35        [        S5      $ O[        U R                  R                  S9n[I        U SSU05      $ ! [$        R,                   a    [.        R0                  " U S
5         GN,f = f)Nr   zpainel:dashboardPOST)r   r   nome_completo)r   r   password
first_namemorador)nameu\   ⚠️ Grupo 'morador' não existe. O usuário foi criado, mas não foi atribuído ao grupo.F)commit&https://sindico.grfgraph.com.br/login/Chttps://sindico.grfgraph.com.br/static/relatorio/grf_graph_logo.pngnomeusuariosenha	url_loginlogo_urlr   email/boas_vindas_morador.htmlzSeus dados de acesso - GRFGraph)subjectbody
from_emailtoz	text/htmlu   ✅ Morador z) cadastrado com sucesso e e-mail enviado.z moradores/cadastrar_morador.htmlform)%hasattruserr   r   r   
set_schemaschema_namemethodr   r5   is_validcleaned_datar   r    r3   r   create_usersaver   getgroupsaddDoesNotExistr
   warningr6   r   r   r   r	   r   r   DEFAULT_FROM_EMAILattach_alternativesendsuccessr   )requestrI   datar   r   rA   rK   grupo_moradorr9   contexthtmltext	email_msgs                r   cadastrar_moradorrc      sS   7<<**',,2E2E*++',,--99:~~7<<0C0CD==??$$D!#D*4=',,:M:MNH&(E<<++!7m0	 , D ",,--DKIIKJ % 1 1y 1 A. iiui-GLLLN  --==EauG $$DgNDd#D.9#66M?	I (({;NNWW5J5J4KKt&uv.//a d ',,"5"56'=~NNA %% J    +I  JJs   8J +J;:J;HttpResponsec                     [        S5      $ )Nu#   ✅ Morador cadastrado com sucesso!rd   )r\   s    r   cadastrar_morador_successrg   a   s    =>>r!   c                 R    SSSSS[        5       S.n[        SU5      n[        U5      $ )NzExemplo da Silva
exemplo123
senha12345r<   r=   r>   rD   )r   r   re   )r\   contextor`   s      r   preview_email_moradorrl   i   s9     #=YuH <hGDr!   )
   )$django.shortcutsr   r   django.contrib.auth.decoratorsr   	django.dbr   django.core.mailr   django.template.loaderr   django.utils.htmlr	   django.contribr
   django.confr   django.contrib.authr   formsr   modelsr   r%   r,   django.utils.timezoner   django.contrib.auth.modelsr   r    r3   rc   django.httpre   rg   rl    r!   r   <module>r}      s    - 9   3 3 ( #   .     % ,G <O <O~ %? ? 4 % $ r!   