
    htfS                     j   d dl Z d dlmZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ d dlmZ  G d	 d
ej                        Z G d d      Z G d de      Z G d de      Z G d dej                        Z e       e_         G d de      Z G d dej                        Z G d de      Z G d dej                        Z G d de      Z G d dej                        Z G d d ej                        Z G d! d"ee
      Z G d# d$ee
      Z G d% d&ej                        Z G d' d(e      Zy))    N)datetime)models)LogEntry)AbstractUserAbstractBaseUser)GuardianUserMixin)UserObjectPermissionBase)GroupObjectPermissionBasec                   :    e Zd Z ej                  dd      Zd Zy)Posttitle@   
max_lengthc                     | j                   S N)r   selfs    a/var/www/html/software/conda/envs/higlass/lib/python3.12/site-packages/guardian/testapp/models.py__str__zPost.__str__       zz    N)__name__
__module____qualname__r   	CharFieldr   r    r   r   r   r      s    FW4Er   r   c                       e Zd Zd Zd Zy)DynamicAccessorc                      y r   r   r   s    r   __init__zDynamicAccessor.__init__   s    r   c                     t               S r   )r   )r   keys     r   __getattr__zDynamicAccessor.__getattr__   s      r   N)r   r   r   r!   r$   r   r   r   r   r      s    !r   r   c                   H    e Zd Z ej                  dej
                        Zy)ProjectUserObjectPermissionProject	on_deleteNr   r   r   r   
ForeignKeyCASCADEcontent_objectr   r   r   r&   r&          &V&&yFNNKNr   r&   c                   H    e Zd Z ej                  dej
                        Zy)ProjectGroupObjectPermissionr'   r(   Nr*   r   r   r   r0   r0   !   r.   r   r0   c                       e Zd Z ej                  dd      Z ej                  ej                        Z	 G d d      Z
d Zy)	r'      Tr   unique)defaultc                       e Zd ZdZy)Project.Meta
created_atN)r   r   r   get_latest_byr   r   r   Metar7   )   s    $r   r:   c                     | j                   S r   namer   s    r   r   zProject.__str__,       yyr   N)r   r   r   r   r   r=   DateTimeFieldr   nowr8   r:   r   r   r   r   r'   r'   %   s;    6s48D%%%hll;J% %r   r'   c                   H    e Zd Z ej                  dej
                        Zy)MixedGroupObjectPermissionMixedr(   Nr*   r   r   r   rB   rB   3   s    &V&&w&..INr   rB   c                   >    e Zd ZdZ ej
                  dd      Zd Zy)rC   z
    Model for tests obj perms checks with generic user object permissions model
    and direct group object permissions model.
    r2   Tr3   c                     | j                   S r   r<   r   s    r   r   zMixed.__str__>   r>   r   Nr   r   r   __doc__r   r   r=   r   r   r   r   rC   rC   7   "     6s48Dr   rC   c                   H    e Zd Z ej                  dej
                        Zy) ReverseMixedUserObjectPermissionReverseMixedr(   Nr*   r   r   r   rJ   rJ   B   s    &V&&~PNr   rJ   c                   >    e Zd ZdZ ej
                  dd      Zd Zy)rK   z
    Model for tests obj perms checks with generic group object permissions model
    and generic group object permissions model.
    r2   Tr3   c                     | j                   S r   r<   r   s    r   r   zReverseMixed.__str__M   r>   r   NrF   r   r   r   rK   rK   F   rH   r   rK   c                   n    e Zd Z ej                  dddej
                        Z ej                         Zy)LogEntryWithGroupz
auth.GroupT)nullblankr)   N)	r   r   r   r   r+   r,   groupManagerobjectsr   r   r   rO   rO   Q   s,    FlTV^^\EfnnGr   rO   c                   8    e Zd ZdZ ej
                  dd      Zy)CharPKModelz
    Model for testing whether get_objects_for_user will work when the objects to
    be returned have varchar primary keys.
    Tr2   )primary_keyr   N)r   r   r   rG   r   r   char_pkr   r   r   rV   rV   W   s     f4C@Gr   rV   c                   N    e Zd ZdZ ej
                  dej                  d      Zy)UUIDPKModelz~
    Model for testing whether get_objects_for_user will work when the objects to
    be returned have UUID primary keys.
    TF)rW   r5   editableN)	r   r   r   rG   r   	UUIDFielduuiduuid4uuid_pkr   r   r   rZ   rZ   _   s(     f

Gr   rZ   c                   2    e Zd Z ej                  d      Zy)
CustomUserT)rW   N)r   r   r   r   	AutoField	custom_idr   r   r   ra   ra   k   s       T2Ir   ra   c                   D    e Zd Z ej                  dd      ZdZd Zd Zy)CustomUsernameUserd   Tr3   emailc                     | j                   S r   rg   r   s    r   get_full_namez CustomUsernameUser.get_full_names   r   r   c                     | j                   S r   ri   r   s    r   get_short_namez!CustomUsernameUser.get_short_namev   r   r   N)	r   r   r   r   
EmailFieldrg   USERNAME_FIELDrj   rl   r   r   r   re   re   o   s%    FT:ENr   re   c                   2    e Zd Z ej                  d      Zy)ParentTestModelT)auto_now_addN)r   r   r   r   r?   
created_onr   r   r   rp   rp   z   s    %%%48Jr   rp   c                   p    e Zd Z ej                  eej                  d      Z ej                  d      Z	y)ChildTestModelT)r)   parent_link   r   N)
r   r   r   r   OneToOneFieldrp   r,   	parent_idr   r=   r   r   r   rt   rt   ~   s5    $$$..I
 6r*Dr   rt   ) r]   r   	django.dbr   django.contrib.admin.modelsr   django.contrib.auth.modelsr   r   guardian.mixinsr   guardian.modelsr	   r
   Modelr   r   r&   r0   r'   not_a_relation_descriptorrB   rC   rJ   rK   rO   rV   rZ   ra   re   rp   rt   r   r   r   <module>r      s      0 E - 4 56<< ! !L": LL#< Lfll  %4$5 !J!: JFLL Q'? Q6<<  A&,, A	&,, 	30 3)+< 9fll 9+_ +r   