TIP: You can type at any time to perform a new search.
CMS Form
cms_form · OCA/website-cms
- Repository
- OCA/website-cms · module folder · Try on Runboat
- Module version
- 1.3.0
- Category
- Uncategorized
- Folder size
- 0.74 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/website-cms
- Last tracking update
- 2026-08-07 08:09:33
- Authors
- Camptocamp, Odoo Community Association (OCA)
- Maintainers
- Camptocamp, Odoo Community Association (OCA)
- Committers
- Simone Orsi, Weblate, OCA-git-bot, oca-ci
Code Analysis ⓘ
Views touched (39)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
base_form |
CMS form template | ir.ui.view | qweb | New |
base_form_buttons |
CMS base form buttons | ir.ui.view | qweb | New |
base_form_field_error_block |
CMS form field error block | ir.ui.view | qweb | New |
base_form_field_help_block |
CMS form field help block | ir.ui.view | qweb | New |
base_form_fields |
CMS form fields | ir.ui.view | qweb | New |
field_widget_boolean |
CMS form boolean field widget | ir.ui.view | qweb | New |
field_widget_char |
CMS form text field widget | ir.ui.view | qweb | New |
field_widget_date |
CMS form date field widget | ir.ui.view | qweb | New |
field_widget_file |
CMS form image field widget | ir.ui.view | qweb | New |
field_widget_hidden |
CMS form hidden field | ir.ui.view | qweb | New |
field_widget_image |
CMS form image field widget | ir.ui.view | qweb | New |
field_widget_m2o |
CMS form m2o field widget | ir.ui.view | qweb | New |
field_widget_m2o_multi |
CMS form m2o multi select field widget | ir.ui.view | qweb | Inherits field_widget_x2m |
field_widget_numeric |
CMS form numeric field widget | ir.ui.view | qweb | Inherits cms_form.field_widget_char |
field_widget_radio_selection |
CMS form selection field radio widget | ir.ui.view | qweb | New |
field_widget_selection |
CMS form selection field widget | ir.ui.view | qweb | Inherits cms_form.field_widget_m2o |
field_widget_text |
CMS form text field widget | ir.ui.view | qweb | New |
field_widget_x2m |
CMS form x2m field widget | ir.ui.view | qweb | New |
fieldsets_as_tabs |
CMS form fieldsets as tabs | ir.ui.view | qweb | New |
form_field_label_after_wrapper |
CMS form field wrapper with label after | ir.ui.view | qweb | New |
form_horizontal_field_wrapper |
CMS form field wrapper horiz form | ir.ui.view | qweb | New |
form_vertical_field_wrapper |
CMS form field wrapper vertical form | ir.ui.view | qweb | New |
form_wrapper |
CMS form wrapper | ir.ui.view | qweb | New |
no_search_results |
CMS form no search results | ir.ui.view | qweb | New |
portal_form_wrapper |
CMS portal form wrapper | ir.ui.view | qweb | New |
portal_search_form_wrapper |
CMS search portal form wrapper | ir.ui.view | qweb | New |
portal_search_form_wrapper |
CMS search portal form wrapper | ir.ui.view | qweb | New |
portal_wizard_form_wrapper |
CMS wizard portal form wrapper | ir.ui.view | qweb | New |
portal_wizard_form_wrapper |
CMS wizard portal form wrapper | ir.ui.view | qweb | New |
search_form_buttons |
CMS search form buttons | ir.ui.view | qweb | Inherits cms_form.base_form_buttons |
search_form_wrapper |
CMS search form wrapper | ir.ui.view | qweb | Inherits cms_form.form_wrapper |
search_results |
CMS form search results | ir.ui.view | qweb | New |
search_results_pager |
CMS form pager | ir.ui.view | qweb | Inherits portal.pager |
single_field |
CMS form single field | ir.ui.view | qweb | New |
single_fieldset |
CMS form single fieldset | ir.ui.view | qweb | New |
wizard_form_buttons |
CMS wizard form buttons | ir.ui.view | qweb | Inherits cms_form.base_form_buttons |
wizard_form_confirm_modal |
CMS wizard form confirm modal | ir.ui.view | qweb | New |
wizard_form_wrapper |
CMS wizard form wrapper | ir.ui.view | qweb | Inherits cms_form.form_wrapper |
wizard_progress_bar |
CMS Wizard progress bar | ir.ui.view | qweb | New |
HTTP endpoints (5)
| Route(s) | Handler | Auth | Type | Methods | Flags |
|---|---|---|---|---|---|
/cms/create/<string:model>, /cms/edit/<string:model>/<int:model_id> |
CMSFormController.cms_form |
user | http | ALL | website |
/cms/render/form/<string:form_model>, /cms/render/form/<string:form_model>/<int:model_id> |
CMSFormController.cms_form_render |
user | json | ALL | website |
/cms/ajax/search/<string:model>, /cms/ajax/search/<string:model>/<int:model_id> |
CMSSearchFormController.ajax |
public | http | ALL | website |
/cms/search/<string:model>, /cms/search/<string:model>/page/<int:page> |
CMSSearchFormController.cms_form |
public | http | ALL | website |
/cms/wiz/<string:wiz_model>/page/<int:page> |
CMSWizardFormController.cms_wiz |
user | http | ALL | website |
Models touched (25)
New fields (3)
-
form_redirectBooleandefault=Falseform_tech=True -
form_successBooleandefault=Falseform_tech=True -
form_titleCharcompute='_compute_form_title'form_tech=True
-
add_status_message(self, msg, **kw) -
form_after_create_or_update(self, values, extra_values)Post create/update hook. -
form_before_create_or_update(self, values, extra_values)Pre create/update hook. -
form_cancel_url(self, main_object=None)URL to redirect to after click on "cancel" button. -
form_check_empty_value(self, fname, field, value, **req_values)Return True if passed field value is really empty. -
form_create_or_update(self)Prepare values and create or update main_object. -
form_get_validator(self, fname, field)Retrieve field validator. -
form_msg_error_missing(self)@property -
form_msg_success_created(self)@property -
form_msg_success_updated(self)@property -
form_next_url(self, main_object=None)URL to redirect to after successful form submission. -
form_process_POST(self, render_values)Process POST requests. -
form_validate(self, request_values=None)Validate submitted values.
New fields (26)
-
form_actionChardefault=''form_tech=True -
form_ajaxBooleandefault=Falseform_tech=True -
form_ajax_onchangeBooleandefault=Falseform_tech=True -
form_buttons_templateChardefault='cms_form.base_form_buttons'form_tech=True -
form_confirm_submitBooleandefault=''form_tech=True -
form_content_selectorChardefault='.form_content'form_tech=True -
form_descriptionChardefault=''form_tech=True -
form_display_modeSelectiondefault='horizontal'form_tech=Trueselection=[('horizontal', 'Horizontal'), ('vertical', 'Vertical')] -
form_extra_css_klassChardefault=''form_tech=True -
form_extract_value_modeSelectiondefault='write'form_tech=Trueselection=[('write', 'Write'), ('read', 'Read')] -
form_fields_templateChardefault='cms_form.base_form_fields'form_tech=True -
form_fields_wrapper_templateCharcompute='_compute_form_fields_wrapper_template'form_tech=Truereadonly=False -
form_fieldsets_displaySelectiondefault='vertical'form_tech=Trueselection=[('tabs', 'Tabs'), ('vertical', 'Vertical')] -
form_fname_patternChardefault=''form_tech=True -
form_methodChardefault='POST'form_tech=True -
form_modeCharcompute='_compute_form_mode'default=''form_tech=Truereadonly=False -
form_model_nameChardefault=''form_tech=True -
form_render_valuesBinarycompute='_compute_form_render_values'form_tech=Truestore=False -
form_templateChardefault='cms_form.base_form'form_tech=True -
form_titleChardefault=''form_tech=True -
form_wrapper_extra_css_klassChardefault=''form_tech=True -
form_wrapper_templateChardefault=''form_tech=True -
idIdautomatic=True -
main_objectBinarydefault=Noneform_tech=Truestore=False -
o_requestBinaryform_tech=Truestore=False -
requestBinaryform_tech=Truestore=False
-
fields_get(self, allfields=None, attributes=None)@api.model -
form_check_permission(self, raise_exception=True)Check permission on current model and main object if any. -
form_css_klass(self)@propertyReturn `<form />` element css klasses. By default you can provide extra klasses via `form_extra_css_klass`. -
form_extract_values(self, **request_values)Extract values from request form. -
form_fields_get(self, hidden=None)Retrieve form fields. :param hidden: whether to include or not hidden inputs. Options: * None, default: include all fields, hidden or not * True: include only hidden fields * False: include all fields but those hidden. -
form_fieldsets_get(self) -
form_fieldsets_wrapper_klass(self)@property -
form_file_fields(self)@propertyFile fields. -
form_get_current_widget(self, fname) -
form_get_extractor(self, fname, field, value=None, **req_values)Retrieve form value extractor. :param fname: field name :param field: field description as `fields_get` :param value: current field value if any :param req_values: custom request valuess -
form_get_field_wrapper_template(self, fname, field) -
form_get_loader(self, fname, field, main_object=None, value=None, **req_values)Retrieve form value loader. :param fname: field name :param field: field description as `fields_get` :param main_object: current main object if any :param value: current field value if any :param req_values: custom request valuess -
form_get_request_values(self)Retrieve fields values from current request. -
form_get_widget(self, fname, field, **kw)Retrieve and initialize widget. -
form_init(self, request, main_object=None, **kw)Initalize a form instance. @param request: an odoo-wrapped werkeug request @param main_object: current model instance if any @param kw: pass any override for `_form_` attributes ie: `fields_attributes` -> `form_fields_attributes` -
form_json_info(self) -
form_load_defaults(self, main_object=None, request_values=None)Load default values. Values lookup order: 1. `main_object` fields' values (if an existing main_object is passed) 2. request parameters (only parameters matching form fields names) -
form_make_field_wrapper_klass(self, fname, field, **kw)Return specific CSS klass for the field wrapper. -
form_model(self)@property -
form_msg_confirm_submit(self)@property -
form_process(self, **kw)Process current request. :param kw: inject custom / extra rendering values. Lookup correct request handler by request method and call it with rendering values. The handler can perform any action (like creating objects) and then return final rendering form values and store them into `form_render_values`. -
form_process_GET(self, render_values)Process GET requests. -
form_process_POST(self, render_values)Process POST requests. -
form_render(self, **kw)Renders form template declared in `form_template`. To render the form simply do: <t t-out="form.form_render()" /> -
form_update_fields_attributes(self, _fields)Manipulate fields attributes. -
form_wrapper_css_klass(self)@propertyReturn form wrapper css klass. By default the form markup is wrapped into a `cms_form_wrapper` element. You can use this set of klasses to customize form styles. Included by default: * `cms_form_wrapper` marker * form model name normalized (res.partner -> res_partner) * `form_wrapper_extra_css_klass` extra klasses from form attribute * `mode_` + form mode (ie: 'mode_write')
New fields (15)
-
form_buttons_templateChardefault='cms_form.search_form_buttons'form_tech=True -
form_extract_value_modeChardefault='read'form_tech=True -
form_methodChardefault='GET'form_tech=True -
form_modeChardefault='search'form_tech=True -
form_no_result_msgCharcompute='_compute_form_no_result_msg'form_tech=True -
form_no_search_results_templateChardefault='cms_form.no_search_results'form_tech=True -
form_results_orderbyChardefault=''form_tech=True -
form_results_per_pageIntegerdefault=10form_tech=True -
form_search_domain_rulesBinarydefault={}form_tech=Truestore=False -
form_search_resultsBinarydefault={}form_tech=Truestore=False -
form_search_results_templateChardefault='cms_form.search_results'form_tech=True -
form_show_results_no_submitBooleandefault=Trueform_tech=True -
form_show_search_formBooleandefault=Trueform_tech=True -
form_show_search_formBooleandefault=Trueform_tech=True -
form_titleCharcompute='_compute_form_title'form_tech=True
-
form_check_permission(self)Just searching, nothing to check here. -
form_process_GET(self, render_values) -
form_search(self, render_values)Produce search results. -
form_search_domain(self, search_values)Build search domain. -
form_update_fields_attributes(self, _fields)No field should be mandatory. -
pager(self, **kw)
New fields (1)
-
w_templateChardefault='cms_form.field_widget_file'
No public methods.
New fields (0)
No new fields.
Public methods (3)-
form_to_binary(self, value, **req_values) -
w_check_empty_value(self, value, **req_values) -
w_extract(self, **req_values)
New fields (4)
-
w_field_valueBoolean -
w_templateChardefault='cms_form.field_widget_boolean' -
w_wrapper_css_klassChardefault='form-check' -
w_wrapper_templateChardefault='cms_form.form_field_label_after_wrapper'
-
w_extract(self, **req_values) -
widget_init(self, form, fname, field, **kw)
New fields (0)
No new fields.
Public methods (1)-
html_value(self)@property
New fields (3)
-
w_input_typeChardefault='text' -
w_templateChardefault='cms_form.field_widget_char' -
w_valid_patternCharhelp='Used to validate inputs with `pattern` attr'
No public methods.
New fields (5)
-
w_date_formatChardefault='' -
w_default_todayBooleandefault=True -
w_field_valueDatedefault=None -
w_placeholderChardefault='' -
w_templateChardefault='cms_form.field_widget_date'
-
form_to_date(self, value, **req_values) -
w_extract(self, **req_values) -
widget_init(self, form, fname, field, **kw)
New fields (0)
No new fields.
Public methods (1)-
w_extract(self, **req_values)
New fields (1)
-
w_templateChardefault='cms_form.field_widget_hidden'
-
html_fname(self)@propertyField name for final HTML markup.
New fields (1)
-
w_templateChardefault='cms_form.field_widget_image'
-
w_load(self, **req_values)
New fields (0)
No new fields.
Public methods (1)-
w_extract(self, **req_values)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (2)
-
w_field_valueInteger -
w_templateChardefault='cms_form.field_widget_m2o'
-
form_to_m2o(self, value, **req_values) -
m2o_to_form(self, value, **req_values) -
w_extract(self, **req_values) -
w_load(self, **req_values) -
w_option_items(self)@property
New fields (2)
-
w_display_fieldChardefault='display_name' -
w_templateChardefault='cms_form.field_widget_m2o_multi'
-
form_to_m2o(self, value, **req_values) -
m2o_to_form(self, value, **req_values)
New fields (12)
-
idIdautomatic=True -
w_css_klassChardefault='' -
w_fieldBinarystore=False -
w_field_valueChar -
w_fnameChardefault='' -
w_formBinarystore=False -
w_readonlyBoolean -
w_recordBinarystore=False -
w_subfieldsBinarydefault={}store=False -
w_templateChardefault='' -
w_wrapper_css_klassChardefault='' -
w_wrapper_templateChardefault=''
-
html_fname(self)@property -
html_readonly(self)@property -
html_value(self)@property -
render(self) -
w_check_empty_value(self, value, **req_values) -
w_data_json(self) -
w_extract(self, **req_values)Extract value from form submit. -
w_form_model(self)@property -
w_form_values(self)@property -
w_ids_from_input(value)@staticmethodConvert list of ids from form input. -
w_load(self, **req_values)Load value for current field in current request. -
w_subfields_by_value(self, value='_all') -
widget_init(self, form, fname, field, data=None, subfields=None, **kw)
New fields (4)
-
w_input_maxChardefault='' -
w_input_minChardefault='' -
w_input_typeChardefault='number' -
w_templateChardefault='cms_form.field_widget_numeric'
-
html_input_max(self)@property -
html_input_min(self)@property
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
w_templateChardefault='cms_form.field_widget_radio_selection'
-
widget_init(self, form, fname, field, **kw)
New fields (2)
-
w_comodel_nameChardefault='' -
w_display_fieldChardefault='display_name'
-
w_comodel(self)@property -
widget_init(self, form, fname, field, **kw)
New fields (1)
-
w_templateChardefault='cms_form.field_widget_selection'
-
cast_field_value(self, value) -
is_option_selected(self, opt_item) -
w_extract(self, **req_values) -
w_option_items(self)@property
New fields (2)
-
w_maxlengthInteger -
w_templateChardefault='cms_form.field_widget_text'
-
html_value(self)@property -
widget_init(self, form, fname, field, **kw)
New fields (1)
-
w_templateChardefault='cms_form.field_widget_x2m'
-
form_to_x2many(self, value, **req_values) -
w_extract(self, **req_values) -
w_load(self, **req_values) -
x2many_to_form(self, value, **req_values)
New fields (4)
-
form_buttons_templateChardefault='cms_form.wizard_form_buttons'form_tech=True -
form_resetBooleandefault=Falseform_tech=True -
form_show_progress_barBooleandefault=Trueform_tech=True -
form_step_store_all_fieldsBooleandefault=Trueform_tech=True
-
form_after_create_or_update(self, values, extra_values) -
form_init(self, request, main_object=None, page=1, wizard=None, **kw) -
form_load_defaults(self, main_object=None, request_values=None) -
form_next_url(self, main_object=None) -
form_wrapper_css_klass(self)@property -
is_final_step_process(self) -
wiz_configure_steps(self)Configure wizard steps. Each step can use a different form, for instance: return { 1: { 'form_model': 'form.a', 'title': 'Step 1', 'description': 'Preliminary info', }, 2: { 'form_model': 'form.b', 'title': 'Step 2', }, 3: { 'form_model': 'form.c', 'title': 'Step 3', 'description': 'Foo', }, } -
wiz_current_step(self) -
wiz_get_step_info(self, step) -
wiz_init(self, page=1, **kw) -
wiz_load_step(self, step=None) -
wiz_load_steps(self, steps=None)Load all steps data merged together. -
wiz_next_step(self) -
wiz_prev_step(self) -
wiz_save_step(self, values, step=None) -
wiz_steps(self)@property -
wiz_storage_get(self) -
wiz_storage_set(self, storage)
Loading…
Loading…
Loading…
Loading…
Loading…