Ë
    ¸2Úi,  ã                   óT  — d dl mZm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 d dlmZ d dlmZ d d	lmZmZ  G d
„ de
j*                  «      Z G d„ de
j*                  «      Z G d„ de«      Z G d„ dee«      Z G d„ de«      Z G d„ de«      Z G d„ dee«      Z G d„ de«      Zy)é    )ÚGroupÚ
Permission)ÚGenericForeignKey)ÚContentType)ÚValidationError)Úmodels)Úgettext_lazy)Úuser_model_label)Úget_content_type)ÚGroupObjectPermissionManagerÚUserObjectPermissionManagerc                   óx   ‡ — e Zd ZdZ ej
                  eej                  ¬«      Z G d„ d«      Z	d„ Z
ˆ fd„Zˆ xZS )ÚBaseObjectPermissionz™
    Abstract ObjectPermission class. Actual class should additionally define
    a ``content_object`` field and either ``user`` or ``group`` field.
    ©Ú	on_deletec                   ó   — e Zd ZdZy)úBaseObjectPermission.MetaTN©Ú__name__Ú
__module__Ú__qualname__Úabstract© ó    úM/var/www/html/acx/venv/lib/python3.12/site-packages/guardian/models/models.pyÚMetar      s   „ Ø‰r   r   c           
      óÌ   — dj                  t        | j                  «      t        t        | dd«      xs | j                  «      t        | j
                  j                  «      «      S )Nz{} | {} | {}ÚuserF)ÚformatÚstrÚcontent_objectÚgetattrÚgroupÚ
permissionÚcodename)Úselfs    r   Ú__str__zBaseObjectPermission.__str__   sO   € Ø×$Ñ$Ü�×#Ñ#Ó$Ü”˜˜f eÓ,Ò:°·
±
Ó;Ü�—‘×(Ñ(Ó)ó+ð 	+r   c                 óÊ   •— t        | j                  «      }|| j                  j                  k7  r&t	        d| j                  j                  ›d|›d�«      ‚t        ‰| �  |i |¤ŽS )NzLCannot persist permission not designed for this class (permission's type is z and object's type is ú))r   r!   r$   Úcontent_typer   ÚsuperÚsave)r&   ÚargsÚkwargsr*   Ú	__class__s       €r   r,   zBaseObjectPermission.save   s_   ø€ Ü'¨×(;Ñ(;Ó<ˆØ˜4Ÿ?™?×7Ñ7Ò7Ý!à%)§_¡_×%AÓ%AÂ<ð#Qó Rð Rô ‰w‰|˜TÐ, VÑ,Ð,r   )r   r   r   Ú__doc__r   Ú
ForeignKeyr   ÚCASCADEr$   r   r'   r,   Ú__classcell__)r/   s   @r   r   r      s;   ø„ ñð #�×"Ñ" :¸¿¹ÔH€J÷ñ ò+÷-ð -r   r   c                   ó¢   — e Zd Z ej                  eej                  ¬«      Z ej                   e	d«      d¬«      Z
 ed¬«      Z G d„ d«      Zy	)
ÚBaseGenericObjectPermissionr   z	object IDéÿ   )Ú
max_lengthÚ	object_pk)Úfk_fieldc                   ó<   — e Zd ZdZ ej
                  ddg¬«      gZy)ú BaseGenericObjectPermission.MetaTr*   r8   )ÚfieldsN)r   r   r   r   r   ÚIndexÚindexesr   r   r   r   r;   *   s!   „ ØˆàˆF�L‰L °Ð =Ô>ð
‰r   r   N)r   r   r   r   r1   r   r2   r*   Ú	CharFieldÚ_r8   r   r!   r   r   r   r   r5   r5   %   sF   „ Ø$�6×$Ñ$ [¸F¿N¹NÔK€LØ �× Ñ ¡ ;£¸CÔ@€IÙ&°Ô<€N÷
ò 
r   r5   c                   ón   — e Zd ZdZ ej
                  eej                  ¬«      Z e	«       Z
 G d„ d«      Zy)ÚUserObjectPermissionBasez=
    **Manager**: :manager:`UserObjectPermissionManager`
    r   c                   ó   — e Zd ZdZg d¢Zy)úUserObjectPermissionBase.MetaT)r   r$   r!   N©r   r   r   r   Úunique_togetherr   r   r   r   rD   9   s   „ ØˆÚB‰r   r   N)r   r   r   r0   r   r1   r
   r2   r   r   Úobjectsr   r   r   r   rB   rB   1   s6   „ ñð ˆ6×ÑÐ-¸¿¹ÔH€Dá)Ó+€G÷Cò Cr   rB   c                   óL   — e Zd Z G d„ dej                  ej                  «      Zy)ÚUserObjectPermissionAbstractc                   ó   — e Zd ZdZg d¢Zy)ú!UserObjectPermissionAbstract.MetaT)r   r$   r8   NrE   r   r   r   r   rK   @   s   „ ØˆÚ=‰r   r   N)r   r   r   rB   r   r5   r   r   r   rI   rI   >   s   „ ô>Ð'×,Ñ,Ð.I×.NÑ.Nõ >r   rI   c                   ó6   — e Zd Z G d„ dej                  «      Zy)ÚUserObjectPermissionc                   ó   — e Zd ZdZy)úUserObjectPermission.MetaFNr   r   r   r   r   rO   G   ó   „ Ø‰r   r   N)r   r   r   rI   r   r   r   r   rM   rM   E   s   „ ôÐ+×0Ñ0õ r   rM   c                   ón   — e Zd ZdZ ej
                  eej                  ¬«      Z e	«       Z
 G d„ d«      Zy)ÚGroupObjectPermissionBasez>
    **Manager**: :manager:`GroupObjectPermissionManager`
    r   c                   ó   — e Zd ZdZg d¢Zy)úGroupObjectPermissionBase.MetaT)r#   r$   r!   NrE   r   r   r   r   rT   S   s   „ ØˆÚC‰r   r   N)r   r   r   r0   r   r1   r   r2   r#   r   rG   r   r   r   r   rR   rR   K   s5   „ ñð ˆF×Ñ˜e¨v¯~©~Ô>€Eá*Ó,€G÷Dò Dr   rR   c                   óL   — e Zd Z G d„ dej                  ej                  «      Zy)ÚGroupObjectPermissionAbstractc                   ó   — e Zd ZdZg d¢Zy)ú"GroupObjectPermissionAbstract.MetaT)r#   r$   r8   NrE   r   r   r   r   rX   Z   s   „ ØˆÚ>‰r   r   N)r   r   r   rR   r   r5   r   r   r   rV   rV   X   s   „ ô?Ð(×-Ñ-Ð/J×/OÑ/Oõ ?r   rV   c                   ó6   — e Zd Z G d„ dej                  «      Zy)ÚGroupObjectPermissionc                   ó   — e Zd ZdZy)úGroupObjectPermission.MetaFNr   r   r   r   r   r\   `   rP   r   r   N)r   r   r   rV   r   r   r   r   rZ   rZ   ^   s   „ ôÐ,×1Ñ1õ r   rZ   N)Údjango.contrib.auth.modelsr   r   Ú"django.contrib.contenttypes.fieldsr   Ú"django.contrib.contenttypes.modelsr   Údjango.core.exceptionsr   Ú	django.dbr   Údjango.utils.translationr	   r@   Úguardian.compatr
   Úguardian.ctypesr   Úguardian.managersr   r   ÚModelr   r5   rB   rI   rM   rR   rV   rZ   r   r   r   ú<module>rg      s˜   ðß 8Ý @Ý :Ý 2Ý Ý 6Ý ,Ý ,ß Wô-˜6Ÿ<™<ô -ô2	
 &§,¡,ô 	
ô
CÐ3ô 
Cô>Ð#;Ð=Xô >ôÐ7ô ô
DÐ 4ô 
Dô?Ð$=Ð?Zô ?ôÐ9õ r   