U
    )i                     @   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rt jjrt jjddg tjr6tj}nt }t	
|sJd}t jjjdkrtt 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t jjt jjt jdd | |S )Nr   zplugin.*/Zkeycloaknext_urlzauth/signin?next_url=zauth/signinzservicedesk/auth/signinlogoutZCmfAuthok   )ZoperateZcmf_model_nameZresult_statusparent_nameZparent_codeparentZsecurity_level)gZcurrent_personZ
user_localZsessionZpluginZload_fieldsr   ZreferrerZauth_base_hrefZcmfutilZis_safe_next_urlZapp_typer
   r   valuesgeturllibparseunquoteZmodelsZCmfAuditZaudit_eventZcurrent_userZloginZ_ok)selfr	   Zresponse r   ./modules/auth/views/signout.pyr      s8    



  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
   