a
    Dg                     @   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   T/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/wagtail/locales/views.py	get_value   s    zLanguageTitleColumn.get_valueN)__name__
__module____qualname__Z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   Z	num_pagesZ
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 )	IndexViewZLocaleszAdd a localeZlocalesZlanguage_codelanguageZLanguagezwagtaillocales:edit)labelsort_keyZurl_nameusageUsage)r   N)r   r   r   r   
page_titleZadd_item_labelcontext_object_namer   all_objectsallquerysetZ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   r(   1   s   r(   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   r)   error_messager#   r   r$   r%   r&   r   r   r   r   r*   6   s   r*   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)r&   excluder-   existsr   cannot_delete_messager   r   r   r   r   
can_deleteC   s    zDeleteView.can_deleteNc                    s   t   }| ||d< |S )Nr1   )superget_context_datar1   )r   objectcontext	__class__r   r   r3   R   s    
zDeleteView.get_context_datac                    s<   |  |  rt |S t| j| j t | jS d S r   )	r1   Z
get_objectr2   
form_validr   errorrequestr0   get)r   formr6   r   r   r8   W   s    zDeleteView.form_valid)N)r   r   r   r   r)   r"   Zconfirmation_messager   r$   r%   r&   r1   r3   r8   __classcell__r   r   r6   r   r,   =   s   
r,   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f i d d d|S )N)Zhistory_url_nameZusage_url_name)r2   get_common_view_kwargs)r   kwargsr6   r   r   r@   p   s    
z$LocaleViewSet.get_common_view_kwargsc                 C   s   t S r   r   )r   Z
for_updater   r   r   get_form_classy   s    zLocaleViewSet.get_form_class)F)r   r   r   Ziconr   modelr	   Zpermission_policyZadd_to_reference_indexr   Zindex_view_classr(   Zadd_view_classr*   Zedit_view_classr,   Zdelete_view_classZcopy_view_enabledZtemplate_prefixr@   rB   r=   r   r   r6   r   r>   _   s   	r>   N)Zdjango.utils.translationr   Zwagtail.adminr   Zwagtail.admin.ui.tablesr   r   Zwagtail.admin.viewsr   Zwagtail.admin.viewsets.modelr   Zwagtail.modelsr   Zwagtail.permissionsr	   Zformsr   utilsr   r   r   r   r(   r*   r,   r>   r   r   r   r   <module>   s   
"