123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709 |
- <?xml version="1.0" encoding="utf-8"?>
- <odoo>
- <!-- menu_create from model form -->
- <record id="view_model_menu_create" model="ir.ui.view">
- <field name="name">Create Menu</field>
- <field name="model">wizard.ir.model.menu.create</field>
- <field name="arch" type="xml">
- <form string="Create Menu">
- <group>
- <field name="name"/>
- <field name="menu_id"/>
- </group>
- <footer>
- <button name="menu_create" string="Create Menu" type="object" class="btn-primary" data-hotkey="q"/>
- <button string="Cancel" class="btn-secondary" special="cancel" data-hotkey="z" />
- </footer>
- </form>
- </field>
- </record>
- <record id="act_menu_create" model="ir.actions.act_window">
- <field name="name">Create Menu</field>
- <field name="res_model">wizard.ir.model.menu.create</field>
- <field name="view_mode">form</field>
- <field name="target">new</field>
- <field name="context">{'model_id': active_id}</field>
- </record>
- <!-- model -->
- <record id="view_model_form" model="ir.ui.view">
- <field name="model">ir.model</field>
- <field name="arch" type="xml">
- <form string="Model Description">
- <header><!-- used for override --></header>
- <sheet>
- <group>
- <group>
- <field name="id" invisible="1"/>
- <field name="name"/>
- <field name="model" attrs="{'readonly': [('id', '!=', False)]}"/>
- <field name="order"/>
- <field name="transient" attrs="{'readonly': [('id', '!=', False)]}" groups="base.group_no_one"/>
- </group>
- <group>
- <field name="state" readonly="1" groups="base.group_no_one"/>
- <field name="modules" groups="base.group_no_one"/>
- </group>
- </group>
- <notebook>
- <page string="Fields" name="fields">
- <field name="field_id">
- <tree string="Fields Description">
- <field name="name"/>
- <field name="field_description"/>
- <field name="ttype"/>
- <field name="required"/>
- <field name="readonly"/>
- <field name="index" groups="base.group_no_one"/>
- <field name="state" groups="base.group_no_one"/>
- </tree>
- <form string="Fields Description">
- <group>
- <group>
- <field name="name"/>
- <field name="field_description"/>
- </group>
- <group>
- <field name="ttype"/>
- <field name="help"/>
- </group>
- </group>
- <notebook>
- <page name="base" string="Properties">
- <group string="Base Properties">
- <group>
- <field name="required"/>
- <field name="readonly"/>
- <field name="store" groups="base.group_no_one"/>
- <field name="index" groups="base.group_no_one"/>
- <field name="copied" groups="base.group_no_one"/>
- </group>
- <group>
- <field name="translate"
- attrs="{'readonly': [('ttype','not in',['char','text','html'])],
- 'invisible': [('ttype','not in',['char','text','html'])]}"/>
- <field name="size" groups="base.group_no_one"
- attrs="{'readonly': [('ttype','not in',['char','reference'])],
- 'invisible': [('ttype','not in',['char','reference'])]}"/>
- <field name="relation"
- attrs="{'required': [('ttype','in',['many2one','one2many','many2many'])],
- 'readonly': [('ttype','not in',['many2one','one2many','many2many'])],
- 'invisible': [('ttype','not in',['many2one','one2many','many2many'])]}"/>
- <field name="on_delete" groups="base.group_no_one"
- attrs="{'readonly': [('ttype','!=','many2one')],
- 'invisible': [('ttype','!=','many2one')]}"/>
- <field name="relation_field"
- attrs="{'required': [('ttype','=','one2many')],
- 'readonly': [('ttype','!=','one2many')],
- 'invisible': [('ttype','!=','one2many')]}"/>
- <field name="relation_table" groups="base.group_no_one"
- attrs="{'readonly': ['|', ('ttype','!=','many2many'), ('state','!=','manual')],
- 'invisible': ['|', ('ttype','!=','many2many'), ('state','!=','manual')]}"/>
- <field name="column1" groups="base.group_no_one"
- attrs="{'readonly': ['|', ('ttype','!=','many2many'), ('state','!=','manual')],
- 'invisible': ['|', ('ttype','!=','many2many'), ('state','!=','manual')]}"/>
- <field name="column2" groups="base.group_no_one"
- attrs="{'readonly': ['|', ('ttype','!=','many2many'), ('state','!=','manual')],
- 'invisible': ['|', ('ttype','!=','many2many'), ('state','!=','manual')]}"/>
- <field name="domain" groups="base.group_no_one"
- attrs="{'readonly': [('ttype','not in',['many2one','one2many','many2many'])],
- 'invisible': [('ttype','not in',['many2one','one2many','many2many'])]}"/>
- </group>
- </group>
- <group attrs="{'readonly': [('ttype','not in',['selection','reference'])],
- 'invisible': [('ttype','not in',['selection','reference'])]}">
- <field name="selection_ids">
- <tree editable="bottom">
- <field name="sequence" widget="handle"/>
- <field name="value"/>
- <field name="name"/>
- </tree>
- </field>
- </group>
- <group string="Advanced Properties" groups="base.group_no_one">
- <field name="related"/>
- <field name="depends" attrs="{'required': [('compute', 'not in', [False, ''])]}"/>
- <field name="compute" widget="ace" options="{'mode': 'python'}"/>
- </group>
- <div groups="base.group_no_one">
- <h3>How to define a computed field</h3>
- <p>Computed fields are defined with the fields
- <strong>Dependencies</strong> and <strong>Compute</strong>.</p>
- <p>The field <strong>Dependencies</strong> lists the fields that
- the current field depends on. It is a comma-separated list of
- field names, like <code>name, size</code>. You can also refer to
- fields accessible through other relational fields, for instance
- <code>partner_id.company_id.name</code>.</p>
- <p>The field <strong>Compute</strong> is the Python code to
- compute the value of the field on a set of records. The value of
- the field must be assigned to each record with a dictionary-like
- assignment.</p>
- <pre>
- for record in self:
- record['size'] = len(record.name)
- </pre>
- <p>The only predefined variables are</p>
- <ul>
- <li><code>self</code> (the set of records to compute)</li>
- <li><code>datetime</code> (Python module)</li>
- <li><code>dateutil</code> (Python module)</li>
- <li><code>time</code> (Python module)</li>
- </ul>
- <p>Other features are accessible through <code>self</code>, like
- <code>self.env</code>, etc.</p>
- </div>
- </page>
- <page name="groups" string="Access Rights">
- <field name="groups"/>
- </page>
- <page name="misc" string="Miscellaneous" groups="base.group_no_one">
- <group>
- <field name="state"/>
- <field name="modules"/>
- </group>
- </page>
- </notebook>
- </form>
- </field>
- <button groups="base.group_no_one"
- icon="fa-align-justify"
- name="%(act_menu_create)d"
- string="Create a Menu" type="action"
- target="new" />
- </page>
- <page string="Access Rights" name="access_rights">
- <field name="access_ids">
- <tree string="Access Rights" editable="top"
- decoration-warning="not group_id and
- (perm_read or perm_write or
- perm_create or perm_unlink)">
- <field name="name"/>
- <field name="group_id"/>
- <field name="perm_read"/>
- <field name="perm_write"/>
- <field name="perm_create"/>
- <field name="perm_unlink"/>
- </tree>
- </field>
- </page>
- <page string="Record Rules" name="record_rules">
- <field name="rule_ids">
- <tree string="Record Rules" editable="top" decoration-info="not groups">
- <field name="name"/>
- <field name="groups" widget="many2many_tags" options="{'no_create':True}"/>
- <field name="domain_force"/>
- <field name="perm_read"/>
- <field name="perm_write"/>
- <field name="perm_create"/>
- <field name="perm_unlink"/>
- </tree>
- </field>
- </page>
- <page string="Notes" name="notes" groups="base.group_no_one">
- <field name="info"/>
- </page>
- <page string="Views" name="views" groups="base.group_no_one">
- <field name="view_ids"/>
- </page>
- </notebook>
- </sheet>
- </form>
- </field>
- </record>
- <record id="view_model_tree" model="ir.ui.view">
- <field name="model">ir.model</field>
- <field name="arch" type="xml">
- <tree string="Model Description">
- <field name="model"/>
- <field name="name"/>
- <field name="state"/>
- <field name="transient"/>
- </tree>
- </field>
- </record>
- <record id="view_model_search" model="ir.ui.view">
- <field name="model">ir.model</field>
- <field name="arch" type="xml">
- <search string="Model Description">
- <field name="name" filter_domain="['|', ('name','ilike',self), ('model','ilike',self)]" string="Model"/>
- <field name="model" filter_domain="[('model','ilike',self)]" string="Technical Name"/>
- <filter string="Transient" name="transient" domain="[('transient', '=', True)]"/>
- <separator/>
- <filter string="Custom" name="custom" domain="[('state', '=', 'manual')]"/>
- <filter string="Base" name="base" domain="[('state', '=', 'base')]"/>
- </search>
- </field>
- </record>
- <record id="action_model_model" model="ir.actions.act_window">
- <field name="name">Models</field>
- <field name="res_model">ir.model</field>
- <field name="context">{}</field>
- <field name="view_id" ref="view_model_tree"/>
- </record>
- <menuitem action="action_model_model" id="ir_model_model_menu" parent="next_id_9"/>
- <!-- ir model fields -->
- <record id="view_model_fields_form" model="ir.ui.view">
- <field name="model">ir.model.fields</field>
- <field name="arch" type="xml">
- <form string="Fields" duplicate="false">
- <field name="state" invisible="1"/>
- <sheet>
- <group>
- <group>
- <field name="name"/>
- <field name="field_description"/>
- <field name="model_id" attrs="{'readonly': [('state','!=', 'manual')]}"/>
- </group>
- <group>
- <field name="ttype"/>
- <field name="help"/>
- </group>
- </group>
- <notebook>
- <page name="base" string="Properties">
- <group string="Base Properties">
- <group>
- <field name="required"/>
- <field name="readonly"/>
- <field name="store" groups="base.group_no_one"/>
- <field name="index" groups="base.group_no_one"/>
- <field name="copied" groups="base.group_no_one"/>
- </group>
- <group>
- <field name="translate"
- attrs="{'readonly': [('ttype','not in',['char','text','html'])],
- 'invisible': [('ttype','not in',['char','text','html'])]}"/>
- <field name="size" groups="base.group_no_one"
- attrs="{'readonly': [('ttype','not in',['char','reference'])],
- 'invisible': [('ttype','not in',['char','reference'])]}"/>
- <field name="relation"
- attrs="{'required': [('ttype','in',['many2one','one2many','many2many'])],
- 'readonly': [('ttype','not in',['many2one','one2many','many2many'])],
- 'invisible': [('ttype','not in',['many2one','one2many','many2many'])]}"/>
- <field name="group_expand" groups="base.group_no_one"
- attrs="{'readonly': [('ttype','not in', ['many2one', 'selection'])],
- 'invisible': [('ttype','not in', ['many2one', 'selection'])]}"/>
- <field name="on_delete" groups="base.group_no_one"
- attrs="{'readonly': [('ttype','!=','many2one')],
- 'invisible': [('ttype','!=','many2one')]}"/>
- <field name="relation_field"
- attrs="{'required': [('ttype','=','one2many')],
- 'readonly': [('ttype','!=','one2many')],
- 'invisible': [('ttype','!=','one2many')]}"/>
- <field name="relation_table" groups="base.group_no_one"
- attrs="{'readonly': ['|', ('ttype','!=','many2many'), ('state','!=','manual')],
- 'invisible': ['|', ('ttype','!=','many2many'), ('state','!=','manual')]}"/>
- <field name="column1" groups="base.group_no_one"
- attrs="{'readonly': ['|', ('ttype','!=','many2many'), ('state','!=','manual')],
- 'invisible': ['|', ('ttype','!=','many2many'), ('state','!=','manual')]}"/>
- <field name="column2" groups="base.group_no_one"
- attrs="{'readonly': ['|', ('ttype','!=','many2many'), ('state','!=','manual')],
- 'invisible': ['|', ('ttype','!=','many2many'), ('state','!=','manual')]}"/>
- <field name="domain" groups="base.group_no_one"
- attrs="{'readonly': [('ttype','not in',['many2one','one2many','many2many'])],
- 'invisible': [('ttype','not in',['many2one','one2many','many2many'])]}"/>
- </group>
- </group>
- <group attrs="{'readonly': [('ttype','not in',['selection','reference'])],
- 'invisible': [('ttype','not in',['selection','reference'])]}">
- <field name="selection_ids">
- <tree editable="bottom">
- <field name="sequence" widget="handle"/>
- <field name="value"/>
- <field name="name"/>
- </tree>
- </field>
- </group>
- <group string="Advanced Properties" groups="base.group_no_one">
- <field name="related"/>
- <field name="depends" attrs="{'required': [('compute', 'not in', [False, ''])]}"/>
- <field name="compute" widget="ace" options="{'mode': 'python'}"/>
- </group>
- <div groups="base.group_no_one">
- <h3>How to define a computed field</h3>
- <p>Computed fields are defined with the fields
- <strong>Dependencies</strong> and <strong>Compute</strong>.</p>
- <p>The field <strong>Dependencies</strong> lists the fields that
- the current field depends on. It is a comma-separated list of
- field names, like <code>name, size</code>. You can also refer to
- fields accessible through other relational fields, for instance
- <code>partner_id.company_id.name</code>.</p>
- <p>The field <strong>Compute</strong> is the Python code to
- compute the value of the field on a set of records. The value of
- the field must be assigned to each record with a dictionary-like
- assignment.</p>
- <pre>
- for record in self:
- record['size'] = len(record.name)
- </pre>
- <p>The only predefined variables are</p>
- <ul>
- <li><code>self</code> (the set of records to compute)</li>
- <li><code>datetime</code> (Python module)</li>
- <li><code>dateutil</code> (Python module)</li>
- <li><code>time</code> (Python module)</li>
- </ul>
- <p>Other features are accessible through <code>self</code>, like
- <code>self.env</code>, etc.</p>
- </div>
- </page>
- <page name="groups" string="Access Rights">
- <field name="groups"/>
- </page>
- <page name="misc" string="Miscellaneous" groups="base.group_no_one">
- <group>
- <field name="state"/>
- <field name="modules"/>
- </group>
- </page>
- </notebook>
- </sheet>
- </form>
- </field>
- </record>
- <record id="view_model_fields_tree" model="ir.ui.view">
- <field name="model">ir.model.fields</field>
- <field name="arch" type="xml">
- <tree string="Fields" duplicate="false">
- <field name="name"/>
- <field name="field_description"/>
- <field name="model_id"/>
- <field name="ttype"/>
- <field name="state"/>
- <field name="index"/>
- <field name="store"/>
- <field name="readonly"/>
- <field name="relation"/>
- </tree>
- </field>
- </record>
- <record id="view_model_fields_search" model="ir.ui.view">
- <field name="model">ir.model.fields</field>
- <field name="arch" type="xml">
- <search string="Fields">
- <field name="name" filter_domain="['|', ('name','ilike',self), ('field_description','ilike',self)]" string="Field"/>
- <filter string="Required" name="required" domain="[('required', '=', True)]"/>
- <separator/>
- <filter string="Readonly" name="readonly" domain="[('readonly', '=', True)]"/>
- <separator/>
- <filter string="Custom" name="custom" domain="[('state', '=', 'manual')]"/>
- <filter string="Base" name="base" domain="[('state', '=', 'base')]"/>
- <separator/>
- <filter string="Translate" name="translate" domain="[('translate', '=', True)]"/>
- <field name="model_id"/>
- <field name="ttype"/>
- <field name="required"/>
- <field name="readonly"/>
- <field name="relation"/>
- <group expand="0" string="Group By">
- <filter string="Model" name="group_by_object" domain="[]" context="{'group_by':'model_id'}"/>
- <filter string="Field Type" name="group_by_ttype" domain="[]" context="{'group_by':'ttype'}"/>
- </group>
- </search>
- </field>
- </record>
- <record id="action_model_fields" model="ir.actions.act_window">
- <field name="name">Fields</field>
- <field name="res_model">ir.model.fields</field>
- <field name="context">{}</field>
- <field name="view_id" ref="view_model_fields_tree"/>
- </record>
- <menuitem action="action_model_fields" id="ir_model_model_fields" parent="base.next_id_9"/>
- <!-- ir model fields selection -->
- <record id="view_model_fields_selection_form" model="ir.ui.view">
- <field name="model">ir.model.fields.selection</field>
- <field name="arch" type="xml">
- <form string="Fields" duplicate="false">
- <sheet>
- <group>
- <field name="field_id" options="{'no_create': True}"/>
- <field name="value" groups="base.group_no_one"/>
- <field name="name"/>
- <field name="sequence" groups="base.group_no_one"/>
- </group>
- </sheet>
- </form>
- </field>
- </record>
- <record id="view_model_fields_selection_tree" model="ir.ui.view">
- <field name="model">ir.model.fields.selection</field>
- <field name="arch" type="xml">
- <tree>
- <field name="sequence" widget="handle"/>
- <field name="field_id"/>
- <field name="value"/>
- <field name="name"/>
- </tree>
- </field>
- </record>
- <record id="view_model_fields_selection_search" model="ir.ui.view">
- <field name="model">ir.model.fields.selection</field>
- <field name="arch" type="xml">
- <search string="Fields">
- <field name="field_id" string="Field"/>
- <field name="name"
- filter_domain="['|', ('name','ilike',self), ('value','ilike',self)]"
- string="Selection" />
- <filter name="group_by_field"
- context="{'group_by':'field_id'}"
- string="Field"/>
- </search>
- </field>
- </record>
- <record id="action_model_fields_selection" model="ir.actions.act_window">
- <field name="name">Fields Selection</field>
- <field name="res_model">ir.model.fields.selection</field>
- <field name="view_id" ref="view_model_fields_selection_tree"/>
- </record>
- <menuitem action="action_model_fields_selection" id="ir_model_model_fields_selection" parent="base.next_id_9"/>
- <!-- ir model data -->
- <record model="ir.ui.view" id="view_model_data_form">
- <field name="model">ir.model.data</field>
- <field name="arch" type="xml">
- <form string="External Identifiers">
- <sheet>
- <h1>
- <field name="complete_name"/>
- </h1>
- <group>
- <group>
- <field name="module"/>
- <field name="name"/>
- <field name="noupdate"/>
- <field name="write_date" />
- <field name="create_date" />
- </group>
- <group>
- <field name="display_name"/>
- <field name="model"/>
- <field name="res_id"/>
- <field name="reference" widget="reference" string="Record"/>
- </group>
- </group>
- </sheet>
- </form>
- </field>
- </record>
- <record id="view_model_data_list" model="ir.ui.view">
- <field name="model">ir.model.data</field>
- <field name="arch" type="xml">
- <tree string="External Identifiers">
- <field name="complete_name"/>
- <field name="display_name"/>
- <field name="model" groups="base.group_no_one"/>
- <field name="module" invisible="1"/>
- <field name="res_id"/>
- </tree>
- </field>
- </record>
- <record id="view_model_data_search" model="ir.ui.view">
- <field name="model">ir.model.data</field>
- <field name="arch" type="xml">
- <search string="External Identifiers">
- <field name="name" filter_domain="[('name','ilike',self)]" string="External Identifier"/>
- <filter string="Updatable" name="updatable" domain="[('noupdate', '=', False)]"/>
- <field name="module"/>
- <field name="model"/>
- <field name="res_id"/>
- <field name="noupdate"/>
- <group expand="0" string="Group By">
- <filter string="Module" name="group_by_module" domain="[]" context="{'group_by':'module'}"/>
- <filter string="Model" name="group_by_object" domain="[]" context="{'group_by':'model'}"/>
- </group>
- </search>
- </field>
- </record>
- <record id="action_model_data" model="ir.actions.act_window">
- <field name="name">External Identifiers</field>
- <field name="res_model">ir.model.data</field>
- <field name="view_id" ref="view_model_data_list"/>
- </record>
- <menuitem id="next_id_5" name="Sequences & Identifiers" parent="base.menu_custom" sequence="21" groups="base.group_no_one"/>
- <menuitem action="action_model_data" id="ir_model_data_menu" parent="base.next_id_5"
- groups="base.group_no_one"/>
- <!-- ir model contraints -->
- <record model="ir.ui.view" id="view_model_constraint_form">
- <field name="model">ir.model.constraint</field>
- <field name="arch" type="xml">
- <form string="Model Constraints">
- <sheet>
- <group col="4">
- <field name="type"/>
- <field name="name"/>
- <field name="module" can_create="false"/>
- <field name="model"/>
- </group>
- <group>
- <field name="message"/>
- </group>
- </sheet>
- </form>
- </field>
- </record>
- <record id="view_model_constraint_list" model="ir.ui.view">
- <field name="model">ir.model.constraint</field>
- <field name="arch" type="xml">
- <tree string="Model Constraints">
- <field name="type"/>
- <field name="name"/>
- <field name="module"/>
- <field name="model"/>
- </tree>
- </field>
- </record>
- <record id="view_model_constraint_search" model="ir.ui.view">
- <field name="model">ir.model.constraint</field>
- <field name="arch" type="xml">
- <search string="Constraints">
- <field name="model"/>
- <field name="name"/>
- <field name="message"/>
- <group expand="1" string="Group By">
- <filter name="module" string="Module" context="{'group_by' : 'module'}"/>
- <filter name="model" string="Model" context="{'group_by': 'model'}"/>
- <filter name="type" string="Constraint type" context="{'group_by' : 'type'}"/>
- </group>
- </search>
- </field>
- </record>
- <record id="action_model_constraint" model="ir.actions.act_window">
- <field name="name">Model Constraints</field>
- <field name="res_model">ir.model.constraint</field>
- <field name="view_id" ref="view_model_constraint_list"/>
- <field name="search_view_id" ref="view_model_constraint_search"/>
- </record>
- <menuitem action="action_model_constraint" id="ir_model_constraint_menu" parent="base.next_id_9"
- groups="base.group_no_one"/>
- <!-- ir model relations -->
- <record model="ir.ui.view" id="view_model_relation_form">
- <field name="model">ir.model.relation</field>
- <field name="arch" type="xml">
- <form string="ManyToMany Relations">
- <sheet>
- <group col="4">
- <field name="name"/>
- <field name="module" can_create="false"/>
- <field name="model"/>
- </group>
- </sheet>
- </form>
- </field>
- </record>
- <record id="view_model_relation_list" model="ir.ui.view">
- <field name="model">ir.model.relation</field>
- <field name="arch" type="xml">
- <tree string="ManyToMany Relations">
- <field name="name"/>
- <field name="module"/>
- <field name="model"/>
- </tree>
- </field>
- </record>
- <record id="action_model_relation" model="ir.actions.act_window">
- <field name="name">ManyToMany Relations</field>
- <field name="res_model">ir.model.relation</field>
- <field name="view_id" ref="view_model_relation_list"/>
- </record>
- <menuitem action="action_model_relation" id="ir_model_relation_menu" parent="base.next_id_9"
- groups="base.group_no_one"/>
- <!-- ir.model.access -->
- <record id="ir_access_view_tree" model="ir.ui.view">
- <field name="name">ir.model.access.view.tree</field>
- <field name="model">ir.model.access</field>
- <field name="arch" type="xml">
- <tree string="Access Rights"
- decoration-warning="not group_id and
- (perm_read or perm_write or
- perm_create or perm_unlink)">
- <field name="name"/>
- <field name="model_id"/>
- <field name="group_id"/>
- <field name="perm_read"/>
- <field name="perm_write"/>
- <field name="perm_create"/>
- <field name="perm_unlink"/>
- </tree>
- </field>
- </record>
- <record id="ir_access_view_tree_edition" model="ir.ui.view">
- <field name="name">ir.model.access.view.tree.edition</field>
- <field name="model">ir.model.access</field>
- <field name="arch" type="xml">
- <tree string="Access Rights" editable="top"
- decoration-warning="not group_id and
- (perm_read or perm_write or
- perm_create or perm_unlink)">
- <field name="name"/>
- <field name="model_id"/>
- <field name="group_id"/>
- <field name="perm_read"/>
- <field name="perm_write"/>
- <field name="perm_create"/>
- <field name="perm_unlink"/>
- </tree>
- </field>
- </record>
- <record id="ir_access_view_form" model="ir.ui.view">
- <field name="model">ir.model.access</field>
- <field name="arch" type="xml">
- <form string="Access Rights">
- <sheet>
- <div class="alert alert-warning text-center" role="alert">
- Please note that modifications will be applied for all users of the specified group
- </div>
- <group col="4">
- <field name="name"/>
- <field name="model_id"/>
- <field name="group_id"/>
- <field name="active" widget='boolean_toggle'/>
- </group>
- <group string="Access" col="4">
- <field name="perm_read"/>
- <field name="perm_write"/>
- <field name="perm_create"/>
- <field name="perm_unlink"/>
- </group>
- </sheet>
- </form>
- </field>
- </record>
- <record id="ir_access_view_search" model="ir.ui.view">
- <field name="model">ir.model.access</field>
- <field name="arch" type="xml">
- <search string="Access Rights">
- <field name="name" string="Access Rights"/>
- <filter string="Global" name="global" domain="[('group_id', '=', False)]"/>
- <separator/>
- <filter string="Full Access" name="full_access" domain="[('perm_read', '=', True), ('perm_write', '=', True), ('perm_create', '=', True), ('perm_unlink', '=', True)]"/>
- <filter string="Read Access" name="read_access" domain="[('perm_read', '=', True)]"/>
- <filter string="Write Access" name="write_access" domain="[('perm_write', '=', True)]"/>
- <separator/>
- <filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
- <field name="model_id"/>
- <field name="group_id"/>
- <group expand="0" string="Group By" colspan="11" col="11" groups="base.group_no_one">
- <filter string="Group" name="group" domain="[]" context="{'group_by': 'group_id'}"/>
- <filter string="Model" name="group_by_object" domain="[]" context="{'group_by': 'model_id'}"/>
- </group>
- </search>
- </field>
- </record>
- <record id="ir_access_act" model="ir.actions.act_window">
- <field name="name">Access Rights</field>
- <field name="res_model">ir.model.access</field>
- <field name="view_id" ref="ir_access_view_tree_edition"/>
- <field name="search_view_id" ref="ir_access_view_search"/>
- </record>
- <menuitem action="ir_access_act" id="menu_ir_access_act" parent="base.menu_security"/>
- </odoo>
|