Provide basic information for website records / models via website.published.mixin. This module is meant to be used as a base to build your own CMS.
auto_awesome What this module does
AI-generated from the code · Odoo 16.0Adds a reusable technical foundation that gives any Odoo record the URLs and permission checks needed to be managed from a CMS front-end. It is a base module for developers, not a ready-made website feature.
This module does not add menus or screens for end users. It provides a mixin (a reusable block of behaviour) called cms.info.mixin that other modules can attach to their own records so those records can be viewed, edited, copied and deleted through CMS-style web addresses.
On any record using the mixin, Odoo automatically computes several read-only web addresses: a public view URL, a CMS edit URL, a CMS copy URL, a CMS delete URL and a delete confirmation URL. These are built from the record's model name and its database ID, so they always point to the right record.
The mixin also answers permission questions: whether the current user created the record, and whether they are allowed to create, edit, publish or delete it. These checks respect Odoo's normal access rights and record rules, so a user only sees actions they are actually permitted to perform.
Finally, a helper method returns a single summary dictionary combining ownership, the create/edit/delete permissions and the relevant URLs. This is meant to be consumed by a CMS front-end to decide which buttons to show. No scheduled jobs, emails or reports are added by this module.
Depends on
Required by other modules
Models and fields (1)
- cms.info.mixin · new modelurl (URL), cms_copy_url (CMS copy URL), cms_edit_url (CMS edit URL), cms_delete_url (CMS delete URL), cms_delete_confirm_url (CMS delete confirm URL)
Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 3 confirmed, 6 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/website-cms.
terminal Installation and usage
OCA documentation · Odoo 16.0Usage
Source · Odoo 16.0New attributes
* ``cms_create_url``: lead to create view. By default ``/cms/create/my.model``
* ``cms_search_url``: lead to search view. By default ``/cms/search/my.model``
* ``cms_edit_url`` (computed field): lead to edit view. By default ``/cms/edit/my.model/model_id``
.. note:: No routing provided.
This attributes provide only basic information on contents' URLs.
If you use `cms_form` default routes are handled automatically.
If not, is up to you to provide your own routes to handle them.
Permission and extra informationrecord.cms_is_owner(): current user is the owner of the record?record.cms_can_edit(): current user can edit this record?record.cms_can_publish(): current user can publish this record?record.cms_can_delete(): current user can delete this record?model.cms_can_create(): current user can create a new record?
Info all in one
When you build CMS UIs you need all those info at once.
This module provides also an helper method `cms_info()`
that gives you back a dictionary containing:
* `is_owner`: True/False,
* `can_edit`: True/False,
* `can_create`: True/False,
* `can_publish`: True/False,
* `can_delete`: True/False,
* `create_url`
* `edit_url`
* `delete_url`No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.