U
    {h                     @   s\  d dl mZ 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 d dlmZ 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!m"Z"m#Z#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 Z.dd Z/eeeddG dd de)Z0G dd de&Z1G dd  d e'Z2d!S )"    )settings)ContentType)PermissionDenied)get_object_or_404redirect)render_to_string)TemplateResponse)reverse)method_decorator)	mark_safe)gettext)gettext_lazy)messages)PageActionMenu)user_has_any_page_permissionuser_passes_test)MediaContainer)ChecksSidePanelCommentsSidePanelPageStatusSidePanelPreviewSidePanel)RevisionsCompareViewRevisionsUnscheduleView)PreviewRevision)Page)render_timestampc                 C   s
   t d|S )Nwagtailadmin_pages:history)r   )requestpage_id r   k/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/admin/views/pages/revisions.pyrevisions_index    s    r!   c                    s   t t|dj}| j}| s&tt |j|d}| }|	 }t
j|}| }	ttddr|j}
 fdd| ddddD }nd }
g }|	 }| }|| jd	}|j| |d
}td|jgd}| }t dd|||d k	o| jd}t| |j|||
|dg}| rL|t | |d |t!|  |j"rd|t#|  t$|}t$||||gj%}t&dd|ji}t'( t)t*dt+|j,|d  t*dd|	- i }|. }| d| }t/ d||d||d |||||dS )NidZWAGTAIL_I18N_ENABLEDFc                    s4   g | ],}|  j r|jtd |jgddqS )wagtailadmin_pages:editargs)localeurl)permissions_for_userusercan_editr'   r	   r#   ).0translationr   r   r    
<listcomp>5   s
   z$revisions_revert.<locals>.<listcomp>r#   r'   depth)instancefor_user)r1   r   formz"wagtailadmin_pages:preview_on_editr%   revisions_revertT)viewis_revisionpagelockZlocked_for_user)show_schedule_publishing_toggleZlive_objectZscheduled_objectr'   translations)preview_urlz$wagtailadmin/shared/user_avatar.htmlr*   zVYou are viewing a previous version of this page from <b>%(created_at)s</b> by %(user)s)
created_atr*   zEditing %(page_type)sZ	page_typez: zwagtailadmin/pages/edit.html)r7   revisionr6   content_typeedit_handlerZerrors_debugaction_menuside_panelsheader_titler3   media)0r   r   specificr)   r*   r+   r   Z	revisionsZ	as_objectZ get_scheduled_revision_as_objectr   objectsZget_for_modelZmodel_classgetattrr   r'   Zget_translationsonlyZselect_relatedget_edit_handlerZget_form_classZget_bound_panelr	   r#   Zget_lockr   r2   r   r9   Zis_previewableappendr   r   Zshow_comments_toggler   r   rC   r   r   warningr   _r   r<   Zget_verbose_nameget_admin_display_titler   )r   r   revision_idr7   Z
page_permsr=   Zrevision_pageZscheduled_pager>   Z
page_classr'   r:   r?   Z
form_classr3   r;   r8   r@   rA   rC   Zuser_avatarZ
page_titleZpage_subtitlerB   r   r.   r    r4   $   s    
    	
  r4   dispatch)namec                       s(   e Zd ZeZ fddZdd Z  ZS )RevisionsViewc                    s   t  j|||f||S Nsupersetupselfr   r   rM   r&   kwargs	__class__r   r    rT      s    zRevisionsView.setupc                 C   s6   t t| jdj}|| jj}| s2| s2t	|S Nr"   )
r   r   pkrD   r)   r   r*   Zcan_publishr+   r   )rV   r7   Zpermsr   r   r    
get_object   s
    zRevisionsView.get_object)__name__
__module____qualname__r   modelrT   r\   __classcell__r   r   rX   r    rP      s   rP   c                       s^   e Zd ZedZedZdZdZdZe	e
e fddZdd	d
Zdd Zdd Z  ZS )RevisionsComparezPage historyzEdit this pager   r$   doc-empty-inversec                    s   t  j|f||S rQ   )rS   rN   )rV   r   r&   rW   rX   r   r    rN      s    zRevisionsCompare.dispatchNc                 C   s   t t| jdjS rZ   )r   r   r[   rD   )rV   querysetr   r   r    r\      s    zRevisionsCompare.get_objectc                 C   s
   | j  S rQ   )objectrH   rV   r   r   r    rH      s    z!RevisionsCompare.get_edit_handlerc                 C   s
   | j  S rQ   re   rL   rf   r   r   r    get_page_subtitle   s    z"RevisionsCompare.get_page_subtitle)N)r]   r^   r_   r   Zhistory_labelZ
edit_labelhistory_url_nameedit_url_nameheader_iconr
   r   r   rN   r\   rH   rh   ra   r   r   rX   r    rb      s   

rb   c                       sB   e Zd ZeZdZdZdZdZ fddZ	ddd	Z
d
d Z  ZS )RevisionsUnscheduler$   r   z'wagtailadmin_pages:revisions_unschedulerc   c                    s   t  j|||f||S rQ   rR   rU   rX   r   r    rT      s    zRevisionsUnschedule.setupNc                 C   s*   t t| jdj}|| jj s&t|S rZ   )	r   r   r[   rD   r)   r   r*   Zcan_unscheduler   )rV   rd   r7   r   r   r    r\      s    zRevisionsUnschedule.get_objectc                 C   s
   | j  S rQ   rg   rf   r   r   r    get_object_display_title   s    z,RevisionsUnschedule.get_object_display_title)N)r]   r^   r_   r   r`   rj   ri   Zrevisions_unschedule_url_namerk   rT   r\   rm   ra   r   r   rX   r    rl      s   
rl   N)3Zdjango.confr   Z"django.contrib.contenttypes.modelsr   Zdjango.core.exceptionsr   Zdjango.shortcutsr   r   Zdjango.template.loaderr   Zdjango.template.responser   Zdjango.urlsr	   Zdjango.utils.decoratorsr
   Zdjango.utils.safestringr   Zdjango.utils.translationr   rK   r   Zwagtail.adminr   Zwagtail.admin.action_menur   Zwagtail.admin.authr   r   Zwagtail.admin.ui.componentsr   Zwagtail.admin.ui.side_panelsr   r   r   r   Z"wagtail.admin.views.generic.modelsr   r   Z#wagtail.admin.views.generic.previewr   Zwagtail.modelsr   Zwagtail.utils.timestampsr   r!   r4   rP   rb   rl   r   r   r   r    <module>   s2   p