File: //usr/lib/python3/dist-packages/django/contrib/admin/__pycache__/actions.cpython-310.pyc
o
�a� � @ sz d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl m
Z
ddlmZ ddl
mZmZ ed ged
�d�dd
� �ZdS )z-
Built-in, globally-available admin actions.
� )�messages)�helpers)�action)�model_ngettext)�PermissionDenied)�TemplateResponse)�gettext�gettext_lazy�deletez'Delete selected %(verbose_name_plural)s)�permissions�descriptionc C s2 | j j}|j}| �||�\}}}}|j�d�rN|sN|rt�|�� } | rL|D ]
}
t|
�}| � ||
|� q%| �
||� | �|td�| t
| j| �d� tj� dS t
|�}|sV|r_td�d|i }
ntd�}
i | j�|��|
t|�|gt|��� ||||tj| jd�
�}| jj|_t|| jp�d ||jf d
| dg|�S )a[
Default action which deletes the selected objects.
This action first displays a confirmation page which shows all the
deletable objects, or, if the user has no permission one of the related
childs (foreignkeys), a "permission denied" message.
Next, it deletes all selected objects and redirects back to the change list.
�postz)Successfully deleted %(count)d %(items)s.)�count�itemsNzCannot delete %(name)s�namez
Are you sure?)
�title�objects_name�deletable_objects�model_count�queryset�
perms_lacking� protected�opts�action_checkbox_name�mediaz-admin/%s/%s/delete_selected_confirmation.htmlz*admin/%s/delete_selected_confirmation.htmlz'admin/delete_selected_confirmation.html)�model�_meta� app_label�get_deleted_objects�POST�getr r �str�log_deletion�delete_queryset�message_user�_r r r �SUCCESS�
admin_site�each_context�dictr r �ACTION_CHECKBOX_NAMEr r �current_appr �%delete_selected_confirmation_template�
model_name)�
modeladmin�requestr r r r r �perms_neededr �n�obj�obj_displayr r �context� r5 �>/usr/lib/python3/dist-packages/django/contrib/admin/actions.py�delete_selected sX ��
�
�
��r7 N)�__doc__�django.contribr �django.contrib.adminr �django.contrib.admin.decoratorsr �django.contrib.admin.utilsr �django.core.exceptionsr �django.template.responser �django.utils.translationr r% r r7 r5 r5 r5 r6 �<module> s �