U
    >i                     @   s   d dl mZ d dlmZ d dlmZ d dl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 d dlmZ d dlmZ d dlmZ eeddG dd deZe ZG dd de	Ze ZdS )    )PermissionDenied)reverse)method_decorator)	urlencode)FormView)login_not_required)get_adapter)complete_social_loginrender_authentication_error)SocialLogin)	AuthError)BaseLoginView)AuthenticateForm)DummyProviderdispatch)namec                   @   s   e Zd ZejZdS )	LoginViewN)__name__
__module____qualname__r   idZprovider_id r   r   O/tmp/pip-unpacked-wheel-upujnpc2/allauth/socialaccount/providers/dummy/views.pyr      s   r   c                       s@   e Zd ZeZdZee fddZdd Z	 fddZ
  ZS )AuthenticateViewzdummy/authenticate_form.htmlc                    sv   |j d| _| jst t | jtj| _	|j
dkrb|jddkrbt|| j	tjd| jidS t j|f||S )NstatePOSTactioncancelstate_id)errorZextra_context)GETgetr   r   r   get_providerrequestr   r   providermethodr   r
   r   Z	CANCELLEDsuperr   )selfr#   argskwargs	__class__r   r   r       s    zAuthenticateView.dispatchc                 C   s,   | j | j|j}t| j|_t| j|S )N)r$   Zsociallogin_from_responser#   Zcleaned_datar   Zunstash_stater   r	   )r'   formloginr   r   r   
form_valid0   s    zAuthenticateView.form_validc                    s0   t  jf |}tdd td| ji |d< |S )NZdummy_authenticate?r   Z
action_url)r&   get_context_datar   r   r   )r'   r)   retr*   r   r   r0   5   s    z!AuthenticateView.get_context_data)r   r   r   r   Z
form_classZtemplate_namer   r   r   r.   r0   __classcell__r   r   r*   r   r      s   r   N) Zdjango.core.exceptionsr   Zdjango.urlsr   Zdjango.utils.decoratorsr   Zdjango.utils.httpr   Zdjango.views.generic.editr   Z#allauth.account.internal.decoratorsr   Zallauth.socialaccount.adapterr   Zallauth.socialaccount.helpersr	   r
   Zallauth.socialaccount.modelsr   Z.allauth.socialaccount.providers.base.constantsr   Z*allauth.socialaccount.providers.base.viewsr   Z+allauth.socialaccount.providers.dummy.formsr   Z.allauth.socialaccount.providers.dummy.providerr   r   Zas_viewr-   r   Zauthenticater   r   r   r   <module>   s"   
!