ó
    (â)iB  ã                   ó8   • S r SSKJr  SSKJr  SSKJr  S rS rg)zN
Utility functions for checking stamp permissions based on supervisor groups.
é    )ÚUser)ÚUserSettings)Ú
Supervisorc                 ó°  •   [         R                  R                  U S9nUR                  nU(       d  SSSS.$  [
        R                  R                  US9nUR                  UR                  UR                  S.$ ! [         R                   a	    SSSS.s $ f = f! [
        R                   a	    SSSS.s $ f = f! [         a  nSSSS.s SnA$ SnAff = f)zø
Get stamp permissions for a user based on their supervisor_code.

Returns a dict with:
- can_add_stamps: bool
- can_edit_stamps: bool
- can_delete_stamps: bool

If user has no supervisor_code or supervisor not found, defaults to True (allow all).
)Úuser_idT)Úcan_add_stampsÚcan_edit_stampsÚcan_delete_stamps)ÚcodeN)
r   ÚobjectsÚgetÚsupervisor_codeÚDoesNotExistr   r   r	   r
   Ú	Exception)r   Úuser_settingsr   Ú
supervisorÚes        Ú#D:\TimeStamps\stamps\permissions.pyÚget_user_stamp_permissionsr   	   s
  € ð*
ð		Ü(×0Ñ0×4Ñ4¸WÐ4ÐEˆMØ+×;Ñ;ˆOö ð #'Ø#'Ø%)ñð ð	Ü#×+Ñ+×/Ñ/°_Ð/ÐEˆJà",×";Ñ";Ø#-×#=Ñ#=Ø%/×%AÑ%Añð øô' ×(Ñ(ó 	ð #'Ø#'Ø%)ñò ð	ûô0 ×&Ñ&ó 	ð #'Ø#'Ø%)ñò ð	ûô ó 
ð #Ø#Ø!%ñ
õ 	
ûð
úsX   ƒ)A; ¬B; ºA B Á;BÂB; ÂBÂB; ÂB8Â5B; Â7B8Â8B; Â;
CÃCÃ
CÃCc                 ó\   • [        U 5      nUS:X  a  US   $ US:X  a  US   $ US:X  a  US   $ g)zÊ
Check if a user has a specific stamp permission.

Args:
    user_id: UUID of the user
    permission_type: 'add', 'edit', or 'delete'

Returns:
    bool: True if permission is granted, False otherwise
Úaddr   Úeditr	   Údeleter
   F)r   )r   Úpermission_typeÚpermissionss      r   Úcheck_stamp_permissionr   A   sO   € ô -¨WÓ5€Kà˜%ÓØÐ+Ñ,Ð,Ø	˜FÓ	"ØÐ,Ñ-Ð-Ø	˜HÓ	$ØÐ.Ñ/Ð/ð ó    N)	Ú__doc__Úuser.modelsr   ÚuserSettings.modelsr   Úsupervisor.modelsr   r   r   © r   r   Ú<module>r#      s    ðñõ Ý ,Ý (ò5
ópr   