
    Hg                     <   d dl mZ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dlmZmZ d d	lmZ e ed
          d                         Ze ed
          d                         Ze ed
          d                         Ze ed
          d                         Ze ed
          d                         Ze ed           d                         Ze ed           d                         Ze ed           d                         ZdS )    )renderredirectget_object_or_404)messages)timezone)
connection)login_requireduser_passes_test   )
ClientForm)ClientTenantDeleteRequest)group_requiredDesenvolvedoresc                 F   | j         dk    rvt          | j                  }|                                r8|                                 t          j        | d           t          d          S t          j        | d           nt                      }t          | dd|i          S )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     ,/var/www/html/cag/tenant_management/views.pyregister_tenantr      s     ~',''==?? 	CIIKKKW&FGGG;<<<N7$ABBBB||'Cfd^TTT    c                 d    t           j                                        }t          | dd|i          S )N"tenant_management/tenant_list.htmltenants)r   objectsallr   )r   r    s     r   tenant_listr#      s/     n  ""G'?)WAUVVVr   c           	         t          t          |          }t          j                                        }| j        dk    rxt          | j        |          }|                                r8|                                 t          j
        | d           t          d          S t          j        | d           nt          |          }t          | d|||dd	          S )
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)444Fn  ""G~',888==?? 	CIIKKKW&FGGG;<<<N7$ABBBB6***'?	B B   r   c                    t          t          |          }| j        dk    rt          j                            |d                                          r$t          j        | d           t          d          S t          j        
                    || j                   t          j        | d           t          d          S t          | d	d
|i          S )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)444F~&--Ve-LLSSUU 	=W&_```;<<<#**  	+ 	
 	
 	
 	"\]]]7888'IHV\K]^^^r   c                     t           j                                        }t          j                            d          }t          | d||d          S )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   sY     n  ""G)188%8HHO'B*E E   r   c                 \    | j                             d                                          S NAdministrador)namegroupsr/   r0   us    r   <lambda>rA   ]   "    AHOOOAAHHJJ r   c                 h    t           j                            d          }t          | dd|i          S )NFr6   z'tenant_management/lista_aprovacoes.html	pendentes)r   r!   r/   r   )r   rD   s     r   painel_aprovacoesrE   \   s6     $+22E2BBI'D{T]F^___r   c                 \    | j                             d                                          S r:   r=   r?   s    r   rA   rA   d   rB   r   c                    t          t          |d          }| j        dk    r|j        j        }d|_        d|_        | j        |_        t          j
                    |_        |                                 t          j                    5 }|                    d| d           d d d            n# 1 swxY w Y   |j                                         t#          j        | d           t'          d	          S t)          | d
d|i          S )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_namerI   r-   r3   approved_byr   nowapproved_atr   r   cursorexecutedeleter   r   r   r   )r   req_idrL   rM   rQ   s        r   aprovar_exclusaorU   c   sD    /F:
N
N
NC~j,  
!,",..


    	MFNNK[KKKLLL	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	M 	
"ABBB=>>>'CeS\RRRs   B..B25B2c                 \    | j                             d                                          S r:   r=   r?   s    r   rA   rA      rB   r   c                     t          t          |          }|                                 t          j        | d           t          d          S )Nr%   u0   Solicitação de exclusão rejeitada e removida.rK   )r   r   rS   r   infor   )r   solicitacao_idsolicitacaos      r   rejeitar_exclusao_tenantr[      sK     $$7NKKKKM'MNNN9:::r   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   rE   rU   r[    r   r   <module>re      s]   @ @ @ @ @ @ @ @ @ @ # # # # # # ! ! ! ! ! !             K K K K K K K K       / / / / / / / / & & & & & & !""U U #" U !""W W #" W
 !""  #" . !""_ _ #" _$ !""  #"  JJKK` ` LK `
 JJKKS S LK S4 JJKK; ; LK ; ; ;r   