
    $g                        d dl mZ d dlmZ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mZ d dlmZ d	d
lmZmZ  ee ed          d          pdZdZee ee d          d                                     Zee
 ee d          d                                     Zee e            eedd                                                            Z	 ddZd ZdS )    )settings)REDIRECT_FIELD_NAMElogin)login_required)never_cache)csrf_exemptcsrf_protect)require_POST)do_authdo_completedo_disconnect)setting_name   )maybe_require_postpsaURL_NAMESPACENsocialz	:completec                 8    t          | j        t                    S )Nredirect_name)r   backendr   )requestr   s     S/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/social_django/views.pyauthr      s     7?2EFFFF    c                 T    t          | j        t          g|R | j        t          | d|S )zAuthentication complete view)userr   r   )r   r   	_do_loginr   r   )r   r   argskwargss       r   completer!      sN    
  
  \)    r   c                 F    t          | j        | j        |t                    S )z6Disconnects given backend from current logged in user.r   )r   r   r   r   )r   r   association_ids      r   
disconnectr$   *   s)     ~EX   r   Fc                     |r]|                                  }|r|                                }nt          }|
|t          }n+|||}n$|||}nt          ||          }n|t          }n|}|S N)expiration_datetimetotal_secondsDEFAULT_SESSION_TIMEOUTmin)social_userenable_session_expirationmax_session_length
expirationreceived_expiration_timesession_expirys         r   get_session_timeoutr1   6   s     ! (0 !4466

  	?'1'?'?'A'A$$'>$ $+0B0J 5NN%-2D2P/NN%16H6P 6NN !!9;MNNNN
 %4NN/Nr   c                    | j          d| j        j         |_        |                     dd          }|                     dd           }t          | j        j        |           	 t          |          }n# t          t          f$ r d }Y nw xY wt          |||          }	 | j        j        j                            |           d S # t          $ r- | j        j        j                            t                     Y d S w xY w)N.SESSION_EXPIRATIONFMAX_SESSION_LENGTH)r,   r-   )
__module__	__class____name__r   settingr   strategyr   int	TypeError
ValueErrorr1   session
set_expiryOverflowErrorr)   )r   r   r+   r,   max_session_length_settingr-   r0   s          r   r   r   f   s7   (GG7+<+EGGDL !(0De L L!(1Et!L!L 
'

"D)))" !;<<z" " " "!" )";-  NM (33NCCCCC M M M 	 (334KLLLLLLMs$   #A3 3B	B	$C 3C<;C<r&   )FN)django.confr   django.contrib.authr   r   django.contrib.auth.decoratorsr   django.views.decorators.cacher   django.views.decorators.csrfr   r	   django.views.decorators.httpr
   social_core.actionsr   r   r   social_core.utilsr   utilsr   r   getattr	NAMESPACEr)   r   r!   r$   r1   r    r   r   <module>rN      s               : : : : : : : : 9 9 9 9 9 9 5 5 5 5 5 5 B B B B B B B B 5 5 5 5 5 5 C C C C C C C C C C * * * * * * * * * * * * * *GHll?;;TBBNh	   	G G   G 	
 
   
        
 FJ- - - -`"M "M "M "M "Mr   