U
    {h5                     @   s>   d dl mZ G dd deZG dd deZG dd dZdS )	    )PermissionDeniedc                   @   s   e Zd ZdZdS )RevertToPageRevisionErrorzO
    Raised when the revision revert cannot be performed for data reasons.
    N__name__
__module____qualname____doc__ r	   r	   o/var/www/dating/data/www/fatepal.com/env/lib/python3.8/site-packages/wagtail/actions/revert_to_page_revision.pyr      s   r   c                   @   s   e Zd ZdZdS )#RevertToPageRevisionPermissionErrorz^
    Raised when the revision revert cannot be performed due to insufficient permissions.
    Nr   r	   r	   r	   r
   r      s   r   c                   @   s*   e Zd ZdddZdddZdd	d
ZdS )RevertToPageRevisionActionNwagtail.revertTc                 C   s.   || _ || _|| _|| _|| _|| _|| _d S )N)pagerevisionuser
log_actionapproved_go_live_atchangedclean)selfr   r   r   r   r   r   r   r	   r	   r
   __init__   s    
z#RevertToPageRevisionAction.__init__Fc                 C   s8   | j jrtd| jr4|s4| j | j s4tdd S )NzURevisions are not required for alias pages as they are an exact copy of another page.z,You do not have permission to edit this page)r   Zalias_of_idr   r   Zpermissions_for_userZcan_editr   r   skip_permission_checksr	   r	   r
   check'   s    z RevertToPageRevisionAction.checkc                 C   s4   | j |d | j j| j| j| j| j| j| jdS )N)r   )Zprevious_revisionr   r   r   r   r   )	r   r   Z	as_objectZsave_revisionr   r   r   r   r   r   r	   r	   r
   execute7   s    
z"RevertToPageRevisionAction.execute)Nr   NTT)F)F)r   r   r   r   r   r   r	   r	   r	   r
   r      s        

r   N)Zdjango.core.exceptionsr   RuntimeErrorr   r   r   r	   r	   r	   r
   <module>   s   