🎉 Initialize module repository
This commit is contained in:
171
views/menu_views.xml
Normal file
171
views/menu_views.xml
Normal file
@@ -0,0 +1,171 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<menuitem
|
||||
id="mvd_tcg_mtg_root_menu"
|
||||
name="Magic"
|
||||
parent="mvd_tcg_base.mvd_tcg_root_menu"
|
||||
sequence="15"
|
||||
action="mvd_tcg_mtg.mvd_tcg_mtg_card_action"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_user,base.group_system"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="mvd_tcg_mtg_cards_menu"
|
||||
name="Cards"
|
||||
parent="mvd_tcg_mtg.mvd_tcg_mtg_root_menu"
|
||||
sequence="10"
|
||||
action="mvd_tcg_mtg.mvd_tcg_mtg_card_action"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_user,base.group_system"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="mvd_tcg_mtg_sets_menu"
|
||||
name="Sets"
|
||||
parent="mvd_tcg_mtg.mvd_tcg_mtg_root_menu"
|
||||
sequence="30"
|
||||
action="mvd_tcg_mtg.mvd_tcg_mtg_set_action"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_user,base.group_system"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="mvd_tcg_mtg_operations_menu"
|
||||
name="Reference Data"
|
||||
parent="mvd_tcg_mtg.mvd_tcg_mtg_configuration_menu"
|
||||
sequence="10"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="mvd_tcg_mtg_configuration_menu"
|
||||
name="Magic"
|
||||
parent="mvd_tcg_base.mvd_tcg_configuration_menu"
|
||||
sequence="30"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="mvd_tcg_mtg_rarities_menu"
|
||||
name="Rarities"
|
||||
parent="mvd_tcg_mtg.mvd_tcg_mtg_operations_menu"
|
||||
sequence="10"
|
||||
action="mvd_tcg_mtg.mvd_tcg_mtg_rarity_action"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="mvd_tcg_mtg_colors_menu"
|
||||
name="Colors"
|
||||
parent="mvd_tcg_mtg.mvd_tcg_mtg_operations_menu"
|
||||
sequence="20"
|
||||
action="mvd_tcg_mtg.mvd_tcg_mtg_color_action"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="mvd_tcg_mtg_card_types_menu"
|
||||
name="Card Types"
|
||||
parent="mvd_tcg_mtg.mvd_tcg_mtg_operations_menu"
|
||||
sequence="30"
|
||||
action="mvd_tcg_mtg.mvd_tcg_mtg_card_type_action"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="mvd_tcg_mtg_keywords_menu"
|
||||
name="Keywords"
|
||||
parent="mvd_tcg_mtg.mvd_tcg_mtg_operations_menu"
|
||||
sequence="40"
|
||||
action="mvd_tcg_mtg.mvd_tcg_mtg_keyword_action"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="mvd_tcg_mtg_formats_menu"
|
||||
name="Formats"
|
||||
parent="mvd_tcg_mtg.mvd_tcg_mtg_operations_menu"
|
||||
sequence="50"
|
||||
action="mvd_tcg_mtg.mvd_tcg_mtg_format_action"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="mvd_tcg_mtg_finishes_menu"
|
||||
name="Finishes"
|
||||
parent="mvd_tcg_mtg.mvd_tcg_mtg_operations_menu"
|
||||
sequence="60"
|
||||
action="mvd_tcg_mtg.mvd_tcg_mtg_finish_action"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="mvd_tcg_mtg_platforms_menu"
|
||||
name="Platforms"
|
||||
parent="mvd_tcg_mtg.mvd_tcg_mtg_operations_menu"
|
||||
sequence="70"
|
||||
action="mvd_tcg_mtg.mvd_tcg_mtg_platform_action"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
/>
|
||||
|
||||
<record id="mvd_tcg_mtg_operations_menu" model="ir.ui.menu">
|
||||
<field
|
||||
name="group_ids"
|
||||
eval="[(6, 0, [ref('mvd_tcg_base.mvd_tcg_base_group_manager'), ref('base.group_system')])]"
|
||||
/>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_configuration_menu" model="ir.ui.menu">
|
||||
<field
|
||||
name="group_ids"
|
||||
eval="[(6, 0, [ref('mvd_tcg_base.mvd_tcg_base_group_manager'), ref('base.group_system')])]"
|
||||
/>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_rarities_menu" model="ir.ui.menu">
|
||||
<field
|
||||
name="group_ids"
|
||||
eval="[(6, 0, [ref('mvd_tcg_base.mvd_tcg_base_group_manager'), ref('base.group_system')])]"
|
||||
/>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_colors_menu" model="ir.ui.menu">
|
||||
<field
|
||||
name="group_ids"
|
||||
eval="[(6, 0, [ref('mvd_tcg_base.mvd_tcg_base_group_manager'), ref('base.group_system')])]"
|
||||
/>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_card_types_menu" model="ir.ui.menu">
|
||||
<field
|
||||
name="group_ids"
|
||||
eval="[(6, 0, [ref('mvd_tcg_base.mvd_tcg_base_group_manager'), ref('base.group_system')])]"
|
||||
/>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_keywords_menu" model="ir.ui.menu">
|
||||
<field
|
||||
name="group_ids"
|
||||
eval="[(6, 0, [ref('mvd_tcg_base.mvd_tcg_base_group_manager'), ref('base.group_system')])]"
|
||||
/>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_formats_menu" model="ir.ui.menu">
|
||||
<field
|
||||
name="group_ids"
|
||||
eval="[(6, 0, [ref('mvd_tcg_base.mvd_tcg_base_group_manager'), ref('base.group_system')])]"
|
||||
/>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_finishes_menu" model="ir.ui.menu">
|
||||
<field
|
||||
name="group_ids"
|
||||
eval="[(6, 0, [ref('mvd_tcg_base.mvd_tcg_base_group_manager'), ref('base.group_system')])]"
|
||||
/>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_platforms_menu" model="ir.ui.menu">
|
||||
<field
|
||||
name="group_ids"
|
||||
eval="[(6, 0, [ref('mvd_tcg_base.mvd_tcg_base_group_manager'), ref('base.group_system')])]"
|
||||
/>
|
||||
</record>
|
||||
</odoo>
|
||||
392
views/mvd_tcg_mtg_card_views.xml
Normal file
392
views/mvd_tcg_mtg_card_views.xml
Normal file
@@ -0,0 +1,392 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="mvd_tcg_mtg_card_view_search" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.card.view.search</field>
|
||||
<field name="model">mvd.tcg.card</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Magic Cards">
|
||||
<field
|
||||
name="name"
|
||||
string="Card"
|
||||
filter_domain="['|', ('name', 'ilike', self), ('mtg_collector_number', 'ilike', self)]"
|
||||
/>
|
||||
<field
|
||||
name="external_ref"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
/>
|
||||
<field
|
||||
name="mtg_oracle_id"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
/>
|
||||
<field name="mtg_set_id"/>
|
||||
<field name="mtg_rarity_id"/>
|
||||
<field name="mtg_card_type_ids"/>
|
||||
<field name="mtg_color_ids"/>
|
||||
<field name="mtg_color_identity_ids"/>
|
||||
<field name="mtg_keyword_ids"/>
|
||||
<field name="mtg_finish_ids"/>
|
||||
<field name="mtg_game_platform_ids"/>
|
||||
<field name="mtg_artist"/>
|
||||
<field name="mtg_layout"/>
|
||||
<field name="mtg_type_line"/>
|
||||
<field
|
||||
name="mtg_color_signature"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
/>
|
||||
<field name="state"/>
|
||||
<separator/>
|
||||
<filter name="draft" string="Draft" domain="[('state', '=', 'draft')]"/>
|
||||
<filter name="validated" string="Validated" domain="[('state', '=', 'validated')]"/>
|
||||
<filter name="tokens" string="Tokens" domain="[('mtg_is_token', '=', True)]"/>
|
||||
<filter name="multi_faced" string="Multi-Faced" domain="[('mtg_face_count', '>', 0)]"/>
|
||||
<filter name="reprints" string="Reprints" domain="[('mtg_is_reprint', '=', True)]"/>
|
||||
<filter name="promos" string="Promos" domain="[('mtg_is_promo', '=', True)]"/>
|
||||
<filter name="digital" string="Digital" domain="[('mtg_is_digital', '=', True)]"/>
|
||||
<filter name="legendary" string="Legendary" domain="[('mtg_type_line', 'ilike', 'Legendary')]"/>
|
||||
<filter name="with_flavor_text" string="With Flavor Text" domain="[('mtg_flavor_text', '!=', False)]"/>
|
||||
<filter name="inactive" string="Archived" domain="[('active', '=', False)]"/>
|
||||
<group>
|
||||
<filter name="group_by_set" string="Set" context="{'group_by': 'mtg_set_id'}"/>
|
||||
<filter name="group_by_rarity" string="Rarity" context="{'group_by': 'mtg_rarity_id'}"/>
|
||||
<filter name="group_by_layout" string="Layout" context="{'group_by': 'mtg_layout'}"/>
|
||||
<filter name="group_by_state" string="State" context="{'group_by': 'state'}"/>
|
||||
</group>
|
||||
<searchpanel>
|
||||
<field name="mtg_color_ids" select="multi"/>
|
||||
<field name="mtg_rarity_id"/>
|
||||
<field name="mtg_card_type_ids" select="multi"/>
|
||||
</searchpanel>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_card_view_list" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.card.view.list</field>
|
||||
<field name="model">mvd.tcg.card</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Magic Cards" sample="1" default_order="mtg_collector_sort_key, mtg_set_code, name, id">
|
||||
<field name="name"/>
|
||||
<field name="mtg_set_id" optional="show"/>
|
||||
<field name="mtg_rarity_id" optional="show"/>
|
||||
<field name="mtg_collector_number" optional="show"/>
|
||||
<field name="mtg_mana_cost" widget="mtg_symbols" optional="show"/>
|
||||
<field name="mtg_mana_value" optional="hide"/>
|
||||
<field name="mtg_layout" optional="show"/>
|
||||
<field name="mtg_type_line" optional="show"/>
|
||||
<field name="mtg_keyword_ids" widget="many2many_tags" optional="hide"/>
|
||||
<field name="mtg_artist" optional="hide"/>
|
||||
<field name="state" widget="badge" optional="show"/>
|
||||
<field name="active" column_invisible="True"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_card_view_kanban" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.card.view.kanban</field>
|
||||
<field name="model">mvd.tcg.card</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban sample="1" default_order="mtg_collector_sort_key, mtg_set_code, name, id">
|
||||
<field name="name"/>
|
||||
<field name="image_512"/>
|
||||
<templates>
|
||||
<t t-name="card">
|
||||
<div class="d-flex justify-content-center align-items-start p-1">
|
||||
<field
|
||||
name="image_512"
|
||||
widget="image"
|
||||
alt="Magic Card"
|
||||
options="{'img_class': 'w-100 object-fit-contain', 'preview_image': 'image_512'}"
|
||||
class="w-100"
|
||||
invisible="not image_512"
|
||||
/>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_card_view_form" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.card.view.form</field>
|
||||
<field name="model">mvd.tcg.card</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Magic Card">
|
||||
<header>
|
||||
<button
|
||||
name="action_validate"
|
||||
string="Validate"
|
||||
type="object"
|
||||
class="btn-primary"
|
||||
invisible="state != 'draft'"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
/>
|
||||
<button
|
||||
name="action_reset_to_draft"
|
||||
string="Reset to Draft"
|
||||
type="object"
|
||||
invisible="state != 'validated'"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,validated"/>
|
||||
</header>
|
||||
<sheet name="mtg_card_form" readonly="state == 'validated'">
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button
|
||||
name="action_open_mtg_set"
|
||||
type="object"
|
||||
class="oe_stat_button"
|
||||
icon="fa-folder-open"
|
||||
invisible="not mtg_set_id"
|
||||
>
|
||||
<div class="o_stat_info">
|
||||
<span class="o_stat_text">Set</span>
|
||||
<span class="o_stat_value text-uppercase">
|
||||
<field name="mtg_set_code"/>
|
||||
</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<widget name="web_ribbon" title="Token" bg_color="text-bg-warning" invisible="not mtg_is_token"/>
|
||||
<widget
|
||||
name="web_ribbon"
|
||||
title="Promo"
|
||||
bg_color="text-bg-info"
|
||||
invisible="not mtg_is_promo"
|
||||
/>
|
||||
<field name="id" invisible="1"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="game_id" invisible="1"/>
|
||||
<field name="is_mtg_game" invisible="1"/>
|
||||
<field
|
||||
name="image_1920"
|
||||
widget="image"
|
||||
class="oe_avatar"
|
||||
options="{'convert_to_webp': True, 'preview_image': 'image_512', 'zoom': true, 'zoom_delay': 0, 'size': [0, 260]}"
|
||||
readonly="state == 'validated'"
|
||||
/>
|
||||
<div class="oe_title">
|
||||
<label for="name" string="Card"/>
|
||||
<h1>
|
||||
<field
|
||||
class="text-break"
|
||||
name="name"
|
||||
widget="text"
|
||||
options="{'line_breaks': False}"
|
||||
placeholder="e.g. Black Lotus"
|
||||
readonly="state == 'validated'"
|
||||
/>
|
||||
</h1>
|
||||
<div class="text-muted fs-6">
|
||||
<field name="mtg_set_id" readonly="state == 'validated'"/>
|
||||
<span class="mx-1">#</span>
|
||||
<field name="mtg_collector_number" class="oe_inline" readonly="state == 'validated'"/>
|
||||
</div>
|
||||
<div class="mt-2 d-flex flex-wrap gap-1">
|
||||
<field name="mtg_rarity_id" widget="badge" invisible="not mtg_rarity_id"/>
|
||||
<field name="mtg_layout" widget="badge" invisible="not mtg_layout"/>
|
||||
<field name="mtg_set_type" widget="badge" invisible="not mtg_set_type"/>
|
||||
</div>
|
||||
</div>
|
||||
<notebook>
|
||||
<page string="General Information" name="general_information">
|
||||
<group readonly="state == 'validated'">
|
||||
<group name="identity">
|
||||
<field name="mtg_set_id"/>
|
||||
<field name="mtg_set_released_on"/>
|
||||
<field name="mtg_rarity_id"/>
|
||||
<field name="mtg_collector_number"/>
|
||||
<field name="mtg_artist"/>
|
||||
</group>
|
||||
<group name="classification">
|
||||
<field name="mtg_layout"/>
|
||||
<field name="mtg_mana_value"/>
|
||||
<field name="mtg_color_ids" widget="many2many_tags"/>
|
||||
<field name="mtg_color_identity_ids" widget="many2many_tags"/>
|
||||
<field name="mtg_card_type_ids" widget="many2many_tags"/>
|
||||
<field name="mtg_keyword_ids" widget="many2many_tags"/>
|
||||
<field name="mtg_game_platform_ids" widget="many2many_tags"/>
|
||||
<field name="mtg_finish_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Gameplay" name="gameplay">
|
||||
<group readonly="state == 'validated'">
|
||||
<group name="rules_identity">
|
||||
<field name="mtg_mana_cost" widget="mtg_symbols"/>
|
||||
<field name="mtg_mana_value"/>
|
||||
<field name="mtg_type_line" widget="text" options="{'line_breaks': False}"/>
|
||||
<field name="mtg_power"/>
|
||||
<field name="mtg_toughness"/>
|
||||
<field name="mtg_loyalty"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="1" name="oracle_group" readonly="state == 'validated'">
|
||||
<separator string="Oracle Text"/>
|
||||
<field
|
||||
name="mtg_oracle_text"
|
||||
widget="mtg_symbols"
|
||||
placeholder="Add oracle text for this MTG card."
|
||||
nolabel="1"
|
||||
/>
|
||||
</group>
|
||||
<group col="1" name="flavor_group" invisible="not mtg_flavor_text" readonly="state == 'validated'">
|
||||
<separator string="Flavor Text"/>
|
||||
<field
|
||||
name="mtg_flavor_text"
|
||||
widget="text"
|
||||
placeholder="No flavor text is currently stored."
|
||||
nolabel="1"
|
||||
/>
|
||||
</group>
|
||||
<group string="Neutral Description" name="description_group" readonly="state == 'validated'">
|
||||
<field
|
||||
name="description"
|
||||
widget="html"
|
||||
placeholder="Add a neutral shared description."
|
||||
nolabel="1"
|
||||
/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Faces" name="faces" invisible="mtg_face_count == 0">
|
||||
<field name="mtg_face_ids" nolabel="1" readonly="state == 'validated'">
|
||||
<list string="Faces" default_order="sequence, id">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="mana_cost" widget="mtg_symbols" optional="show"/>
|
||||
<field name="type_line" optional="show"/>
|
||||
<field name="power" optional="hide"/>
|
||||
<field name="toughness" optional="hide"/>
|
||||
<field name="loyalty" optional="hide"/>
|
||||
</list>
|
||||
<form string="Face">
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
<field name="name"/>
|
||||
<field name="mana_cost" widget="mtg_symbols"/>
|
||||
<field name="type_line"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="power"/>
|
||||
<field name="toughness"/>
|
||||
<field name="loyalty"/>
|
||||
<field name="artist"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="1">
|
||||
<separator string="Oracle Text"/>
|
||||
<field name="oracle_text" widget="mtg_symbols" nolabel="1"/>
|
||||
</group>
|
||||
<group col="1" invisible="not flavor_text">
|
||||
<separator string="Flavor Text"/>
|
||||
<field name="flavor_text" widget="text" nolabel="1"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Legalities" name="legalities">
|
||||
<field name="mtg_legality_ids" nolabel="1" readonly="1">
|
||||
<list string="Legalities" default_order="format_sequence, id" create="0" delete="0">
|
||||
<field name="format_id"/>
|
||||
<field name="status" widget="badge"/>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
<page
|
||||
string="Technical"
|
||||
name="reference_information"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
>
|
||||
<group readonly="state == 'validated'">
|
||||
<group name="reference_identity">
|
||||
<field name="external_ref"/>
|
||||
<field name="mtg_oracle_id"/>
|
||||
<field name="mtg_set_code"/>
|
||||
<field name="mtg_set_type"/>
|
||||
<field name="mtg_color_signature" invisible="not mtg_color_signature"/>
|
||||
<field
|
||||
name="mtg_color_identity_signature"
|
||||
invisible="not mtg_color_identity_signature"
|
||||
/>
|
||||
</group>
|
||||
<group name="reference_meta">
|
||||
<field name="sequence"/>
|
||||
<field name="mtg_face_count" readonly="1"/>
|
||||
<field name="mtg_is_token"/>
|
||||
<field name="mtg_is_reprint"/>
|
||||
<field name="mtg_is_promo"/>
|
||||
<field name="mtg_is_digital"/>
|
||||
<field name="mtg_is_full_art"/>
|
||||
<field name="mtg_is_textless"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page
|
||||
string="Internal Notes"
|
||||
name="internal_notes"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
>
|
||||
<field
|
||||
name="note"
|
||||
placeholder="Add internal MTG card notes."
|
||||
readonly="state == 'validated'"
|
||||
/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_card_action" model="ir.actions.act_window">
|
||||
<field name="name">Magic Cards</field>
|
||||
<field name="res_model">mvd.tcg.card</field>
|
||||
<field name="view_mode">kanban,list,form</field>
|
||||
<field name="view_id" ref="mvd_tcg_mtg.mvd_tcg_mtg_card_view_kanban"/>
|
||||
<field name="search_view_id" ref="mvd_tcg_mtg.mvd_tcg_mtg_card_view_search"/>
|
||||
<field
|
||||
name="domain"
|
||||
eval="[('game_id', '=', ref('mvd_tcg_mtg.mvd_tcg_game_mtg'))]"
|
||||
/>
|
||||
<field
|
||||
name="context"
|
||||
eval="{'default_game_id': ref('mvd_tcg_mtg.mvd_tcg_game_mtg'), 'mvd_mtg_exact_color_filter': True}"
|
||||
/>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create a new Magic card reference
|
||||
</p>
|
||||
<p>
|
||||
The MTG adapter enriches the neutral card model with set,
|
||||
collector and oracle metadata while keeping the suite-wide card
|
||||
identity on <code>mvd.tcg.card</code>.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_card_action_view_kanban" model="ir.actions.act_window.view">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view_mode">kanban</field>
|
||||
<field name="view_id" ref="mvd_tcg_mtg.mvd_tcg_mtg_card_view_kanban"/>
|
||||
<field name="act_window_id" ref="mvd_tcg_mtg.mvd_tcg_mtg_card_action"/>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_card_action_view_list" model="ir.actions.act_window.view">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view_mode">list</field>
|
||||
<field name="view_id" ref="mvd_tcg_mtg.mvd_tcg_mtg_card_view_list"/>
|
||||
<field name="act_window_id" ref="mvd_tcg_mtg.mvd_tcg_mtg_card_action"/>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_card_action_view_form" model="ir.actions.act_window.view">
|
||||
<field name="sequence" eval="3"/>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="mvd_tcg_mtg.mvd_tcg_mtg_card_view_form"/>
|
||||
<field name="act_window_id" ref="mvd_tcg_mtg.mvd_tcg_mtg_card_action"/>
|
||||
</record>
|
||||
</odoo>
|
||||
176
views/mvd_tcg_mtg_set_views.xml
Normal file
176
views/mvd_tcg_mtg_set_views.xml
Normal file
@@ -0,0 +1,176 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="mvd_tcg_mtg_set_view_search" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.set.view.search</field>
|
||||
<field name="model">mvd.tcg.mtg.set</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Magic Sets">
|
||||
<field
|
||||
name="name"
|
||||
string="Set"
|
||||
filter_domain="['|', ('name', 'ilike', self), ('code', 'ilike', self)]"
|
||||
/>
|
||||
<field name="set_type"/>
|
||||
<field name="released_on"/>
|
||||
<separator/>
|
||||
<filter name="inactive" string="Archived" domain="[('active', '=', False)]"/>
|
||||
<group>
|
||||
<filter name="group_by_set_type" string="Set Type" context="{'group_by': 'set_type'}"/>
|
||||
<filter name="group_by_release" string="Release Date" context="{'group_by': 'released_on'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_set_view_list" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.set.view.list</field>
|
||||
<field name="model">mvd.tcg.mtg.set</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Magic Sets" sample="1" multi_edit="1" default_order="released_on desc, code, id">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="set_type" optional="show"/>
|
||||
<field name="released_on" optional="show"/>
|
||||
<field name="official_card_count" optional="show"/>
|
||||
<field name="mtg_card_count" optional="show"/>
|
||||
<field name="active" column_invisible="True"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_set_view_kanban" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.set.view.kanban</field>
|
||||
<field name="model">mvd.tcg.mtg.set</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban sample="1">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="set_type"/>
|
||||
<field name="released_on"/>
|
||||
<field name="mtg_card_count"/>
|
||||
<templates>
|
||||
<t t-name="card">
|
||||
<main>
|
||||
<div class="mb-1">
|
||||
<div class="mb-0 h5">
|
||||
<field name="name"/>
|
||||
</div>
|
||||
<div class="text-muted">
|
||||
[<field name="code"/>]
|
||||
</div>
|
||||
</div>
|
||||
<div t-if="record.set_type.value" class="text-muted">
|
||||
<field name="set_type"/>
|
||||
</div>
|
||||
<div t-if="record.released_on.value">
|
||||
<field name="released_on"/>
|
||||
</div>
|
||||
<span>
|
||||
<field name="mtg_card_count"/> Loaded Cards
|
||||
</span>
|
||||
</main>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_set_view_form" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.set.view.form</field>
|
||||
<field name="model">mvd.tcg.mtg.set</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Magic Set">
|
||||
<sheet name="mtg_set_form">
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button
|
||||
name="action_open_cards"
|
||||
type="object"
|
||||
string="Cards"
|
||||
class="oe_stat_button"
|
||||
icon="fa-clone"
|
||||
>
|
||||
<field name="mtg_card_count" widget="statinfo"/>
|
||||
</button>
|
||||
</div>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="game_id" invisible="1"/>
|
||||
<div class="oe_title">
|
||||
<label for="name" string="Set"/>
|
||||
<h1>
|
||||
<field
|
||||
class="text-break"
|
||||
name="name"
|
||||
widget="text"
|
||||
options="{'line_breaks': False}"
|
||||
placeholder="e.g. Tarkir: Dragonstorm"
|
||||
/>
|
||||
</h1>
|
||||
<div class="text-muted fs-6">
|
||||
[<field name="code"/>]
|
||||
</div>
|
||||
</div>
|
||||
<notebook>
|
||||
<page string="General Information" name="general_information">
|
||||
<group>
|
||||
<group name="identity">
|
||||
<field name="code"/>
|
||||
<field name="set_type"/>
|
||||
<field name="released_on"/>
|
||||
</group>
|
||||
<group name="counts">
|
||||
<field name="official_card_count"/>
|
||||
<field name="mtg_card_count" readonly="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<group
|
||||
string="Internal Notes"
|
||||
name="notes"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_manager,base.group_system"
|
||||
>
|
||||
<field
|
||||
name="note"
|
||||
placeholder="Add MTG-set-specific internal notes."
|
||||
nolabel="1"
|
||||
/>
|
||||
</group>
|
||||
</page>
|
||||
<page
|
||||
string="Technical"
|
||||
name="technical_information"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
>
|
||||
<group>
|
||||
<group>
|
||||
<field name="icon_svg_uri"/>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_set_action" model="ir.actions.act_window">
|
||||
<field name="name">Magic Sets</field>
|
||||
<field name="res_model">mvd.tcg.mtg.set</field>
|
||||
<field name="view_mode">kanban,list,form</field>
|
||||
<field name="view_id" ref="mvd_tcg_mtg.mvd_tcg_mtg_set_view_kanban"/>
|
||||
<field name="search_view_id" ref="mvd_tcg_mtg.mvd_tcg_mtg_set_view_search"/>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create a new Magic set
|
||||
</p>
|
||||
<p>
|
||||
MTG sets define the release-specific reference layer used by cards
|
||||
and later Scryfall-based import logic.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
394
views/mvd_tcg_mtg_taxonomy_views.xml
Normal file
394
views/mvd_tcg_mtg_taxonomy_views.xml
Normal file
@@ -0,0 +1,394 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record id="mvd_tcg_mtg_rarity_view_list" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.rarity.view.list</field>
|
||||
<field name="model">mvd.tcg.mtg.rarity</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Rarities" sample="1" multi_edit="1" default_order="sequence, name, id">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field
|
||||
name="code"
|
||||
optional="show"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
/>
|
||||
<field name="active" column_invisible="True"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_rarity_view_form" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.rarity.view.form</field>
|
||||
<field name="model">mvd.tcg.mtg.rarity</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Rarity">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<div class="oe_title">
|
||||
<label for="name" string="Rarity"/>
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page
|
||||
string="Technical"
|
||||
name="technical_information"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_rarity_action" model="ir.actions.act_window">
|
||||
<field name="name">Rarities</field>
|
||||
<field name="res_model">mvd.tcg.mtg.rarity</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_color_view_list" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.color.view.list</field>
|
||||
<field name="model">mvd.tcg.mtg.color</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Colors" sample="1" multi_edit="1" default_order="sequence, name, id">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field
|
||||
name="code"
|
||||
optional="show"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
/>
|
||||
<field name="active" column_invisible="True"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_color_view_form" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.color.view.form</field>
|
||||
<field name="model">mvd.tcg.mtg.color</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Color">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<div class="oe_title">
|
||||
<label for="name" string="Color"/>
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page
|
||||
string="Technical"
|
||||
name="technical_information"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_color_action" model="ir.actions.act_window">
|
||||
<field name="name">Colors</field>
|
||||
<field name="res_model">mvd.tcg.mtg.color</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_card_type_view_list" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.card.type.view.list</field>
|
||||
<field name="model">mvd.tcg.mtg.card.type</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Card Types" sample="1" multi_edit="1" default_order="sequence, name, id">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field
|
||||
name="code"
|
||||
optional="show"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
/>
|
||||
<field name="active" column_invisible="True"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_card_type_view_form" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.card.type.view.form</field>
|
||||
<field name="model">mvd.tcg.mtg.card.type</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Card Type">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<div class="oe_title">
|
||||
<label for="name" string="Card Type"/>
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page
|
||||
string="Technical"
|
||||
name="technical_information"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_card_type_action" model="ir.actions.act_window">
|
||||
<field name="name">Card Types</field>
|
||||
<field name="res_model">mvd.tcg.mtg.card.type</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_keyword_view_list" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.keyword.view.list</field>
|
||||
<field name="model">mvd.tcg.mtg.keyword</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Keywords" sample="1" multi_edit="1" default_order="sequence, name, id">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field
|
||||
name="code"
|
||||
optional="show"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
/>
|
||||
<field name="active" column_invisible="True"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_keyword_view_form" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.keyword.view.form</field>
|
||||
<field name="model">mvd.tcg.mtg.keyword</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Keyword">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<div class="oe_title">
|
||||
<label for="name" string="Keyword"/>
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page
|
||||
string="Technical"
|
||||
name="technical_information"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_keyword_action" model="ir.actions.act_window">
|
||||
<field name="name">Keywords</field>
|
||||
<field name="res_model">mvd.tcg.mtg.keyword</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_format_view_list" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.format.view.list</field>
|
||||
<field name="model">mvd.tcg.mtg.format</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Formats" sample="1" multi_edit="1" default_order="sequence, name, id">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field
|
||||
name="code"
|
||||
optional="show"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
/>
|
||||
<field name="active" column_invisible="True"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_format_view_form" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.format.view.form</field>
|
||||
<field name="model">mvd.tcg.mtg.format</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Format">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<div class="oe_title">
|
||||
<label for="name" string="Format"/>
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page
|
||||
string="Technical"
|
||||
name="technical_information"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_format_action" model="ir.actions.act_window">
|
||||
<field name="name">Formats</field>
|
||||
<field name="res_model">mvd.tcg.mtg.format</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_finish_view_list" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.finish.view.list</field>
|
||||
<field name="model">mvd.tcg.mtg.finish</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Finishes" sample="1" multi_edit="1" default_order="sequence, name, id">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field
|
||||
name="code"
|
||||
optional="show"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
/>
|
||||
<field name="active" column_invisible="True"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_finish_view_form" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.finish.view.form</field>
|
||||
<field name="model">mvd.tcg.mtg.finish</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Finish">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<div class="oe_title">
|
||||
<label for="name" string="Finish"/>
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page
|
||||
string="Technical"
|
||||
name="technical_information"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_finish_action" model="ir.actions.act_window">
|
||||
<field name="name">Finishes</field>
|
||||
<field name="res_model">mvd.tcg.mtg.finish</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_platform_view_list" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.platform.view.list</field>
|
||||
<field name="model">mvd.tcg.mtg.platform</field>
|
||||
<field name="arch" type="xml">
|
||||
<list string="Game Platforms" sample="1" multi_edit="1" default_order="sequence, name, id">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field
|
||||
name="code"
|
||||
optional="show"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
/>
|
||||
<field name="active" column_invisible="True"/>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_platform_view_form" model="ir.ui.view">
|
||||
<field name="name">mvd.tcg.mtg.platform.view.form</field>
|
||||
<field name="model">mvd.tcg.mtg.platform</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Game Platform">
|
||||
<sheet>
|
||||
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<div class="oe_title">
|
||||
<label for="name" string="Game Platform"/>
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page
|
||||
string="Technical"
|
||||
name="technical_information"
|
||||
groups="mvd_tcg_base.mvd_tcg_base_group_administrator,base.group_system"
|
||||
>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="mvd_tcg_mtg_platform_action" model="ir.actions.act_window">
|
||||
<field name="name">Platforms</field>
|
||||
<field name="res_model">mvd.tcg.mtg.platform</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user