
    69h)
                     b    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  G d de      Zy	)
    )Any)ModelAdminChecks)BaseModelAdmin)
Permission)checks)UnfoldActionc                   l     e Zd Zdedeej                     f fdZdedeej                     fdZ	 xZ
S )UnfoldModelAdminChecks	admin_objreturnc                 J    g t        |   |fi || j                  |      S )N)supercheck'_check_unfold_action_permission_methods)selfr   kwargs	__class__s      H/var/www/html/backend/venv/lib/python3.12/site-packages/unfold/checks.pyr   zUnfoldModelAdminChecks.check   s6    
W]9//
99)D
 	
    objc                 H   g |j                         |j                         |j                         |j                         }g }|D ]W  }t	        |j
                  d      s|j
                  j                  D ]#  }d|v r|j                  d      \  }}t        j                  j                  ||      j                         sc|j                  t        j                  d|j
                  j                   d|j                   j"                   d| d|j                   d	             d
| d}t	        ||      r|j                  t        j                  |j                   j"                   d| d|j
                  j                   d|j                   d	             & Z |S )z
        Actions with an allowed_permission attribute require the ModelAdmin to
        implement a has_<perm>_permission() method for each permission.
        allowed_permissions.)content_type__app_labelcodenamez@action decorator on z() in class z specifies permission z which does not exists.z
admin.E129)r   idhas__permissionz must define a z() method for the z
() action.)_get_base_actions_list_get_base_actions_detail_get_base_actions_row_get_base_actions_submit_linehasattrmethodr   splitr   objectsfilterexistsappendr   Errororiginal_function_namer   __name__)	r   r   actionserrorsaction
permission	app_labelr   method_names	            r   r   z>UnfoldModelAdminChecks._check_unfold_action_permission_methods   s   
'
'')'
))+'
 &&('
 ..0	'
   	F6==*?@$mm?? 
*$*4*:*:3*?'Ix%--4409!) 5  fh "LL"78\8\7]]ijmjwjw  kA  kA  jB  BX  Yc  Xd  d{  !|$'MM#/  !%ZL<sK0MM"}}556ok]Rdekerer  fJ  fJ  eK  KU  V #+-	 	D r   )r,   
__module____qualname__r   listr   r*   r   r   r   __classcell__)r   s   @r   r
   r
      s;    
~ 
D<N 
.3 .4CU .r   r
   N)typingr   django.contrib.admin.checksr   django.contrib.admin.optionsr   django.contrib.auth.modelsr   django.corer   unfold.dataclassesr   r
    r   r   <module>r>      s$     8 7 1  +5- 5r   