[FIX] runbot: fix parse log action window

- Fix the model on parse_logs action window.
- Add a server action on build to open its errors
- Fix a bad indentation
This commit is contained in:
Christophe Monniez 2025-02-13 14:57:03 +01:00 committed by xdo
parent f18e6c7591
commit 38f4ad3832
3 changed files with 24 additions and 3 deletions

View File

@ -1,6 +1,6 @@
<odoo> <odoo>
<record model="ir.actions.server" id="action_link_build_errors"> <record model="ir.actions.server" id="action_link_build_errors">
<field name="name">Link build errors</field> <field name="name">Merge build errors</field>
<field name="model_id" ref="runbot.model_runbot_build_error" /> <field name="model_id" ref="runbot.model_runbot_build_error" />
<field name="binding_model_id" ref="runbot.model_runbot_build_error" /> <field name="binding_model_id" ref="runbot.model_runbot_build_error" />
<field name="type">ir.actions.server</field> <field name="type">ir.actions.server</field>
@ -39,7 +39,7 @@
records.action_assign() records.action_assign()
</field> </field>
</record> </record>
<record model="ir.actions.server" id="action_deduplicate"> <record model="ir.actions.server" id="action_deduplicate">
<field name="name">Deduplicate Error Contents</field> <field name="name">Deduplicate Error Contents</field>
<field name="model_id" ref="runbot.model_runbot_build_error_content" /> <field name="model_id" ref="runbot.model_runbot_build_error_content" />
<field name="binding_model_id" ref="runbot.model_runbot_build_error_content" /> <field name="binding_model_id" ref="runbot.model_runbot_build_error_content" />
@ -49,4 +49,13 @@
records.action_deduplicate() records.action_deduplicate()
</field> </field>
</record> </record>
<record model="ir.actions.server" id="action_view_build_errors">
<field name="name">View build errors</field>
<field name="model_id" ref="runbot.model_runbot_build"/>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="code">
action = records.action_view_build_errors()
</field>
</record>
</odoo> </odoo>

View File

@ -1268,3 +1268,15 @@ class BuildResult(models.Model):
def _parse_config(self): def _parse_config(self):
return set(findall(self._server("tools/config.py"), r'--[\w-]+', )) return set(findall(self._server("tools/config.py"), r'--[\w-]+', ))
def action_view_build_errors(self):
errors = self.env['runbot.build.error'].browse()
for record in self:
errors |= record.error_log_ids.error_content_id.error_id
return {
"type": "ir.actions.act_window",
"res_model": "runbot.build.error",
"domain": [('id', 'in', errors.ids)],
"name": "Build errors",
"view_mode": "list,form"
}

View File

@ -313,7 +313,7 @@ class BuildError(models.Model):
if build_error_contents: if build_error_contents:
window_action = { window_action = {
"type": "ir.actions.act_window", "type": "ir.actions.act_window",
"res_model": "runbot.build.error", "res_model": "runbot.build.error.content",
"views": [[False, "list"]], "views": [[False, "list"]],
"domain": [('id', 'in', build_error_contents.ids)] "domain": [('id', 'in', build_error_contents.ids)]
} }