
    vg%                         d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ d	 Zdd
Zg dZg dZi Zd Z ej0                   e	dd               ej0                   e	dd               ej0                   e	dd               ej0                   e	dd               ej0                   e	dd               ej0                   e	dd               ej0                   e	dd              y)    N)urlparse)appsredirect)Resolver404pathresolvereverse)white_labelling_company)Employee)urlpatternsc                 R    	 t        j                  | d       y# t        $ r Y yw xY w)N   )versionTF)uuidUUID
ValueError)uuid_strings    5/var/www/horilla/horilla_crumbs/context_processors.pyis_valid_uuidr      s*    		+q) s    	&&c                     |s| j                   } |j                  d      r|dd } |j                  d      r|dd }|dk(  r
t               S  |j                  d      }|S )z5Returns a list of the path components between slashes/N    )r   endswith
startswithlistsplit)selfr   results      r   _split_pathr"      sb    yyt}}SCRytsABxrzvTZZ_FM    )t	dashboardpipelinez)recruitment-survey-question-template-viewcandidate-viewzrecruitment-viewz
stage-viewview-onboarding-dashboardzonboarding-viewzcandidates-viewzemployee-profileemployee-viewzshift-request-viewzwork-type-request-viewzrotating-shift-assignzrotating-work-type-assignview-payroll-dashboardzview-contractzview-allowancezview-deductionview-payslipzfiling-status-viewzattendance-viewzwork-recordszrequest-attendance-viewzattendance-overtime-viewzattendance-activity-viewzlate-come-early-out-viewzview-my-attendancezleave-dashboardleave-employee-dashboardz
user-leavezuser-request-viewzleave-allocation-request-viewz	type-viewzassign-viewzrequest-viewzholiday-viewzcompany-leave-viewdashboard-viewzobjective-list-viewzfeedback-viewzperiod-viewzquestion-template-viewzasset-category-viewzasset-request-allocation-viewsettingszattendance-settingszemployee-permission-assignzuser-group-assigncurrencyzdepartment-viewzjob-position-viewzjob-role-viewzwork-type-viewzrotating-work-type-viewzemployee-type-viewzemployee-shift-viewzemployee-shift-schedule-viewzrotating-shift-viewzattendance-settings-viewzuser-group-viewzcompany-viewzdocument-request-viewzfaq-category-viewzticket-viewztag-viewzticket-type-viewzmail-server-confzmultiple-approval-conditionzskill-zone-viewzview-mail-templatesz	view-loanzview-reimbursementzdepartment-manager-viewzdate-settingszoffboarding-pipelinezpagination-settings-viewzorganisation-chartzdisciplinary-actionszview-policieszresignation-requests-viewzaction-typezgeneral-settingszview-biometric-deviceszemployee-tag-viewzgrace-settings-viewzhelpdesk-tag-viewzrestrict-viewzasset-historyzview-key-resultzview-meetingszinterview-viewzview-compensatory-leavez compensatory-leave-settings-viewzproject-dashboard-viewzproject-viewzview-time-sheet	templateszsidebar.htmlobjective-detailed-viewmail-automationsfaq-viewzauto-payslip-settings-viewzbonus-point-settingzemployee-past-leave-restrictionztrack-late-come-early-outzenable-biometric-attendancezallowed-ipszself-tracking-featurezcandidate-reject-reasonszskills-viewzemployee-bonus-pointr1   zcheck-in-check-out-settingzuser-accessibilityzasset-batch-view)zfeedback-detailed-viewzquestion-template-detailed-viewzemployee-view-newr0   zticket-detailr2   zget-job-positionsc                 >	   | j                  d      }t        |       d   }d| j                  vr||ddg| j                  d<   	 | j                  d   }| j                  j	                  dd      }|j                  d      }|D cg c]  }d	|v s|j                  d	      d
   s|  }}dj                  |      }d }	|D ]4  }
|
d   dv s|
d   j                  dd
      }t        |      d
kD  s/|d
   }	 n t        |       }|}t        j                  d      r#ddlm} |j                  j                  d      }nd }t        j                  j!                         }t        |      d
kD  rd|v r6d|v rn1d|v rn,d|v rn'|D cg c]  }|j"                   c}| j                  d<   d|v rnMd|v rnHd|v rnC|d   dk(  r|d   j%                         rn'|D cg c]  }|j"                   c}| j                  d<   t        |      dk(  r2| j                  d   j'                          |j)                  ||dd       t        |      d
kD  re|d   }|t*        v s|d   dk(  s|d   dk(  s|d   dk(  r@|d   }| j                  d   j'                          | j                  d   j)                  |       t-        |      D ]2  \  }}
||
z   dz   }t/        |      }|j0                  }	 t3        |      }d}||
|d}|
j%                         st7        |
      r_t3        | j8                        }|j:                  }|j	                  d       }|r+	 |j                  j	                  |
!      }t=        |      |d<   d"}|D  cg c]  } | d   	 }!} ||vs|d   t>        |!z   vs|| j                  jA                         vs|d   j%                         r|d   dv r|d    d|	 |d<   |j)                  |       5 	 |d   }"|"d   j                  d      d   |"d<   |r|"d    d| |"d<   n	|"d    |"d<   || j                  d<   d| j                  d   iS c c}w c c}w c c}w # t4        $ r d}Y xw xY w#  Y xY wc c} w #  Y RxY w# tB        $ r}#||ddg| j                  d<   Y d }#~#hd }#~#ww xY w)#Nr   white_label_company_namebreadcrumbsT)urlnamefoundQUERY_STRINGr   &=r   r7   )r(   r&   r6   ?recruitmentr   )	Candidate)	is_activezsearch-candidater&   zget-mail-log-recfiltered_candidateszemployee-filter-viewr(   zview-penaltiesemployeer   filtered_employeesr*   Fmodel)idHTTP_HX_REQUEST)"build_absolute_urir   sessionMETAgetr   joinlenr"   r   is_installedrecruitment.modelsr>   objectsfilterr   allrE   isdigitclearappendsidebar_urls	enumerater   r   r	   r   r   	path_infokwargsstrremove_urlskeys	Exception)$requestbase_urlcompanyr5   qspairspairfiltered_pairsfiltered_query_stringemp_query_stringitemitemspartsr   r>   
candidates	employees	candidaterA   	last_path
first_pathi
parsed_url
check_pathresolver_matchr8   new_dictcurrent_url
url_kwargsmodel_valueobjkeydnamesprev_urles$                                       r   r5   r5      s   ))#.H%g./IJG GOO+g=*
&~
oom4\\nb1+0W4C4KDJJsOTUDV$WW # 8 	DF|BBU))#q1u:>',Qx$	 G$]+4"**11D1AJ J$$((*	u:>%%.%.'50 7A>)2	>GOO$9: &. E)!U*qZ'E"I,=,=,? 1:9$,HKK9 45 u:?OOM*002x4PQu:>b	I\)9/9 009.(^
.446.55jA ' $	-GAt$;$D!$J#J!(!4  $TEBH||~t!4%g&7&78(//
(nnW5)11555>+.s8( $C(341QvY4E4+V$K%,??w||0022 (002F#'JJ)1%(9;K:L&MHUO""8,I$	-L	"2H&uo33C8;HUO$%-e_$5Q7L6M"N%-e_$5 *5& 7??=9::u XF>94   5&	  
g=*
&
s   A Q5 	Q Q "Q &!Q5 #Q5 ,BQ5 >Q?Q5 Q
#C4Q5 Q%AQ5 ;*Q!%Q5 +Q)7Q5 >Q5 Q5 *Q5 ?(Q5 (8Q.  Q5  Q5 QQ5 QQ5 !Q&#Q5 .Q20Q5 5	R>RRzrecruitment/c                     t        d      S )Nzrecruitment-dashboardr   r]   s    r   <lambda>r~   4  s    2I)J r#   zonboarding/c                     t        d      S )Nr'   r   r}   s    r   r~   r~   7  s    1L(M r#   z	employee/c                     t        d      S )Nr(   r   r}   s    r   r~   r~   9  s    Xo5N r#   zattendance/c                     t        d      S )Nzattendance-dashboardr   r}   s    r   r~   r~   ;  s    1G(H r#   zleave/c                 0    t        t        d      dz         S )Nr+   z?dashboard=true)r   r
   r}   s    r   r~   r~   @  s    ./2CC
 r#   zpayroll/c                     t        d      S )Nr)   r   r}   s    r   r~   r~   E  s    H=U4V r#   zpms/c                     t        d      S )Nr,   r   r}   s    r   r~   r~   F  s    9I0J r#   )N)r   urllib.parser   django.appsr   django.shortcutsr   django.urlsr   r   r	   r
   base.context_processorsr   employee.modelsr   horilla.urlsr   r   r"   rU   rZ   user_breadcrumbsr5   rT    r#   r   <module>r      s    !  % ; ; ; $ $ul  I;X   JK   MN   4%NO P   HI   	
   4
$VW X   4 JK Lr#   