
    
Wh                        S SK JrJrJr  S SKJr  S SKJr  S SKJ	r	  S SK
JrJr  SSKJr  SSKJrJr  S S	KJr  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5      S 5       5       r\\" S5      S 5       5       r\\" S5      S 5       5       r\\" S5      S 5       5       r\\" S5      S 5       5       r \\" S 5      S 5       5       r!\\" S 5      S 5       5       r"\\" S 5      S 5       5       r#S SKJ	r	  S S
K JrJr  S SK
JrJr  S SKJr  SSKJ$r$  S SKJr  \\" S 5      S 5       5       r%g)     )renderredirectget_object_or_404)messages)timezone)
connection)login_requireduser_passes_test   )
ClientForm)ClientTenantDeleteRequest)group_required)r   r   )call_command)schema_context)IdentidadeRestaurante)slugify)r	   Desenvolvedoresc                    U R                   S:X  Ga!  [        U R                  5      nUR                  5       (       a  UR	                  SS9nSUl        UR	                  5         [        SUR                  SSS9  [        UR                  5         [        R                  R                  UR                  [        UR                  5      UR                  =(       d    SUR                  =(       d    SS	9  S S S 5        [         R"                  " U S
5        [%        S5      $ [         R&                  " U S5        O
[        5       n[)        U SSU05      $ ! , (       d  f       Na= f)NPOSTF)commitTmigrate_schemasr   )schema_nameinteractive	verbosity )nomeslugenderecotelefonezTenant registrado com sucesso!tenant_management:tenant_listzErro ao registrar o tenant.z&tenant_management/register_tenant.htmlform)methodr   r   is_validsaveauto_create_schemar   r   r   r   objectscreatenamer   r   r    r   successr   errorr   )requestr"   tenants      2/var/www/html/atendegrf/tenant_management/views.pyregister_tenantr/      s    ~~',,'==??YYeY,F(,F%KKM *8J8JX]ijk   2 23%--44 -#__2#__2	 5  4 W&FG;<<NN7$AB|'Cfd^TT 43s   A$E
Ec                 \    [         R                  R                  5       n[        U SSU05      $ )N"tenant_management/tenant_list.htmltenants)r   r'   allr   )r,   r2   s     r.   tenant_listr4   9   s+     nn  "G'?)WAUVV    c           	         [        [        US9n[        R                  R                  5       nU R                  S:X  as  [        U R                  US9nUR                  5       (       a2  UR                  5         [        R                  " U S5        [        S5      $ [        R                  " U S5        O	[        US9n[        U SUUUSS	.5      $ )
Nidr   )instancezTenant atualizado com sucesso!r!   zErro ao atualizar o tenant.r1   T)r"   r-   r2   editing)r   r   r'   r3   r#   r   r   r$   r%   r   r*   r   r+   r   )r,   	tenant_idr-   r2   r"   s        r.   edit_tenantr<   @   s     v)4Fnn  "G~~',,8==??IIKW&FG;<<NN7$AB6*'?	B  r5   c                    [        [        US9nU R                  S:X  a  [        R                  R                  USS9R                  5       (       a"  [        R                  " U S5        [        S5      $ [        R                  R                  UU R                  S9  [        R                  " U S5        [        S5      $ [        U S	S
U05      $ )Nr7   r   F)r-   approvedu7   Já existe uma solicitação pendente para este tenant.r!   )r-   requested_byu8   Solicitação enviada para aprovação do administrador.z,tenant_management/confirm_delete_tenant.htmlr-   )r   r   r#   r   r'   filterexistsr   warningr   r(   userr*   r   )r,   r;   r-   s      r.   solicitar_exclusao_tenantrD   Y   s     v)4F~~&&--Ve-LSSUUW&_`;<<##**  	+ 	
 	"\]788'IHV\K]^^r5   c                     [         R                  R                  5       n[        R                  R	                  SS9n[        U SUUS.5      $ )NFr>   z%tenant_management/painel_cag_adm.html)r2   delete_requests)r   r'   r3   r   r@   r   )r,   r2   rG   s      r.   painel_cag_admrH   m   sM     nn  "G)1188%8HO'B*E  r5   c                 P    U R                   R                  SS9R                  5       $ NAdministradorr)   groupsr@   rA   us    r.   <lambda>rQ   y       AHHOOOAHHJr5   c                 Z    [         R                  R                  SS9n[        U SSU05      $ )NFrF   z'tenant_management/lista_aprovacoes.html	pendentes)r   r'   r@   r   )r,   rT   s     r.   painel_aprovacoesrU   x   s3     $++22E2BI'D{T]F^__r5   c                 P    U R                   R                  SS9R                  5       $ rJ   rM   rO   s    r.   rQ   rQ      rR   r5   c                    [        [        USS9nU R                  S:X  a  UR                  R                  nSUl        SUl        U R                  Ul        [        R                  " 5       Ul        UR                  5         [        R                  " 5        nUR                  SU S35        S S S 5        UR                  R!                  5         ["        R$                  " U S5        ['        S	5      $ [)        U S
SU05      $ ! , (       d  f       NY= f)Npendente)r8   statusr   aprovadoTzDROP SCHEMA IF EXISTS "z	" CASCADEu   Tenant excluído com sucesso.#tenant_management:painel_aprovacoesz&tenant_management/confirm_approve.htmlreq)r   r   r#   r-   r   rY   r>   rC   approved_byr   nowapproved_atr%   r   cursorexecutedeleter   r*   r   r   )r,   req_idr\   r   r`   s        r.   aprovar_exclusaord      s     /F:
NC~~jj,,  
!,,",,.
  FNN4[MKL ! 	

"AB=>>'CeS\RR ! s   C==
Dc                 P    U R                   R                  SS9R                  5       $ rJ   rM   rO   s    r.   rQ   rQ      rR   r5   c                     [        [        US9nUR                  5         [        R                  " U S5        [        S5      $ )Nr7   u0   Solicitação de exclusão rejeitada e removida.r[   )r   r   rb   r   infor   )r,   solicitacao_idsolicitacaos      r.   rejeitar_exclusao_tenantrj      s8     $$7NKKMM'MN9::r5   )Informativoc                 P    U R                   R                  SS9R                  5       $ )Nr   rL   rM   rO   s    r.   rQ   rQ      s    AHHOO1BOCJJLr5   c                    [        S5         U R                  S:X  a  [        R                  R	                  U R
                  R                  S5      U R
                  R                  S5      U R
                  R                  S5      S9  [        R                  " U S5        [        S5      sS S S 5        $ [        R                  R                  S	5      nS S S 5        [        U S
SW05      $ ! , (       d  f       N= f)Npublicr   titulomensagemdata_programada)ro   rp   rq   z(Informativo salvo para todos os tenants.z(tenant_management:gerenciar_informativosz-data_programadaz-tenant_management/gerenciar_informativos.htmlinformativos)r   r#   rk   r'   r(   r   getr   r*   r   order_byr   )r,   rr   s     r.   gerenciar_informativosru      s     
	!>>V#&&||''1 ))*5 ' 0 01B C ' 
 W&PQFG 
"	! #**334FG 
" 'JM   
"	!s   BC(2C((
C6N)&django.shortcutsr   r   r   django.contribr   django.utilsr   	django.dbr   django.contrib.auth.decoratorsr	   r
   formsr   modelsr   r   login.viewsr   django.core.managementr   django_tenants.utilsr   atendimento.modelsr   django.utils.textr   r/   r4   r<   rD   rH   rU   rd   rj   rk   ru    r5   r.   <module>r      s   @ @ # !   K  / & - # / /  4 % & 9 !"U # UB !"W # W
 !" # . !"_ # _$ !" #  JK` L `
 JKS L S4 JK; L ; ! - K #  / LM N r5   