
    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
mZmZmZ ddlmZmZmZ d Zd	 Zd
 Zd Zd Zd Zdg fdededefdZdg fdededefdZd Zdg fdededefdZd Zd Zd Z y)z
Accessibility
    )PermWrapper)User)check_manager)Employee)in_all_managersis_recruitmentmanageris_stagemanagerstage_manages)	CandidateRecruitmentGeneralSettingRejectedCandidatec                    t        t        j                  j                  dd            }t        t        j                  j                  |      j                  dd            }|j                  |vr|j                  syyy)z'
    Covert employee accessibility
    emailTflatusername__inN)listr   objectsvalues_listr   filterr   start_onboardrequestinstance	user_permmailsexisting_emailss        A/var/www/python-projects/worksol/recruitment/cbv/accessibility.pyconvert_empr       su     ""..wT.BCE/;;G$;OO >>_,X5K5K 6L,    c                 "   t        t        j                  j                  dd            }t        t        j                  j                  |      j                  dd            }|j                  |vr| j                  j                  d      ryyy)z'
    Add skill zone  accessibility
    r   Tr   r   z"recruitment.add_skillzonecandidateN)	r   r   r   r   r   r   r   userhas_permr   s        r   add_skill_zoner%      s    
 ""..wT.BCE/;;G$;OO >>_,1F1F,2 2,r!   c                    t         j                  j                  |      j                         }t	        t
        j                  j                  dd            }t	        t        j                  j                  |      j                  dd            }|j                  |vr+| j                  j                  d      st        |       r|syyyy)z"
    add reject accessibility
    candidate_idr   Tr   r   !recruitment.add_rejectedcandidateNr   r   r   firstr   r   r   r   r   r#   r$   r	   r   r   r   r+   r   r   s         r   
add_rejectr-   .   s     %%,,(,CIIKE""..wT.BCE/;;G$;OO >>_,<<  /
W%  & -r!   c                    t         j                  j                  |      j                         }t	        t
        j                  j                  dd            }t	        t        j                  j                  |      j                  dd            }|j                  |vr+| j                  j                  d      st        |       r|ryyyy)z#
    Edit reject accessibility
    r'   r   Tr   r   r)   Nr*   r,   s         r   edit_rejectr/   ?   s     %%,,(,CIIKE""..wT.BCE/;;G$;OO >>_,<<  /
W%  & -r!   c                     |j                   ryy)z-
    To acces archive in list candidates
    TN	is_activer   r   r   s      r   archive_statusr4   P   s      r!   c                     |j                   syy)z0
    To acces un-archive in list candidates
    TNr1   r3   s      r   unarchive_statusr6   X   s      r!   Nr   
user_permsreturnc                     t         j                  j                  |j                        }|j                  j                         rt        |       s| j                  j                  d      ryy)zG
    accessibility for onboarding tab in candidate individual view
    pkzonboarding.view_onboardingtaskTF)	r   r   getr;   cand_onboarding_taskexistsr   r#   r$   )r   r   r7   argskwargs	candidates         r   onboarding_accessibilityrB   `   sT     !!%%%5I&&--/G$<<  !ABr!   c                    t         j                  j                  |j                        }t	        | j
                  j                  |j                        }|s6| j
                  j                  d      s| j
                  j                  d      ryy)zC
    accessebility for rating tab in candidate individual view
    r:   recruitment.view_candidateTF)	r   r   r<   r;   r
   r#   employee_getrecruitment_idr$   )r   r   r7   r?   r@   rA   stage_manages          r   rating_accessibilityrH   p   sl     !!%%%5I !:!:I<T<TUL<<  !=><<  !=>r!   c                 l    t        |       xs( t        |       xs | j                  j                  d      S )z"
    If manager accessibility
    rD   )r   r	   r#   r$   r   r   r?   r@   s       r   if_manager_accessibilityrK      s6    
 	g& 	?7#	?<<  !=>r!   c                    t         j                  j                  |j                        }| j                  j                  d      sDt        | j                  j                  |      s$| j                  |j                  k(  st        |       ryy)z{
    sheduled interview tab accessibility for candidate individual view, employee individual view and employee profile
    )idz"recruitment.view_interviewscheduleTF)
r   r   r<   r;   r#   r$   r   rE   employee_user_idr   )r   r   r7   r?   r@   employees         r   &empl_scheduled_interview_accessibilityrP      sh     ##x{{#3HBC22H=<<8444 )r!   c                 h    | j                   j                  d      st        |       st        |       ryy )NrD   Tr#   r$   r	   r   rJ   s       r   view_candidate_self_trackingrS      s-    :;7# ) *r!   c                     | j                   j                  d      s1| j                   j                  d      st        |       st        |       ryy )Nzrecruitment.change_candidatez(recruitment.add_candidatedocumentrequestTrR   rJ   s       r   request_documentrU      s@    <=<<  !KL7# ) *r!   c                     d}t         j                  j                         r(t         j                  j                         j                  }|S )zR
    This method is used to get the candidate self tracking is enabled or not
    F)r   r   r>   r+   candidate_self_tracking)r   r   r   rW   s       r   check_candidate_self_trackingrX      sA    
 $ ((//1%--335MM 	  #"r!   )!__doc__&django.contrib.auth.context_processorsr   django.contrib.auth.modelsr   base.methodsr   employee.modelsr   recruitment.methodsr   r   r	   r
   recruitment.modelsr   r   r   r    r%   r-   r/   r4   r6   objectboolrB   rH   rK   rP   rS   rU   rX    r!   r   <module>rc      s    ? + & $  W V	"" !%2=	" !%2=	" !%2=	"
#r!   