
    wg	                        d dl mZ d dlmZ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 d dlmZ d dlmZ d d	lmZ d d
lmZ  G d de          Z ee
d           G d de                      Z G d de          ZdS )    )Form)HttpRequestHttpResponseHttpResponseRedirectJsonResponse)method_decorator)csrf_exempt)View)WorkEmailServiceInterface)get_work_email_service)RequestInterface)get_link_encryptor)FeedbackFormc                   2    e Zd Z e            ZdedefdZdS )RedirectToLinkrequestreturnc                     | j         j                            d          }|r+| j                            |          }|rt          |          S t          d          S )Nproduct  status)r   GETgetlink_encryptordecryptr   r   )selfr   trackerlinks       %/var/www/html/cms/web/common/views.pyr   zRedirectToLink.get   s_    ,"&&y11 	2&..w77D 2+D1113''''    N)__name__
__module____qualname__r   r   r   r   r    r!   r    r   r      sD        ''))N(; (< ( ( ( ( ( (r!   r   dispatch)namec                   ,    e Zd Zd ZdefdZdefdZdS )FormViewc                     |                                  }|                                r | j        ||g|R i |S t          d|j        id          S )Nerrorsr   r   )get_formis_valid
form_validr   r+   )r   r   argskwargsforms        r    postzFormView.post!   s^    }}==?? 	C"4?7DB4BBB6BBBXt{3C@@@@r!   r   c                 V    |                      | j        j        | j        j                  S )N)
form_classr   POSTFILES)r   s    r    r,   zFormView.get_form(   s     t|0$,2DEEEr!   r1   c                     | j                             t          |                    }|r%|                    |t	          |                     dS dS )us   Функция для добавления ошибки в форму на основании исключения.N)error_mappingr   type	add_errorstr)r   r1   	exceptionerror_fields       r    add_form_errorzFormView.add_form_error+   sP    (,,T)__== 	8NN;I77777	8 	8r!   N)r"   r#   r$   r2   r   r,   r>   r%   r!   r    r)   r)      sa        A A AF$ F F F F84 8 8 8 8 8 8r!   r)   c                   F    e Zd ZU  e            Zeed<   eZde	dede
fdZdS )SendFeedbackViewemail_servicer   r1   r   c           
         | j                             |j        |                                |j                            d          |j                            d          |j                            d          |j                            d          |j        j        r|j        j        nd            t          d          S )Nusernamephoneemailmessage)	site_namesite_domainrC   rD   rE   rF   user_id   r   )
rA   send_feedback_emailrG   get_hostcleaned_datar   useris_authenticatedidr   )r   r   r1   s      r    r.   zSendFeedbackView.form_valid6   s    ..'((**&**:66#''00#''00%)))44'.|'DNGLOO$ 	/ 	
 	
 	
 3''''r!   N)r"   r#   r$   r   rA   r   __annotations__r   r4   r   r   r.   r%   r!   r    r@   r@   2   s_         /E/E/G/GM,GGGJ("2 (, (< ( ( ( ( ( (r!   r@   N)django.formsr   django.httpr   r   r   r   django.utils.decoratorsr   django.views.decorators.csrfr	   django.views.genericr
   Eapplication.email_services.work_email_service.email_service_interfacer   >infrastructure.email_services.work_email_service.email_servicer   )infrastructure.requests.request_interfacer   infrastructure.securityr   web.common.formsr   r   r)   r@   r%   r!   r    <module>r\      s         U U U U U U U U U U U U 4 4 4 4 4 4 4 4 4 4 4 4 % % % % % %           G F F F F F 6 6 6 6 6 6 ) ) ) ) ) )
( 
( 
( 
( 
(T 
( 
( 
( +J///8 8 8 8 8t 8 8 0/8$( ( ( ( (x ( ( ( ( (r!   