U
    0h                     @   sR   d dl mZmZmZ d dlZd dlmZ d dlT d dl	Z	G dd dej
jeZdS )    )requestredirectmake_responseN)ResponseMixin)*c                   @   s    e Zd ZdZejjdd ZdS )SignOutViewz/signoutc              
   C   s  t jjrt jrzt jjrzt jjddg tjr6tj}nt }t jjj	dkrft jj
t j| t|}qt jj
t j|}qtjdd}tj|}t|sd}|rtt  d| }qtt  d}ntt  d}tjjd	d
ddt jjt jjt jdd | |S )Nr   zplugin.*Zkeycloaknext_url/zauth/signin?next_url=zauth/signinzservicedesk/auth/signinlogoutZCmfAuthokT   )ZoperateZcmf_model_nameZresult_statusZcurrent_transactionparent_nameZparent_codeparentZsecurity_level)gZcurrent_personZ
user_localZsessionZpluginZload_fieldsr   ZreferrerZauth_base_hrefZapp_typer
   r   valuesgeturllibparseunquoteZcmfutilZis_safe_next_urlZmodelsZCmfAuditZaudit_eventZcurrent_userZloginZ_ok)selfr   Zresponse r   ./modules/auth/views/signout.pyr      s6    


   zSignOutView.getN)__name__
__module____qualname__Z__url__cmfviewsactionr   r   r   r   r   r      s   r   )Zflaskr   r   r   Z	cmf.viewsr   Zmodules.auth.views.responser   Zcmf.includer   r   ZBaseViewr   r   r   r   r   <module>   s
   