o
    h                     @   s   d dl mZ 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 dd	lmZ dd
lmZ G dd deZG dd deZG dd dejZG dd dejZG dd dejZG dd dejZG dd de
ZdS )    )gettext_lazy)messages)ColumnTitleColumn)generic)ModelViewSet)Locale)locale_permission_policy   
LocaleFormget_locale_usagec                   @   s   e Zd ZdZdd ZdS )LanguageTitleColumnz(wagtaillocales/_language_title_cell.htmlc                 C   s   |S N selflocaler   r   U/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/locales/views.py	get_value      zLanguageTitleColumn.get_valueN)__name__
__module____qualname__cell_template_namer   r   r   r   r   r      s    r   c                   @   s   e Zd Zdd ZdS )UsageColumnc                 C   s(   t |\}}d| }|r|d| 7 }|S )Nz%d pagesz + %d othersr   )r   r   	num_pages
num_othersvalr   r   r   r      s
   zUsageColumn.get_valueN)r   r   r   r   r   r   r   r   r      s    r   c                   @   sR   e Zd ZedZedZdZej	 Z
dZededddded	ed
dgZdS )	IndexViewLocaleszAdd a localelocaleslanguage_codelanguageLanguagezwagtaillocales:edit)labelsort_keyurl_nameusageUsage)r&   N)r   r   r   r   
page_titleadd_item_labelcontext_object_namer   all_objectsallquerysetdefault_orderingr   r   columnsr   r   r   r   r       s    
r    c                   @   s   e Zd ZedZedZdS )
CreateViewz
Add localezLocale '%(object)s' created.N)r   r   r   r   r+   success_messager   r   r   r   r3   1   s    r3   c                   @   s*   e Zd ZedZedZdZej	 Z
dS )EditViewzLocale '%(object)s' updated.z,The locale could not be saved due to errors.r   N)r   r   r   r   r4   error_messager-   r   r.   r/   r0   r   r   r   r   r5   6   s
    r5   c                       sT   e Zd ZedZedZedZej	 Z
dd Zd fdd	Z fd	d
Z  ZS )
DeleteViewzLocale '%(object)s' deleted.zDelete localez,Are you sure you want to delete this locale?c                 C   s@   | j j|jd std| _dS t|dkrtd| _dS dS )N)pkzAThis locale cannot be deleted because there are no other locales.F)r   r   zTThis locale cannot be deleted because there are pages and/or other objects using it.T)r0   excluder8   existsr   cannot_delete_messager   r   r   r   r   
can_deleteC   s   zDeleteView.can_deleteNc                    s   t   }| ||d< |S )Nr<   )superget_context_datar<   )r   objectcontext	__class__r   r   r>   R   s   
zDeleteView.get_context_datac                    s8   |  |  rt |S t| j| j t | jS r   )	r<   
get_objectr=   
form_validr   errorrequestr;   get)r   formrA   r   r   rD   W   s   zDeleteView.form_validr   )r   r   r   r   r4   r+   confirmation_messager   r.   r/   r0   r<   r>   rD   __classcell__r   r   rA   r   r7   =   s    
r7   c                       sN   e Zd ZdZeZeZdZe	Z
eZeZeZdZdZ fddZdddZ  ZS )	LocaleViewSetsiteFzwagtaillocales/c                    s   t  jdi d d d|S )N)history_url_nameusage_url_namer   )r=   get_common_view_kwargs)r   kwargsrA   r   r   rO   p   s   
z$LocaleViewSet.get_common_view_kwargsc                 C   s   t S r   r   )r   
for_updater   r   r   get_form_classy   r   zLocaleViewSet.get_form_class)F)r   r   r   iconr   modelr	   permission_policyadd_to_reference_indexr    index_view_classr3   add_view_classr5   edit_view_classr7   delete_view_classcopy_view_enabledtemplate_prefixrO   rR   rJ   r   r   rA   r   rK   _   s    	rK   N)django.utils.translationr   wagtail.adminr   wagtail.admin.ui.tablesr   r   wagtail.admin.viewsr   wagtail.admin.viewsets.modelr   wagtail.modelsr   wagtail.permissionsr	   formsr   utilsr   r   r   r    r3   r5   r7   rK   r   r   r   r   <module>   s     
"