
    |>@h1                     "   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
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Desenvolvedoresc                 <   U R                   S:X  at  [        U R                  5      nUR                  5       (       a2  UR	                  5         [
        R                  " U S5        [        S5      $ [
        R                  " U S5        O
[        5       n[        U SSU05      $ )NPOSTzTenant registrado com sucesso!tenant_management:tenant_listzErro ao registrar o tenant.z&tenant_management/register_tenant.htmlform)
methodr   r   is_validsaver   successr   errorr   )requestr   s     2/var/www/html/minhaobra/tenant_management/views.pyregister_tenantr      sy     ~~',,'==??IIKW&FG;<<NN7$AB|'Cfd^TT    c                 \    [         R                  R                  5       n[        U SSU05      $ )N"tenant_management/tenant_list.htmltenants)r   objectsallr   )r   r    s     r   tenant_listr#      s+     nn  "G'?)WAUVVr   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.r   T)r   tenantr    editing)r   r   r!   r"   r   r   r   r   r   r   r   r   r   r   )r   	tenant_idr(   r    r   s        r   edit_tenantr+   $   s     v)4Fnn  "G~~',,8==??IIKW&FG;<<NN7$AB6*'?	B  r   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      $ )Nr%   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   createuserr   r   )r   r*   r(   s      r   solicitar_exclusao_tenantr4   =   s     v)4F~~&&--Ve-LSSUUW&_`;<<##**  	+ 	
 	"\]788'IHV\K]^^r   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)r    delete_requests)r   r!   r"   r   r/   r   )r   r    r7   s      r   painel_cag_admr8   Q   sM     nn  "G)1188%8HO'B*E  r   c                 P    U R                   R                  SS9R                  5       $ NAdministradornamegroupsr/   r0   us    r   <lambda>rB   ]       AHHOOOAHHJr   c                 Z    [         R                  R                  SS9n[        U SSU05      $ )NFr6   z'tenant_management/lista_aprovacoes.html	pendentes)r   r!   r/   r   )r   rE   s     r   painel_aprovacoesrF   \   s3     $++22E2BI'D{T]F^__r   c                 P    U R                   R                  SS9R                  5       $ r:   r>   r@   s    r   rB   rB   d   rC   r   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)r&   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(   schema_namerJ   r-   r3   approved_byr   nowapproved_atr   r   cursorexecutedeleter   r   r   r   )r   req_idrM   rN   rR   s        r   aprovar_exclusaorV   c   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       $ r:   r>   r@   s    r   rB   rB      rC   r   c                     [        [        US9nUR                  5         [        R                  " U S5        [        S5      $ )Nr%   u0   Solicitação de exclusão rejeitada e removida.rL   )r   r   rT   r   infor   )r   solicitacao_idsolicitacaos      r   rejeitar_exclusao_tenantr\      s8     $$7NKKMM'MN9::r   )r   r   )Informativo)schema_contextc                 P    U R                   R                  SS9R                  5       $ )Nr   r<   r>   r@   s    r   rB   rB      s    AHHOO1BOCJJLr   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)rb   rc   rd   z(Informativo salvo para todos os tenants.z(tenant_management:gerenciar_informativosz-data_programadaz-tenant_management/gerenciar_informativos.htmlinformativos)r^   r   r]   r!   r2   r   getr   r   r   order_byr   )r   re   s     r   gerenciar_informativosrh      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   r   r#   r+   r4   r8   rF   rV   r\   r]   django_tenants.utilsr^   rh    r   r   <module>rs      st   @ @ # !   K  / & !"U # U !"W # W
 !" # . !"_ # _$ !" #  JK` L `
 JKS L S4 JK; L ; ! - K #  / LM N r   