3
(h                 @   sB   d dl mZ d dlmZ ddlmZmZ G dd deeejZdS )    )reverse)generic   )MessageUserMixinModelViewMixinc                   s4   e Zd ZdZdZdd Z fddZdd Z  ZS )	UpdateModelViewzAThin `generic.UpdateView` wrapper plays nice with `ModelViewSet`._updatec             C   s$   | j dk	r| j j||S tddS )ztObject change permission check.

        If view had a `viewset`, the `viewset.has_change_permission` used.
        NzViewset is not provided)ZviewsetZhas_change_permissionNotImplementedError)selfrequestobj r   K/tmp/pip-install-q3hcpn_q/django-material/material/frontend/views/update.pyhas_object_permission   s    
z%UpdateModelView.has_object_permissionc                s>   | j dkr0| jj}tdj|j|j| jjgdS t	t
| j S )zCRedirect back to the detail view if no `success_url` is configured.Nz{}:{}_detail)args)Zsuccess_urlmodelZ_metar   formatZ	app_labelZ
model_nameobjectpksuperr   get_success_url)r
   opts)	__class__r   r   r      s
    
zUpdateModelView.get_success_urlc             C   s   | j d d S )Nz-The {name} "{link}" was changed successfully.)success)r
   r   r   r   message_user   s    zUpdateModelView.message_user)	__name__
__module____qualname____doc__Ztemplate_name_suffixr   r   r   __classcell__r   r   )r   r   r      s
   		r   N)	Zdjango.core.urlresolversr   Zdjango.viewsr   Zmixinsr   r   Z
UpdateViewr   r   r   r   r   <module>   s   