a
    Dg                     @   sJ   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Zd	S )
    )PermissionDenied)logc                   @   s   e Zd ZdZdS )ConvertAliasPageErrorz:
    Raised when the page to convert is not an alias.
    N__name__
__module____qualname____doc__ r
   r
   \/var/www/lab.imftr.de/x/nb_venv/lib/python3.9/site-packages/wagtail/actions/convert_alias.pyr      s   r   c                   @   s   e Zd ZdZdS )ConvertAliasPagePermissionErrorzd
    Raised when the alias page conversion cannot be performed due to insufficient permissions.
    Nr   r
   r
   r
   r   r      s   r   c                   @   s8   e Zd ZdddddZdddZd	d
 ZdddZdS )ConvertAliasPageActionzwagtail.convert_aliasN)
log_actionuserc                C   s   || _ || _|| _d S )N)pager   r   )selfr   r   r   r
   r
   r   __init__   s    zConvertAliasPageAction.__init__Fc                 C   s8   | j jstd|s4| jr4| j | j s4tdd S )Nz&Page must be an alias to be converted.z-You do not have permission to edit this page.)r   alias_of_idr   r   Zpermissions_for_userZcan_editr   r   skip_permission_checksr
   r
   r   check   s    zConvertAliasPageAction.checkc              	   C   sl   d |_ |jdgdd |j|ddd}|jrB||_|jdgdd |rht||||d|j| did |S )	Nr   F)Zupdate_fieldsclean)r   changedr   live_revisionr   )idtitle)instanceactionrevisionr   data)r   saveZsave_revisionZliver   r   r   Zget_admin_display_title)r   r   r   r   r   r
   r
   r   _convert_alias)   s     
z%ConvertAliasPageAction._convert_aliasc                 C   s    | j |d | | j| j| jS )N)r   )r   r!   r   r   r   r   r
   r
   r   executeB   s    zConvertAliasPageAction.execute)F)F)r   r   r   r   r   r!   r"   r
   r
   r
   r   r      s   
r   N)Zdjango.core.exceptionsr   Zwagtail.log_actionsr   RuntimeErrorr   r   r   r
   r
   r
   r   <module>   s   