
    siv                         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  eed       G d de             Z G d de      Z G d de      Zy)z7
This page handles the cbv methods for dashboard views
    )Any)Q)reverse)method_decorator)gettext_lazy)filtersubordinates)login_required)HorillaListView)RequestedFeedbackTab)EmployeeObjectiveFilterKeyResultFilter)EmployeeKeyResultEmployeeObjectivedispatchnamec                   x     e Zd ZdZdZdeddf fdZ fdZ ed      d	d
f ed      dfgZ	ddddZ
dZdZ xZS )DashboardFeedbackViewz$
    feedback view on dashboard
    FkwargsreturnNc                 f    t        |   di | t        d      | _        d| j                  _        y )Nzdashboard-feedback-answerdashboard_feedback )super__init__r   
search_urlrequestr   selfr   	__class__s     5/var/www/python-projects/worksol/pms/cbv/dashboard.pyr   zDashboardFeedbackView.__init__   s,    "6"!"=>*>'    c                    t         |          }| j                  j                  j                  }|j                  t        |d      t        |d      z  t        |d      z        j                         }|j                  |      }|S )NT)
manager_idmanager_id__is_active)colleague_idcolleague_id__is_active)subordinate_idsubordinate_id__is_active)feedback_answer__employee_id)	r   get_querysetr   useremployee_getfilterr   distinctexclude)r   querysetemployeefeedback_requested_idsr    s       r!   r+   z"DashboardFeedbackView.get_queryset!   s    7')<<$$11!)>XtDEx4HI"
 (*	 	 *11x1Xr"   Employeeemployee_idemployee_id__get_avatarTitlereview_cyclezQ
                        style ="width:100px !important"
                        )r5   r8   action)__name__
__module____qualname____doc__show_toggle_formr   r   r+   _columnsheader_attrsrow_status_indicationsbulk_select_option__classcell__r    s   @r!   r   r      sp     ? ? ?
 
:'@A	
7^$G
L "r"   r   c            
            e Zd Zdeddf fdZeZeZdZ	dZ
ddiZ ed      df ed	      d
f ed      df ed      df ed      df ed      df ed      df ed      dfgZdZdZ eed       fd       Z xZS )KeyResultStatusr   r   Nc                 R    t        |   di | d| _        t        d      | _        y )NkeyContainerzkey-result-viewr   )r   r   view_idr   r   r   s     r!   r   zKeyResultStatus.__init__F   s'    "6"%!"34r"   Fkey_result_columnz]
                              style="width:200px !important;"
                              r7   zStart Valuestart_valuezCurrent Valuecurrent_value_colzTarget Valuetarget_value_colzProgress Percentageprogress_colz
Start Date
start_datezEnd dateend_dateStatusstatusactions_colzp
                id="empObjTr{get_instance_id}"
                data-kr-id ="{get_instance_id}"
                r   r   c                 *    t        t        | 
  |i |S )N)r   r
   r   )r   argsr   r    s      r!   r   zKeyResultStatus.dispatchh   s    _d4dEfEEr"   )r:   r;   r<   r   r   r   modelr   filter_classshow_filter_tagsrC   rA   r?   r@   action_method	row_attrsr   r	   r   rD   rE   s   @r!   rG   rG   D   s    5 5 5
 E"L 	 "L 
7()	
=	=)	
?	01	
>	./	
 	!>2	
<,'	
:
#	
8h	G "MI
 n:6F 7Fr"   rG   c                   b     e Zd ZdZeZeZdZdZ	de
ddf fdZ fdZ ed      d	d
fgZdZ xZS )DasboardObjectivesRiskz*
    list view for objectives at risk
    Fr   r   Nc                 D    t        |   di | t        d      | _        y )Nzdashboard-risk-objectivesr   )r   r   r   r   r   s     r!   r   zDasboardObjectivesRisk.__init__w   s     "6"!"=>r"   c                 H    t         |          }|j                  d      }|S )NzAt Risk)rS   )r   r+   r.   )r   r1   r    s     r!   r+   z#DasboardObjectivesRisk.get_queryset{   s%    7')??)?4r"   r4   r5   r6   z
                hx-get='{employee_objective_detail_view}?instance_ids={ordered_ids}'
                hx-target="#genericModalBody"
                data-target="#genericModal"
                data-toggle="oh-modal-toggle"
                )r:   r;   r<   r=   r   rW   r   rX   rC   r>   r   r   r+   r?   r@   r[   rD   rE   s   @r!   r]   r]   m   sW     E*L? ? ? 
:'@AGIr"   r]   N)r=   typingr   django.db.modelsr   django.urlsr   django.utils.decoratorsr   django.utils.translationr   r?   base.methodsr   horilla_views.cbv_methodsr	   horilla_views.generic.cbv.viewsr
   pms.cbv.feedbackr   pms.filtersr   r   
pms.modelsr   r   r   rG   r]   r   r"   r!   <module>rk      sl       4 6 + 4 ; 1 @ ; .z2,0 , 3,^&Fo &FR_ r"   