
    si                        d 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 ddlmZmZ ddlmZmZmZmZmZ  eed       G d de             Z eed       G d de             Z eed       G d de             Z  eed       G d de             Z! eed       e ed      d       G d de                    Z"y)z>
this page is handling the cbv methods of company leaves page
    )Any)messages)HttpResponse)reversereverse_lazy)method_decorator)gettext_lazy)CompanyLeaveFilter)CompanyLeaveForm)CompanyLeaves)login_requiredpermission_required)HorillaDetailedViewHorillaFormViewHorillaListViewHorillaNavViewTemplateViewdispatch)namec                       e Zd ZdZdZy)CompanyLeavesViewz
    for page view
    z*cbv/company_leaves/company_leave_home.htmlN)__name__
__module____qualname____doc__template_name     ;/var/www/python-projects/worksol/base/cbv/company_leaves.pyr   r      s     AMr   r   c                   t     e Zd ZdZeZeZdeddf fdZ	 e
d      df e
d      d	fgZd
d
d
dZddgZdZ xZS )CompanyleaveListViewz
    list view
    kwargsreturnNc                     t        |   di | t        d      | _        d| _        | j
                  j                  j                  d      rd| _        y y )Ncompany-leave-listcompanyleavedeleteview_companyleavecompany_leave_actionsr   )	super__init__r   
search_urlview_idrequestuserhas_permaction_methodselfr"   	__class__s     r   r*   zCompanyleaveListView.__init__,   sM    "6"!"67+<<%%&9:!8D ;r   Based On Weekcustom_based_on_weekBased On Week Daybased_on_week_day_colza
                                style="width:200px !important;"
                                )r5   r7   action)r4   r5   )r6   r7   z
                hx-get='{detail_view}?instance_ids={ordered_ids}'
                hx-target="#genericModalBody"
                data-target="#genericModal"
                data-toggle="oh-modal-toggle"
                )r   r   r   r   r
   filter_classr   modelr   r*   _columnsheader_attrssortby_mapping	row_attrs__classcell__r3   s   @r   r!   r!   #   sy     &LE9 9 9 
?	34	
	!89G!$"$$
L 	26N
Ir   r!   c                   V     e Zd ZdZdeddf fdZ ed      ZdZdZ	 e
       Zd	Z xZS )
CompanyLeaveNavViewz
    nav bar
    r"   r#   Nc                     t        |   di | t        d      | _        | j                  j
                  j                  d      rdt        d       d| _        y y )Nr%   add_companyleavez
                hx-get="zcompany-leave-creationz"
                hx-target="#genericModalBody"
                data-target="#genericModal"
                data-toggle="oh-modal-toggle"
            r   )	r)   r*   r   r+   r-   r.   r/   r   create_attrsr1   s     r   r*   zCompanyLeaveNavView.__init__X   s_    "6"!"67<<%%&89%%&>?@ A!D :r   zCompany Leavesz,cbv/company_leaves/company_leave_filter.htmlformz#listContainer)r   r   r   r   r   r*   r;   	nav_titlefilter_body_templatefilter_form_context_namer
   filter_instancesearch_swap_targetr@   rA   s   @r   rC   rC   R   sB    	 	 	 "#II%(*O)r   rC   c                   \    e Zd ZdZeZ ed      ZddddZ ed      df ed	      d
fhZ	dZ
y)CompanyLeaveDetailViewz!
    detail view of the page
    Detailsget_detail_title 
get_avatar)titlesubtitleavatarr4   r5   r6   r7   detail_view_actionsN)r   r   r   r   r   r:   r;   rS   headerbodyr0   r   r   r   rN   rN   j   sN     EiLE)r\RF	
?	34	
	!89D *Mr   rN   zleave.add_companyleavec                   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 )CompanyleaveFormViewz%
    form view for create button
    zCreate Company Leavesc                     t        |   di |}| j                  j                  j                  rt        d      | j                  _        |S )NzUpdate Company Leavesr   )r)   get_context_datarG   instancepkr;   
form_classverbose_name)r2   r"   contextr3   s      r   r\   z%CompanyleaveFormView.get_context_data   s?    '*4V499  +,-D+EDOO(r   rG   r#   c                    |j                         rm|j                  j                  rt        d      }nt        d      }|j	                          t        j                  | j                  |       | j                         S t        | )  |      S )Nz"Company Leave Updated Successfullyz&New Company Leave Created Successfully)is_validr]   r^   r;   saver   successr-   r   r)   
form_valid)r2   rG   messager3   s      r   rf   zCompanyleaveFormView.form_valid   sk    ==?}}@ADEIIKT\\73$$&&w!$''r   )r   r   r   r   r   r_   r   r:   r;   new_display_titler\   r   rf   r@   rA   s   @r   rZ   rZ   z   s>     "JE12
(/ 
(L 
( 
(r   rZ   N)#r   typingr   django.contribr   django.httpr   django.urlsr   r   django.utils.decoratorsr   django.utils.translationr	   r;   base.filtersr
   
base.formsr   base.modelsr   horilla_views.cbv_methodsr   r   horilla_views.generic.cbv.viewsr   r   r   r   r   r   r!   rC   rN   rZ   r   r   r   <module>rt      s     # $ - 4 6 + ' % I  .z2A A 3A .z2+? + 3+\ .z2*. * 3*. .z2*0 * 3* .z2%&>?jQ(? ( R 3(r   