Skip to main content

Basic features for handling content deletion via frontend.

Project description

License: AGPL-3

CMS delete content

Basic features for deleting content via frontend.


  • register your own custom delete confirmation view per-model

  • use cms_status_message to show confirmation message for deletion

  • generic template for asking delete confirmation

  • new fields and parameters on website.published.mixin to handle delete links and redirects


Delete button and behavior

To add a delete button:

<a class="btn btn-danger cms_delete_confirm" t-att-href="object.cms_delete_confirm_url">Delete</a>

When you click on a confirmation dialog pops up.

If you hit cancel the popup is closed. If you hit submit the item is deleted and you get redirected to your model’s cms_after_delete_url. By default is /.


Custom per-model delete messge

class MyModel(models.Model):
    _inherit = "my.model"

    def msg_content_delete_confirm(self):
        return _('Are you sure you want to delete "%s"?.') %

Custom “after delete URL”

When you are viewing a content and you delete it you want to be redirected to some other place.

By default you get redirected to the root of the website.

To change this behavior just override the attribute in your model declaration:

class MyModel(models.Model):
    _inherit = "my.model"

    cms_after_delete_url = '/foo'

Note: if you want to customize it on demand for particular pages, or you are deleting an item from another page (like a management page) you can pass ?redirect= in the url, like:

<a class="btn btn-danger cms_delete_confirm" t-attf-href="#{object.cms_delete_confirm_url}?redirect=">Delete</a>

Custom global delete confirm message appeareance

<template id="delete_confirm" inherit_id="cms_delete_content.delete_confirm">

    <xpath expr="//h4[@id='delete_confirm']" position="replace">
        <h1 t-esc="main_object.msg_content_delete_confirm()">I want it bigger!</h1>


Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.




Odoo Community Association

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

To contribute to this module, please visit

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release. See tutorial on generating distribution archives.

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page