
    siS                     @   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  eed       e ed      d       G d dej4                                      Z eed       e ed      d       G d dej8                                      Z eed       e ed      d       G d dej<                                      Z eed       e ed      d       G d dej@                                      Z!y)    )Any)messages)HttpResponse)render)reverse_lazy)method_decorator)gettext_lazy)login_requiredpermission_required)views)models)LinkedInAccountFilter)LinkedInAccountFormdispatch)namez recruitment.view_linkedinaccountc                   8    e Zd ZdZ ed      Z ed      ZdZdZy)LinkedinSettingSectionViewz%
    LinkedinSetting SectionView
    zlinkedin-setting-navlinkedin-setting-listlistContainerz/settings/linkedin/linkedin_setting_section.htmlN)	__name__
__module____qualname____doc__r   nav_urlview_urlview_container_idtemplate_name     4/var/www/python-projects/worksol/recruitment/cbvs.pyr   r      s-    
 12G34H' FMr   r   c                   H     e Zd ZdZd fdZ ed      Z ed      ZdZ	 xZ
S )LinkedInSettingNavViewz"
    LinkedInSetting nav view
    c                 L    t        |   |i | dt        d       d| _        y )Nz
            hx-get="zcreate-linkedin-accountz"
            hx-target="#genericModalBody"
            data-toggle="oh-modal-toggle"
            data-target="#genericModal"
        )super__init__r   create_attrs)selfargskwargs	__class__s      r    r%   zLinkedInSettingNavView.__init__.   s5    $)&)!!";<= >	r   zLinkedIn Accountsr   z#listContainer)returnN)r   r   r   r   r%   _	nav_titler   
search_urlsearch_swap_target__classcell__r*   s   @r    r"   r"   %   s+    
 %&I56J)r   r"   z"recruitment.change_linkedinaccountc                        e Zd ZdZeZej                  Z e	d      dz   ej                  j                  z   Z fdZ fdZdedef fdZdedej                   f fd	Z xZS )
LinkedInAccountFormViewz
    LinkedInForm View
    Create c                     t         |          }t        j                  j                  j                  | j                  d         j                         }||d<   |S )Npk)r7   instance)r$   get_form_kwargsr   LinkedInAccountobjectsfilterr)   first)r'   r)   r8   r*   s      r    r9   z'LinkedInAccountFormView.get_form_kwargsI   sP    (*))1188DKK<M8NTTV%zr   c                     t        |   di |}| j                  j                  j                  r>t        d      dz   | j                  j                  j                  z   | j                  _        |S )NUpdater5   r   )
r$   get_context_dataformr8   r7   r,   model_metaverbose_name
form_class)r'   r)   contextr*   s      r    r@   z(LinkedInAccountFormView.get_context_dataO   s\    '*4V499  (c!DJJ$4$4$A$AA OO( r   rA   r+   c                     |j                         s>|j                  j                         }t        | j                  | j
                  ||d      S t        |   |      S )N)rA   errors)is_validrH   as_datar   requestr   r$   form_invalid)r'   rA   rH   r*   s      r    rL   z$LinkedInAccountFormView.form_invalidW   sS    }}[[((*Fd00462R  w#D))r   c                    |j                         rcd}|j                  j                  rd}|j                          t	        j
                  | j                  t        |             | j                         S t        | )  |      S )NzLinkedIn account added.zLinkedIn account updated.)rI   r8   r7   saver   successrK   r,   r   r$   
form_valid)r'   rA   messager*   s      r    rP   z"LinkedInAccountFormView.form_valid`   sc    ==?/G}}5IIKT\\1W:6$$&&w!$''r   )r   r   r   r   r   rE   r   r:   rB   r,   rC   rD   new_display_titler9   r@   r   r   rL   r   rP   r0   r1   s   @r    r3   r3   <   st    
 %J""E(c)EKK,D,DD* * *
(2 
(u7I7I 
( 
(r   r3   c                   H    e Zd ZdZej
                  Z ed      Ze	Z
dZg dZy)LinkedInSettingListViewz#
    LinkedInSetting list view
    r   action_template)usernameemail
company_id)z	Is Activeis_active_toggleN)r   r   r   r   r   r:   rB   r   r.   r   filter_classaction_methodcolumnsr   r   r    rT   rT   m   s0    
 ""E56J(L%MGr   rT   N)"typingr   django.contribr   django.httpr   django.shortcutsr   django.urlsr   django.utils.decoratorsr   django.utils.translationr	   r,   horilla.decoratorsr
   r   horilla_views.generic.cbvr   recruitmentr   recruitment.filtersr   recruitment.formsr   HorillaSectionViewr   HorillaNavViewr"   HorillaFormViewr3   HorillaListViewrT   r   r   r    <module>rm      s-    # $ # $ 4 6 B +  5 1 .z2:;*F!9!9 F 3F  .z2:;**U11 * 3*& .z2<=J*(e33 *( 3*(Z .z2:;*e33  3r   