Ë
    aõhir  ã                   ó†   — d Z ddlZddl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 d„ Zd	„ Zd
deefd„Zd„ Zdefd„Zy)zC
Creates permissions for all installed apps that need permissions.
é    N)Úapps)Úget_permission_codename)Úcreate_contenttypes)Ú
exceptions)ÚDEFAULT_DB_ALIASÚrouterc                 ó4   — g t        | «      ¢| j                  ¢S )zH
    Return (codename, name) for all permissions in the given opts.
    )Ú_get_builtin_permissionsÚpermissions)Úoptss    ú]/var/www/alwasay/venv/lib/python3.12/site-packages/django/contrib/auth/management/__init__.pyÚ_get_all_permissionsr      s!   € ð @Ô% dÓ+Ð?¨d×.>Ñ.>Ð?Ð?ó    c                 ó†   — g }| j                   D ]/  }|j                  t        || «      d|›d| j                  ›�f«       Œ1 |S )z€
    Return (codename, name) for all autogenerated permissions.
    By default, this is ('add', 'change', 'delete', 'view')
    zCan ú )Údefault_permissionsÚappendr   Úverbose_name_raw)r   ÚpermsÚactions      r   r
   r
      sN   € ð
 €EØ×*Ñ*ò 
ˆØ�‰ä'¨°Ô5Ú% t×'<Ò'<Ð=ðõ	
ð
ð €Lr   é   Tc                 óô  — | j                   sy t        | f||||dœ|¤Ž | j                  }	 |j                  |«      } |j	                  dd«      }|j	                  dd«      }t        j                  ||«      sy g }	t        «       }
| j                  «       D ]l  }|j                  j                  |«      j                  |d¬«      }|
j                  |«       t        |j                  «      D ]  }|	j!                  ||f«       Œ Œn t        |j                  j#                  |«      j%                  |
¬«      j'                  d	d
«      «      }g }|	D ]W  \  }\  }}|j(                  |f|vsŒ |«       }||j*                  _        ||_        ||_        ||_        |j!                  |«       ŒY |j                  j#                  |«      j5                  |«       |dk\  r|D ]  }t7        d|z  «       Œ y y # t
        $ r Y y w xY w)N)Ú	verbosityÚinteractiveÚusingr   ÚcontenttypesÚContentTypeÚauthÚ
PermissionF)Úfor_concrete_model)Úcontent_type__inÚcontent_typeÚcodenamer   zAdding permission '%s')Úmodels_moduler   ÚlabelÚget_app_configÚ	get_modelÚLookupErrorr   Úallow_migrate_modelÚsetÚ
get_modelsÚobjectsÚ
db_managerÚget_for_modelÚaddr   Ú_metar   r   ÚfilterÚvalues_listÚpkÚ_stateÚdbr#   Únamer"   Úbulk_createÚprint)Ú
app_configr   r   r   r   ÚkwargsÚ	app_labelr   r   Úsearched_permsÚctypesÚklassÚctypeÚpermÚ	all_permsr   Úctr#   r6   Ú
permissions                       r   Úcreate_permissionsrD   %   s#  € ð ×#Ò#Øô
 ØðàØØØñð òð × Ñ €IðØ×(Ñ(¨Ó3ˆ
Ø—n‘n ^°]ÓCˆØ—^‘^ F¨LÓ9ˆ
ô ×%Ñ% e¨ZÔ8Øð €Nä‹U€FØ×&Ñ&Ó(ò 	1ˆð ×#Ñ#×.Ñ.¨uÓ5×CÑCØ eð Dó 
ˆð 	�
‰
�5ÔÜ(¨¯©Ó5ò 	1ˆDØ×!Ñ! 5¨$ -Õ0ñ	1ð	1ô Ø×Ñ× Ñ  Ó'ß	‰Ø#ð 
ó 

÷ 
‰�^ ZÓ	0ó€Ið €EØ .ò %ÑˆÑˆX�tØ�E‰E�8Ð IÒ-Ù#›ˆJØ#(ˆJ×ÑÔ Ø"*ˆJÔØ"ˆJŒOØ&(ˆJÔ#Ø�L‰L˜Õ$ð%ð ×Ñ×Ñ˜UÓ#×/Ñ/°Ô6Ø�A‚~Øò 	3ˆDÜÐ*¨TÑ1Õ2ñ	3ð øôY ò Ùðús   ¬5G+ Ç+	G7Ç6G7c                  óZ   — 	 t        j                  «       } | S # t        t        f$ r Y yw xY w)zt
    Return the current system user's username, or an empty string if the
    username could not be determined.
    Ú )ÚgetpassÚgetuserÚImportErrorÚKeyError)Úresults    r   Úget_system_usernamerL   r   s5   € ð
Ü—‘Ó"ˆð €Møô œÐ"ò ñ ð	ús   ‚ ˜*©*c                 ó€  — ddl m} |j                  j                  j                  ryt        «       }	 t        j                  d|«      j                  dd«      j                  d«      j                  dd«      j                  «       }	 |j                  j                  j                  d«      j                  |«       | r9|r7	 |j                  j"                  j%                  |«      j'                  |¬	«       y|S # t        $ r Y yw xY w# t        j                   $ r Y yw xY w# |j                  j(                  $ r Y |S w xY w)
a¶  
    Try to determine the current system user's username to use as a default.

    :param check_db: If ``True``, requires that the username does not match an
        existing ``auth.User`` (otherwise returns an empty string).
    :param database: The database where the unique check will be performed.
    :returns: The username, or an empty string if no username can be
        determined or the suggested username is already taken.
    r   )ÚmodelsrF   ÚNFKDÚasciiÚignorer   Úusername)rR   )Údjango.contrib.authrN   ÚUserr0   ÚswappedrL   ÚunicodedataÚ	normalizeÚencodeÚdecodeÚreplaceÚlowerÚUnicodeDecodeErrorÚ	get_fieldÚrun_validatorsr   ÚValidationErrorÚ_default_managerr-   ÚgetÚDoesNotExist)Úcheck_dbÚdatabaseÚauth_appÚdefault_usernames       r   Úget_default_usernamerg   �   s*  € õ 7ð ‡}�}×Ñ×"Ò"Øä*Ó,Ðð	ä×!Ñ! &Ð*:Ó;ß‰V�G˜XÓ&ß‰V�G‹_ß‰W�S˜"Óß‰U‹Wð 	ðØ�‰×Ñ×%Ñ% jÓ1×@Ñ@ÐAQÔRñ
 Ñ$ð	Ø�M‰M×*Ñ*×5Ñ5°hÓ?×CÑCØ)ð Dô ð ØÐøô' ò Ùðûô ×%Ñ%ò Ùðûð �}‰}×)Ñ)ò 	Øð Ðð		ús6   ³AC8 Â4D Ã 5D  Ã8	DÄDÄDÄDÄ D=Ä<D=)Ú__doc__rG   rV   Údjango.appsr   Úglobal_appsrS   r   Ú&django.contrib.contenttypes.managementr   Údjango.corer   Ú	django.dbr   r   r   r
   rD   rL   rg   © r   r   ú<module>ro      sS   ðñó Û å +Ý 7Ý FÝ "ß .ò@òð$ ØØ
Ø	óJ3òZð #'Ð1Aô .r   