# Extended view inheritance

This module was written to make it simple to add custom operators for view inheritance.

Table of contents

- Installation
- Usage
- Known issues / Roadmap
- Bug Tracker
- Credits
  - Authors
  - Contributors
  - Maintainers

# Installation

You need to install the Python ‘astor’ library to use it.

# Usage

Change a python dictionary (context for example)

    <field position="attributes">
        <attribute name="context" operation="update">
            {
                "key": "value",
            }
        </attribute>
    </field>

Note that views are subject to evaluation of xmlids anyways, so if you need to refer to some xmlid, say `%(xmlid)s`.

Add text after and/or before than original

    <attribute name="$attribute" operation="text_add">
        $text_before {old_value} $text_after
    </attribute>

Add domain with AND/OR join operator (AND if missed) allowing conditional changes

    <attribute name="$attribute" operation="domain_add"
               condition="$field_condition" join_operator="OR">
        $domain_to_add
    </attribute>

Add domain with AND/OR join operator (AND if missed) for key in attrs

    <attribute name="$attribute" operation="attrs_domain_add"
               key="$attrs_key" join_operator="OR">
        $domain_to_add_to_attrs_key
    </attribute>

# Known issues / Roadmap

- Support an `eval` attribute for our new node types.

# 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

- Therp BV

## Contributors

- Holger Brunn <hbrunn@therp.nl>
- Ronald Portier <rportier@therp.nl>
- Tecnativa:
  - Sergio Teruel
  - Carlos Dauden
- Iván Todorovich <ivan.todorovich@camptocamp.com>
- Carlos Serra-Toro <carlos.serra@braintec.com>

## 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/server-tools project on GitHub.

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