
    si6                         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 dd	lmZ dd
lmZ ddlmZmZ ddlmZmZ  G d de      Z G d de      Zy)z
Policy  forms
    )forms)messages)HttpResponse)reverse_lazy)method_decorator)gettext_lazy)PolicyFilter)
PolicyForm)Policy)login_requiredpermission_required)HorillaFormViewHorillaNavViewc                   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 )PolicyFormViewz%
    form view for create policy
    zPolicy Creationc                     t        |   di |}| j                  j                  j                  rt        d      | j                  _        |S )NzPolicy Update )superget_context_dataforminstancepk_
form_classverbose_name)selfkwargscontext	__class__s      ;/var/www/python-projects/worksol/employee/cbv/policy_cbv.pyr   zPolicyFormView.get_context_data   s>    '*4V499  +,_+=DOO(    r   returnc                 0   |j                         rw|j                  j                  rt        d      }nt        d      }|j	                          t        j                  | j                  t        |             | j                  d      S t        | )  |      S )NzPolicy savedzPolicy updatedz)<script>window.location.reload()</script>)is_validr   r   r   saver   successrequestr   r   
form_valid)r   r   messager   s      r    r(   zPolicyFormView.form_valid"   sq    ==?}}N+,-IIKT\\1W:6$$%PQQw!$''r!   )__name__
__module____qualname____doc__r
   r   r   modelr   new_display_titler   r   r(   __classcell__r   s   @r    r   r      s=     JE+,	(z 	(l 	( 	(r!   r   c                   F     e Zd ZdZ ed      Z ed      ZdZ fdZ	 xZ
S )PoliciesNavz
    Policies Nav
    Policieszsearch-policiesz#policyContainerc                 L    t        |   di | dt        d       d| _        y )Nzg
            data-toggle="oh-modal-toggle"
            data-target="#genericModal"
            hx-get="zcreate-policyz4"
            hx-target="#genericModalBody"
        r   )r   __init__r   create_attrs)r   r   r   s     r    r6   zPoliciesNav.__init__7   s4    "6"! "/23 4	r!   )r*   r+   r,   r-   r   	nav_titler   
search_urlsearch_swap_targetr6   r0   r1   s   @r    r3   r3   .   s.     *I/0J+ r!   r3   N)r-   djangor   django.contribr   django.httpr   django.urlsr   django.utils.decoratorsr   django.utils.translationr   r   employee.filtersr	   employee.formsr
   employee.modelsr   horilla_views.cbv_methodsr   r   horilla_views.generic.cbv.viewsr   r   r   r3   r   r!   r    <module>rF      sE     # $ $ 4 6 ) % " I K(_ (6. r!   