
    si                        d 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mZ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                    Z e
ed       e
 ed      d       G d de                    Z e
ed       e
 ed      d       G d de                    Z G d de      Zy)z-
This page handles reject reason in settings
    )Any)messages)HttpResponse)reverse)method_decorator)gettext_lazy)login_requiredpermission_required)HorillaFormViewHorillaListViewHorillaNavView)RejectReasonFilter)RejectReasonForm)RejectReasondispatch)namezrecruitment.view_rejectreason)permc                        e Zd ZdZdeddf fdZeZeZ	 e
d      df e
d      d	fgZd
dddddddgZddddZdZ xZS )RejectReasonListViewz/
    List view of the rejected reason page
    kwargsreturnNc                 R    t        |   di | d| _        t        d      | _        y )Nreje_reasoncandidate-reject-reasons-list )super__init__view_idr   
search_urlselfr   	__class__s     K/var/www/python-projects/worksol/recruitment/cbv/candidate_reject_reason.pyr   zRejectReasonListView.__init__!   s)    "6" %!"AB    Reject ReasonstitleDescriptiondescriptionEditzcreate-outlinea,  
                    class="oh-btn oh-btn--light-bkg w-50"
                    hx-get="{get_update_url}?instance_ids={ordered_ids}"
                    hx-target="#genericModalBody"
                    data-toggle="oh-modal-toggle"
                    data-target="#genericModal"
                    )actioniconattrsDeleteztrash-outlinean  
                    id = "delete-reject"
                    class="oh-btn oh-btn--danger-outline oh-btn--light-bkg w-50"
                    hx-confirm="Are you sure want to delete this reason?"
                    hx-target="#rejectReasonTr{get_instance_id}"
                    hx-post="{get_delete_url}"
                    hx-swap="delete"
                    z  style="width:200px !important" )r&   r(   r*   zH
                id = "rejectReasonTr{get_instance_id}"
                )__name__
__module____qualname____doc__r   r   r   modelr   filter_class_columnsactionsheader_attrs	row_attrs__classcell__r"   s   @r#   r   r      s    
C C C E%L 
	g&	
=	=)G $
	
 #	
G6 8=8LIr$   r   c                   N     e Zd ZdZdeddf fdZ ed      Z e       Z	dZ
 xZS )RejectReasonNavz
    Nav bar
    r   r   Nc                 l    t        |   di | t        d      | _        dt        d       d| _        y )Nr   z
                            data-toggle="oh-modal-toggle"
                            data-target="#genericModal"
                            hx-target="#genericModalBody"
                            hx-get="zcreate-reject-reason-viewz"
                            r   )r   r   r   r   create_attrsr    s     r#   r   zRejectReasonNav.__init___   sC    "6"!"AB!% &--H%I$J K	 r$   r%   z#listContainer)r.   r/   r0   r1   r   r   r4   	nav_titler   filter_instancesearch_swap_targetr9   r:   s   @r#   r<   r<   V   s6    
      "#I(*O)r$   r<   zrecruitment.add_rejectreasonc                   N     e Zd ZdZeZeZ ed      Z	 fdZ
dedef fdZ xZS )RejectReasonFormViewz
    Create and edit form
    Create reject reasonc                     t        |   di |}| j                  j                  j                  rt        d      | j                  _        |S )z?
        Get context data for rendering the form view.
        zUpdate reject reasonr   )r   get_context_dataforminstancepkr4   
form_classverbose_name)r!   r   contextr"   s      r#   rF   z%RejectReasonFormView.get_context_data{   sA     '*4V499  +,-C+DDOO(r$   rG   r   c                 .   |j                         rv|j                  j                  rt        d      }nt        d      }|j	                          t        j                  | j                  t        |             | j                         S t        | )  |      S )z
        Handle a valid form submission.

        If the form is valid, save the instance and display a success message.
        z#Reject reason updated successfully.#Reject reason created successfully.)is_validrH   rI   r4   saver   successrequestr   r   
form_validr!   rG   messager"   s      r#   rS   zRejectReasonFormView.form_valid   sq     ==?}}ABABIIKT\\1W:6$$&&w!$''r$   )r.   r/   r0   r1   r   r2   r   rJ   r4   new_display_titlerF   r   rS   r9   r:   s   @r#   rC   rC   n   s>    
 E!J01(/ (L ( (r$   rC   c                   D     e Zd ZeZeZ ed      ZdZ	dede
f fdZ xZS )DynamicRejectReasonFormViewrD   TrG   r   c                     |j                         rTt        d      }t        j                  | j                  t        |             |j                          | j                         S t        | !  |      S )NrN   )	rO   r4   r   rQ   rR   rP   r   r   rS   rT   s      r#   rS   z&DynamicRejectReasonFormView.form_valid   sW    ==?=>GT\\1W:6IIK$$&&w!$''r$   )r.   r/   r0   r   r2   r   rJ   r4   rV   is_dynamic_create_viewr   rS   r9   r:   s   @r#   rX   rX      s8    E!J01!(/ (L ( (r$   rX   N)r1   typingr   django.contribr   django.httpr   django.urlsr   django.utils.decoratorsr   django.utils.translationr   r4   horilla_views.cbv_methodsr	   r
   horilla_views.generic.cbv.viewsr   r   r   recruitment.filtersr   recruitment.formsr   recruitment.modelsr   r   r<   rC   rX   r   r$   r#   <module>rf      s     # $  4 6 I 
 3 . + .z2<=J6? 6 36t .z2<=J*n * 3*( .z2;<: (?  ( 3 (F(/ (r$   