# Web Custom Modifier

This module allows to customize modifiers on form and tree view nodes.

For example, it allows to make a field readonly, invisible or required.

Table of contents

- Use Cases / Context
- Usage
  - Access to the module
  - Requiered Field
  - Hide selection item
  - Force Save
  - Custom Widget
  - Number of lines per page (List Views)
  - Advanced Usage
  - Excluded Groups
  - Optional
- Known issues / Roadmap
- Bug Tracker
- Credits
  - Authors
  - Maintainers

# Use Cases / Context

In Odoo, when you want to customize some fields or views such as hiding a field, changing the number of line of a list view or make a field mandatory, you need to have technical knowledge.

This module allows functional people to apply some customizations without having to code.

# Usage

## Access to the module

As system administrator, I go to Settings / Technical / User Interface / Custom Modifiers.

## Requiered Field

I create a new custom modifier.

The modifier is configured to make the field `default_code` of a product required.

After refreshing my screen, I go to the form view of a product.

I notice that the field `default_code` is required.

## Hide selection item

The module allows to hide an item (option) of a selection field.

The above example hides the type of address `Other`.

Beware that if the hidden option is already selected on a record, it will look as it was never set.

Therefore, this feature should only be used to hide options that are never used.

## Force Save

A new option `Force Save` is available.

This modifier may be used along with the `Readonly` modifier so that the field value is saved to the server.

## Custom Widget

It is possible to customize the widget used for a given field.

## Number of lines per page (List Views)

A new modifier is added to set the number of lines per page in list view.

In the following example, we set a limit of 20 sale order lines per page on a sale order form view.

## Advanced Usage

In the field `Type`, I can select `Xpath`. This allows to set a modifier for a specific view node, such as a button. The example above hides the a button in the form view of a product.

## Excluded Groups

A new field `Excluded Groups` is available.

If at least one group of users is selected, the modifier is not applied for users that are member of any of these groups.

This is useful when rendering an element readonly or invisible only for a subset of users.

## Optional

Since the version 14.0.2.0.1, it is possible to customize the optional of a given field on a tree view.

The `Optional` modifier takes 2 possible keys:

- show : To make the field displayed by default in the tree view.
- hide : To make the field hidden by default in the 3 dots of a tree view.

Important

The field must be present by default on the tree view and displayed.

Example:

As system administrator, I go to `Settings / Technical / User Interface / Custom Modifiers`.

I add the field name (labelled as `Number` in Quotation List View) of the model `sale.order`.

I select the modifier `Optional` and then set the key `show`.

I go to the Quotation List View and notice that the field is now shown by default and that it is possible to hide it.

# Known issues / Roadmap

- Set a default value on a field for all users.

# 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 to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

# Credits

## Authors

- Numigi

## Maintainers

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.

This module is part of the OCA/web project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.