
    jg	                     f    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 d dlmZ  G d de      Zy	)
    )apps)create_permissions_get_all_permissions)
Permission)ContentType)BaseCommand)signalcommandc                   2     e Zd ZdZ fdZed        Z xZS )CommandzLreloads permissions for specified apps, or all apps if no args are specifiedc                     t         |   |       |j                  ddd       |j                  dddd	       |j                  d
ddd	       y )Nz--appsr   z2Reload permissions only for apps (comma separated))desthelpz--create-only
store_trueFzOnly create missing permissions)actiondefaultr   z--update-onlyzOnly update permissions)superadd_argumentsadd_argument)selfparser	__class__s     s/var/www/html/Stanley/venv/lib/python3.12/site-packages/django_extensions/management/commands/update_permissions.pyr   zCommand.add_arguments   sV    f%H68lmOL%VwxOL%Vop    c                    |d   r7|d   j                  d      }|D cg c]  }t        j                  |       }}nt        j                         }|d   rd\  }}n|d   rd\  }}nd\  }}|D ]  }|rt	        ||d          |s|j                         D ]  }	t        j                  j                  |	      }
t        |	j                        D ]  \  }}	 t        j                  j                  ||
	      }|j                  |k7  s8t        |      }||_        |d   d
k\  r;| j                   j#                  | j$                  j'                  d|d|d             |j)                             y c c}w # t        j                  $ r Y w xY w)Nr   ,create_only)TFupdate_only)FT)TT	verbosity)codenamecontent_type   zUpdate permission 'z' to '')splitdjango_appsget_app_configget_app_configsr   
get_modelsr   objectsget_for_modelr   _metar   getDoesNotExistnamestrstdoutwritestyleSUCCESSsave)r   argsoptions	app_namesxr   	do_create	do_updateappmodelr    r   r-   
permissionold_strs                  r   handlezCommand.handle   st   6?--c2I;DE9aK..q19DE..0D=!#. Iy]##. Iy#- IyC"3(<= ^^-E#.#6#6#D#DU#KL*>u{{*K$%)3););)?)?`l)?)mJ &??d2&)*oG.2JO&{3q8 $ 1 1$**2D2Dipr|E}2~ &OO- +L .  F.  *66 %$%s   E1!E66F	F	)__name__
__module____qualname__r   r   r	   r>   __classcell__)r   s   @r   r   r      s"    YDq !. !.r   r   N)django.appsr   r$   django.contrib.auth.managementr   r   django.contrib.auth.modelsr   "django.contrib.contenttypes.modelsr   django.core.management.baser   "django_extensions.management.utilsr	   r    r   r   <module>rJ      s#    + S 1 : 3 <+.k +.r   