
    si                     B   d Z ddlmZ ddlmZ ddlmZ ddl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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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d	e
f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y)z
Accessiblility
    )PermWrapper)check_manager)Employee)AccountBlockUnblockNinstance
user_permsreturnc                     | j                   j                  d      s9t        | j                   j                  |      s| j                   |j                  k(  ryy)z
    To access edit
    employee.change_employeeTFuserhas_permr   employee_getemployee_user_idrequestr   r   argskwargss        >/var/www/python-projects/worksol/employee/cbv/accessibility.pyedit_accessibilityr      sC     
		9	:22H=<<8444    c                     | j                   j                  d      s9t        | j                   j                  |      s| j                   |j                  k(  ryy)z
    To password  reset
    zemployee.add_employeeTFr   r   s        r   password_reset_accessibilityr      sC     
		6	722H=<<8444r   c                     t         j                  j                         xr( t         j                  j                         j                  }|r2| j
                  j                  d      r|j                  j                  ryyz
    To block  account
    r   TF	r   objectsexistsfirst
is_enabledr   r   r   	is_activer   r   r   r   r   enabled_block_unblocks         r   block_account_accessibilityr$   ,   se     	##**, 	;''--/:: 
 	LL!!"<=%%//r   c                     t         j                  j                         xr( t         j                  j                         j                  }|r2| j
                  j                  d      r|j                  j                  syyr   r   r"   s         r   un_block_account_accessibilityr&   ?   se     	##**, 	;''--/:: 
 	LL!!"<=))33r   c                 <    | j                   j                  d      ryy)z7
    To access archive and delete functionalities

    r   TNr   r   )r   r   r   s      r   action_accessibler)   R   s     ||78 9r   c                 r    | j                   j                  d      s| j                   j                  d      ryy)zS
    accessibility for permissions tab in employee profile and individual view
    zauth.view_permissionszauth.view_groupTFr(   r   s        r   permission_accessibilityr+   \   s3     ||459N9N: r   c                 |    | j                   j                  d      s t        | j                   j                  |      ryy)z$
    accessibility for note tab
    zemployee.view_employeenoteTFr   r   r   r   r   s        r   note_accessibilityr.   i   s5     ||9:m!!8? r   c                     t         j                  j                  |j                        }| j                  j                  d      s| j                  |j                  k(  ryy)z(
    accessibility for document tab
    idzhorilla_documents.view_documentTF)r   r   getpkr   r   r   )r   r   r   r   r   employees         r   document_accessibilityr5   v   sL     ##x{{#3H?@<<8444r   c                 <   t         j                  j                  |j                        }t	        | j
                  j                  |      }| j
                  |j                  k(  s8|s6| j
                  j                  d      s| j
                  j                  d      ryy)zD
    permission for work type and shift tab in employee profile
    r0   zattendance.view_worktyperequestzattendance.view_shiftrequestTF)	r   r   r2   r3   r   r   r   r   r   )r   r   r   r   r   r4   check_managess          r   workshift_accessibilityr8      sx     ##x{{#3H!',,";";XFM111<<  !BC<<  !?@r   c                 <    | j                   j                  d      ryy)z%
    permission for mail log tab
    zemployee.view_employeeTFr(   r   s        r   mail_log_accessibilityr:      s     ||56r   c                 |    | j                   j                  d      s t        | j                   j                  |      ryy)z'
    accessibility for history tab
    z/employee.view_historicalemployeeworkinformationTFr-   r   s        r   history_accessibilityr<      s3     ||9	w||00(	;r   )__doc__&django.contrib.auth.context_processorsr   base.methodsr   employee.modelsr   horilla_audit.modelsr   objectboolr   r   r$   r&   r)   r+   r.   r5   r8   r:   r<    r   r   <module>rE      s   ? & $ 4 !%2=	" !%2=	" !%2=	( !%2=	& !%

2=
	
 !%

2=
	
 !%2=	  !%2=	& !%		2=			 !%

2=
	
r   