mirror of
https://github.com/odoo/runbot.git
synced 2025-03-21 10:25:44 +07:00

Stagings have a "statuses" field which was shown but useless (as it's a binary), they also have a "heads" field which only provides a mapping of repository names to commits. This change provides the staging heads as a commits m2m. Fixes #178
269 lines
11 KiB
XML
269 lines
11 KiB
XML
<odoo>
|
|
<record id="runbot_merge_form_project" model="ir.ui.view">
|
|
<field name="name">Project Form</field>
|
|
<field name="model">runbot_merge.project</field>
|
|
<field name="arch" type="xml">
|
|
<form>
|
|
<sheet>
|
|
<!--
|
|
<div class="oe_button_box" name="button_box">
|
|
<button class="oe_stat_button" name="action_see_attachments" type="object" icon="fa-book" attrs="{'invisible': ['|', ('state', '=', 'confirmed'), ('type', '=', 'routing')]}">
|
|
<field string="Attachments" name="mrp_document_count" widget="statinfo"/>
|
|
</button>
|
|
</div>
|
|
-->
|
|
<div class="oe_title">
|
|
<h1><field name="name" placeholder="Name"/></h1>
|
|
</div>
|
|
<group>
|
|
<group>
|
|
<field name="github_prefix" string="bot name"/>
|
|
</group>
|
|
<group>
|
|
<field name="required_statuses"/>
|
|
</group>
|
|
</group>
|
|
<group>
|
|
<group>
|
|
<field name="github_token"/>
|
|
<field name="secret"/>
|
|
</group>
|
|
<group>
|
|
<field name="ci_timeout"/>
|
|
<field name="batch_limit"/>
|
|
</group>
|
|
</group>
|
|
|
|
<separator string="Repositories"/>
|
|
<field name="repo_ids">
|
|
<tree editable="bottom">
|
|
<field name="name"/>
|
|
</tree>
|
|
</field>
|
|
<separator string="Branches"/>
|
|
<field name="branch_ids">
|
|
<tree editable="bottom" decoration-muted="not active">
|
|
<field name="sequence" widget="handle" />
|
|
<field name="name"/>
|
|
<field name="active"/>
|
|
</tree>
|
|
</field>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="runbot_merge_action_projects" model="ir.actions.act_window">
|
|
<field name="name">Projects</field>
|
|
<field name="res_model">runbot_merge.project</field>
|
|
<field name="view_mode">tree,form</field>
|
|
</record>
|
|
|
|
<record id="runbot_merge_action_prs" model="ir.actions.act_window">
|
|
<field name="name">Pull Requests</field>
|
|
<field name="res_model">runbot_merge.pull_requests</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="context">{'search_default_open': True}</field>
|
|
</record>
|
|
<record id="runbot_merge_search_prs" model="ir.ui.view">
|
|
<field name="name">PR search</field>
|
|
<field name="model">runbot_merge.pull_requests</field>
|
|
<field name="arch" type="xml">
|
|
<search>
|
|
<filter
|
|
name="open" string="Open"
|
|
domain="[('state', 'not in', ['merged', 'closed'])]"
|
|
/>
|
|
<field name="number"/>
|
|
<field name="author"/>
|
|
<field name="label"/>
|
|
<field name="target"/>
|
|
<field name="repository"/>
|
|
<field name="state"/>
|
|
|
|
<group>
|
|
<filter string="Target" name="target_" context="{'group_by':'target'}"/>
|
|
<filter string="Repository" name="repo_" context="{'group_by':'repository'}"/>
|
|
<filter string="State" name="state_" context="{'group_by':'state'}"/>
|
|
<filter string="Priority" name="priority_" context="{'group_by':'priority'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
<record id="runbot_merge_tree_prs" model="ir.ui.view">
|
|
<field name="name">PR tree</field>
|
|
<field name="model">runbot_merge.pull_requests</field>
|
|
<field name="arch" type="xml">
|
|
<tree>
|
|
<field name="repository"/>
|
|
<field name="number"/>
|
|
<field name="target"/>
|
|
<field name="state"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
<record id="runbot_merge_form_prs" model="ir.ui.view">
|
|
<field name="name">PR form</field>
|
|
<field name="model">runbot_merge.pull_requests</field>
|
|
<field name="arch" type="xml">
|
|
<form>
|
|
<header/>
|
|
<sheet>
|
|
<div class="oe_title">
|
|
<h1>
|
|
<field name="repository"/>#<field name="number"/>
|
|
</h1>
|
|
</div>
|
|
<group>
|
|
<group>
|
|
<field name="target"/>
|
|
<field name="state"/>
|
|
<field name="author"/>
|
|
<field name="priority"/>
|
|
</group>
|
|
<group>
|
|
<field name="label"/>
|
|
<field name="squash"/>
|
|
</group>
|
|
</group>
|
|
<group>
|
|
<group colspan="4">
|
|
<field name="head"/>
|
|
<field name="statuses"/>
|
|
</group>
|
|
</group>
|
|
<group>
|
|
<group colspan="4" string="Message">
|
|
<field name="message" nolabel="1"/>
|
|
</group>
|
|
</group>
|
|
<group>
|
|
<group colspan="4" string="Delegates">
|
|
<field name="delegates" nolabel="1">
|
|
<tree>
|
|
<field name="name"/>
|
|
<field name="github_login"/>
|
|
</tree>
|
|
</field>
|
|
</group>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="runbot_merge_action_stagings" model="ir.actions.act_window">
|
|
<field name="name">Stagings</field>
|
|
<field name="res_model">runbot_merge.stagings</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="context">{'search_default_active': True, 'active_test': False}</field>
|
|
</record>
|
|
<record id="runbot_merge_search_stagings" model="ir.ui.view">
|
|
<field name="name">Stagings Search</field>
|
|
<field name="model">runbot_merge.stagings</field>
|
|
<field name="arch" type="xml">
|
|
<search>
|
|
<filter string="Active" name="active"
|
|
domain="[('active', '=', True)]"/>
|
|
<field name="state"/>
|
|
<field name="target"/>
|
|
|
|
<group>
|
|
<filter string="Target" name="target_" context="{'group_by': 'target'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
<record id="runbot_merge_tree_stagings" model="ir.ui.view">
|
|
<field name="name">Stagings Tree</field>
|
|
<field name="model">runbot_merge.stagings</field>
|
|
<field name="arch" type="xml">
|
|
<tree>
|
|
<field name="target"/>
|
|
<field name="state"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
<record id="runbot_merge_form_stagings" model="ir.ui.view">
|
|
<field name="name">Stagings Form</field>
|
|
<field name="model">runbot_merge.stagings</field>
|
|
<field name="arch" type="xml">
|
|
<form>
|
|
<header>
|
|
<button type="object" name="cancel" string="Cancel" class="oe_highlight"/>
|
|
</header>
|
|
<sheet>
|
|
<group>
|
|
<group>
|
|
<field name="target"/>
|
|
<field name="state"/>
|
|
<field name="reason"/>
|
|
</group>
|
|
<group>
|
|
<field name="staged_at"/>
|
|
</group>
|
|
</group>
|
|
<group string="Heads">
|
|
<field name="head_ids" colspan="4" nolabel="1">
|
|
<tree>
|
|
<field name="sha"/>
|
|
<field name="statuses"/>
|
|
</tree>
|
|
</field>
|
|
</group>
|
|
<group string="Batches">
|
|
<field name="batch_ids" colspan="4" nolabel="1">
|
|
<tree>
|
|
<field name="prs"/>
|
|
</tree>
|
|
</field>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="runbot_merge_action_fetches" model="ir.actions.act_window">
|
|
<field name="name">PRs to fetch</field>
|
|
<field name="res_model">runbot_merge.fetch_job</field>
|
|
<field name="view_mode">tree</field>
|
|
<field name="context">{'default_active': True}</field>
|
|
</record>
|
|
<record id="runbot_merge_search_fetches" model="ir.ui.view">
|
|
<field name="name">Fetches Search</field>
|
|
<field name="model">runbot_merge.fetch_job</field>
|
|
<field name="arch" type="xml">
|
|
<search>
|
|
<filter string="Active" name="active"
|
|
domain="[('active', '=', True)]"/>
|
|
<field name="repository"/>
|
|
<field name="number"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
<record id="runbot_merge_tree_fetches" model="ir.ui.view">
|
|
<field name="name">Fetches Tree</field>
|
|
<field name="model">runbot_merge.fetch_job</field>
|
|
<field name="arch" type="xml">
|
|
<tree>
|
|
<field name="repository"/>
|
|
<field name="number"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem name="Mergebot" id="runbot_merge_menu"/>
|
|
<menuitem name="Projects" id="runbot_merge_menu_project"
|
|
parent="runbot_merge_menu"
|
|
action="runbot_merge_action_projects"/>
|
|
<menuitem name="Pull Requests" id="runbot_merge_menu_prs"
|
|
parent="runbot_merge_menu"
|
|
action="runbot_merge_action_prs"/>
|
|
<menuitem name="Stagings" id="runbot_merge_menu_stagings"
|
|
parent="runbot_merge_menu"
|
|
action="runbot_merge_action_stagings"/>
|
|
<menuitem name="Fetches" id="runbot_merge_menu_fetches"
|
|
parent="runbot_merge_menu"
|
|
action="runbot_merge_action_fetches"/>
|
|
</odoo>
|