ó
    GÈ‚i™  ã                   ó@   • SS S S.S jjr  SS S S S S.S jjrS S.S jrg )N)ÚpermissionsÚdescriptionc                ó.   ^^• UU4S jnU c  U$ U" U 5      $ )aB  
Conveniently add attributes to an action function::

    @admin.action(
        permissions=['publish'],
        description='Mark selected stories as published',
    )
    def make_published(self, request, queryset):
        queryset.update(status='p')

This is equivalent to setting some attributes (with the original, longer
names) on the function directly::

    def make_published(self, request, queryset):
        queryset.update(status='p')
    make_published.allowed_permissions = ['publish']
    make_published.short_description = 'Mark selected stories as published'
c                 ó0   >• Tb  TU l         Tb  TU l        U $ ©N)Úallowed_permissionsÚshort_description)Úfuncr   r   s    €€ÚPD:\sksbv-state-backend\venv\Lib\site-packages\django/contrib/admin/decorators.pyÚ	decoratorÚaction.<locals>.decorator   s$   ø€ ØÑ"Ø'2ˆDÔ$ØÑ"Ø%0ˆDÔ"Øˆó    © )Úfunctionr   r   r   s    `` r
   Úactionr      s!   ù€ ö(ð ÑØÐá˜Ó"Ð"r   )ÚbooleanÚorderingr   Úempty_valuec                ó6   ^^^^• UUUU4S jnU c  U$ U" U 5      $ )a>  
Conveniently add attributes to a display function::

    @admin.display(
        boolean=True,
        ordering='-publish_date',
        description='Is Published?',
    )
    def is_published(self, obj):
        return obj.publish_date is not None

This is equivalent to setting some attributes (with the original, longer
names) on the function directly::

    def is_published(self, obj):
        return obj.publish_date is not None
    is_published.boolean = True
    is_published.admin_order_field = '-publish_date'
    is_published.short_description = 'Is Published?'
c                 óz   >• Tb  Tb  [        S5      eTb  TU l        Tb  TU l        Tb  TU l        Tb  TU l        U $ )NzWThe boolean and empty_value arguments to the @display decorator are mutually exclusive.)Ú
ValueErrorr   Úadmin_order_fieldr   Úempty_value_display)r	   r   r   r   r   s    €€€€r
   r   Údisplay.<locals>.decorator:   s^   ø€ ØÑ ;Ñ#:Üð4óð ð ÑØ"ˆDŒLØÑØ%-ˆDÔ"ØÑ"Ø%0ˆDÔ"ØÑ"Ø'2ˆDÔ$Øˆr   r   )r   r   r   r   r   r   s    ```` r
   Údisplayr   "   s&   û€ ÷0ð ð  ÑØÐá˜Ó"Ð"r   ©Úsitec                 óH   ^ ^^^^• SSK Jm  SSKJm  SSKJm  UUUUU 4S jnU$ )zá
Register the given model(s) classes and wrapped ModelAdmin class with
admin site:

@register(Author)
class AuthorAdmin(admin.ModelAdmin):
    pass

The `site` kwarg is an admin site to use instead of the default admin site.
é    )Ú
ModelAdmin)Ú	AdminSiter   c                 óÒ   >• T(       d  [        S5      eT=(       d    Tn[        UT5      (       d  [        S5      e[        U T5      (       d  [        S5      eUR                  TU S9  U $ )Nz.At least one model must be passed to register.zsite must subclass AdminSitez'Wrapped class must subclass ModelAdmin.)Úadmin_class)r   Ú
isinstanceÚ
issubclassÚregister)r"   Ú
admin_siter    r   Údefault_siteÚmodelsr   s     €€€€€r
   Ú_model_admin_wrapperÚ&register.<locals>._model_admin_wrapper_   sg   ø€ ÞÜÐMÓNÐNà×)˜\ˆ
ä˜* i×0Ñ0ÜÐ;Ó<Ð<ä˜+ z×2Ñ2ÜÐFÓGÐGà×Ñ˜F°ÐÑ<àÐr   )Údjango.contrib.adminr   Údjango.contrib.admin.sitesr    r   )r   r(   r)   r    r   r'   s   `` @@@r
   r%   r%   P   s    ü€ õ 0Ý4Ý?÷ñ ð   Ðr   r   )r   r   r%   r   r   r
   Ú<module>r-      s8   ðð#¨¸4ö #ðD ð+#Ø"¨T¸tÐQUö+#ð\  ö  r   