
    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g fde
ded	efd
Zdg fde
ded	efdZdg fde
defdZdg fde
defdZdg fde
defdZdg fde
defdZdg fde
defdZy)z/
Accessibility page to specify the permissions
    )PermWrapper)resignation_request_enabled)Employee)is_any_stage_manageris_offboarding_managerNinstance
user_permsreturnc                     t         j                  j                  |j                        }t	        |       }|j                  d      }| j
                  |j                  k(  r|ryy)zT
    accessibility for resignation tab employee individual and employee profile
    )idenabled_resignation_requestTF)r   objectsgetpkr   useremployee_user_id)requestr   r	   argskwargsemployeer   values           A/var/www/python-projects/worksol/offboarding/cbv/accessibility.pyresignation_accessibilityr      sW     ##x{{#3H"=g"F'++,IJE111u    c                 ~    | j                   j                  d      xs t        | j                   j                        }|S )z&
    accessibility for stage edit
    z#offboarding.change_offboardingstage)r   has_permr   employee_getr   r   r	   r   r   perms         r   edit_stage_accessibilityr       s<     <<  - ;	 9 9	: 	 Kr   c                     | j                   j                  d      xs< | j                   j                  d      xs t        | j                   j                        }|S )z1
    accessibility to add employee to stages
    zoffboarding.change_offboardingz&offboarding.change_offboardingemployee)r   r   r   r   )r   r   r	   r   r   permss         r   add_employee_accessibilityr#   )   sR     	>? 	;<<  !IJ	; 9 9: 

 Lr   c                 <    | j                   j                  d      }|S )z'
    accessibility to delete stage
    zoffboarding.delete_offboarding)r   r   r   s         r   delete_stage_accessibilityr%   7   s     <<  !ABDKr   c                 R    |j                   j                  }|dk(  rt        |       ryyNarchivedTFstage_idtyper#   r   r   r	   r   r   
stage_types         r   archive_employee_accessibilityr.   A   +     ""''JZ$>w$Gr   c                 R    |j                   j                  }|dk7  rt        |       ryyr'   r)   r,   s         r   edit_employee_accessibilityr1   K   r/   r   c                 h    |j                   r&|j                   j                         rt        |       ryy)NTF)employee_idget_archive_conditionr#   )r   r   r	   r   r   s        r   managing_records_accessibilityr5   U   s-     	  668&w/r   )__doc__&django.contrib.auth.context_processorsr   base.context_processorsr   employee.modelsr   +offboarding.templatetags.offboarding_filterr   r   objectboolr   r    r#   r%   r.   r1   r5    r   r   <module>r>      s    ? ? $ !%2=	 !%		2=			 !%2= !%2= !%2= !%2= !%		2=	r   