U
    {h                     @   s8   d dl mZ d dl mZ d dlmZ G dd deZdS )    )gettext_lazy)ngettext)PageBulkActionc                       sn   e Zd ZedZdZedZdZdZdd Z	 fdd	Z
 fd
dZ fddZedddZdd Z  ZS )PublishBulkActionZPublishpublishzPublish selected pagesz9wagtailadmin/pages/bulk_actions/confirm_bulk_publish.html(   c                 C   s   | | jj S )N)permissions_for_userrequestusercan_publish)selfpage r   v/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/admin/views/pages/bulk_actions/publish.py
check_perm   s    zPublishBulkAction.check_permc                    s(   t  |}|d    |d< |S )Nitemdraft_descendant_count)superobject_contextget_descendantsnot_livecount)r   objcontext	__class__r   r   r      s    z PublishBulkAction.object_contextc                    s,   t  jf |}tdd |d D |d< |S )Nc                 s   s   | ]}|d  V  qdS )r   Nr   ).0r   r   r   r   	<genexpr>   s    z5PublishBulkAction.get_context_data.<locals>.<genexpr>itemsZhas_draft_descendants)r   get_context_dataany)r   kwargsr   r   r   r   r      s
    z"PublishBulkAction.get_context_datac                    s   t   d| jjd iS )Ninclude_descendants)r   get_execution_contextcleaned_formcleaned_data)r   r   r   r   r#      s     z'PublishBulkAction.get_execution_contextFNc                 K   s   d\}}|D ]}|  p$|jj|d}|j|d |d7 }|r|     D ]B}	|d ksp|	|	 rV|	  p|	j|d}
|
j|d |d7 }qVq||fS )N)r   r   )r
      )
Zget_latest_revisionZspecificZsave_revisionr   r   r   Zdefer_streamfieldsiteratorr   r   )clsobjectsr"   r
   r!   num_parent_objectsnum_child_objectsr   revisionZdraft_descendant_pageZdraft_descendant_revisionr   r   r   execute_action'   s,    
z PublishBulkAction.execute_actionc                 C   s   | j jd }|dkrJ|r@|dkr*td}qHtdd|d|i }qtd}nF|r|dkrhtdd	|i }qtd
d|||d }ntdd	|i }|S )Nr"   r&   r   z1 page has been publishedz?1 page and %(num_child_objects)d child page have been publishedz@1 page and %(num_child_objects)d child pages have been publishedr+   z0%(num_parent_objects)d pages have been publishedr*   zU%(num_parent_objects)d pages and %(num_child_objects)d child page have been publishedzV%(num_parent_objects)d pages and %(num_child_objects)d child pages have been published)r+   r*   )r$   r%   _r   )r   r*   r+   r"   Zsuccess_messager   r   r   get_success_messageH   sF    

	z%PublishBulkAction.get_success_message)FN)__name__
__module____qualname__r.   display_nameZaction_typeZ
aria_labelZtemplate_nameZaction_priorityr   r   r   r#   classmethodr-   r/   __classcell__r   r   r   r   r      s    r   N)Zdjango.utils.translationr   r.   r   Z7wagtail.admin.views.pages.bulk_actions.page_bulk_actionr   r   r   r   r   r   <module>   s   