128 lines
6.0 KiB
XML
128 lines
6.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
Copyright 2026 Nexa Systems Inc.
|
|
License OPL-1 (Odoo Proprietary License v1.0)
|
|
Part of the Fusion Plating product family.
|
|
-->
|
|
<odoo>
|
|
|
|
<record id="view_fp_risk_list" model="ir.ui.view">
|
|
<field name="name">fp.risk.list</field>
|
|
<field name="model">fusion.plating.risk</field>
|
|
<field name="arch" type="xml">
|
|
<list string="Risk Register"
|
|
decoration-success="risk_level == 'low'"
|
|
decoration-info="risk_level == 'medium'"
|
|
decoration-warning="risk_level == 'high'"
|
|
decoration-danger="risk_level == 'critical'">
|
|
<field name="name"/>
|
|
<field name="title"/>
|
|
<field name="category"/>
|
|
<field name="likelihood"/>
|
|
<field name="impact"/>
|
|
<field name="risk_score"/>
|
|
<field name="risk_level" widget="badge"
|
|
decoration-success="risk_level == 'low'"
|
|
decoration-info="risk_level == 'medium'"
|
|
decoration-warning="risk_level == 'high'"
|
|
decoration-danger="risk_level == 'critical'"/>
|
|
<field name="owner_id"/>
|
|
<field name="review_date"/>
|
|
<field name="state" widget="badge"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_fp_risk_form" model="ir.ui.view">
|
|
<field name="name">fp.risk.form</field>
|
|
<field name="model">fusion.plating.risk</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Risk">
|
|
<header>
|
|
<button name="action_assess" string="Assess" type="object"
|
|
class="oe_highlight" invisible="state != 'identified'"/>
|
|
<button name="action_treat" string="Treat" type="object"
|
|
class="oe_highlight" invisible="state != 'assessed'"/>
|
|
<button name="action_monitor" string="Monitor" type="object"
|
|
invisible="state != 'treated'"/>
|
|
<button name="action_close" string="Close" type="object"
|
|
invisible="state not in ('monitored','treated')"/>
|
|
<field name="state" widget="statusbar"
|
|
statusbar_visible="identified,assessed,treated,monitored,closed"/>
|
|
</header>
|
|
<sheet>
|
|
<div class="oe_title">
|
|
<label for="title"/>
|
|
<h1><field name="title" placeholder="Short risk title..."/></h1>
|
|
<div class="text-muted"><field name="name" readonly="1"/></div>
|
|
</div>
|
|
<div class="o_fp_risk_card">
|
|
<group>
|
|
<group>
|
|
<field name="category"/>
|
|
<field name="likelihood"/>
|
|
<field name="impact"/>
|
|
</group>
|
|
<group>
|
|
<field name="risk_score"/>
|
|
<field name="risk_level" widget="badge"
|
|
decoration-success="risk_level == 'low'"
|
|
decoration-info="risk_level == 'medium'"
|
|
decoration-warning="risk_level == 'high'"
|
|
decoration-danger="risk_level == 'critical'"/>
|
|
<field name="owner_id"/>
|
|
<field name="review_date"/>
|
|
</group>
|
|
</group>
|
|
</div>
|
|
<notebook>
|
|
<page string="Description">
|
|
<field name="description"/>
|
|
</page>
|
|
<page string="Mitigation Plan">
|
|
<field name="mitigation_plan"/>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
<chatter/>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_fp_risk_search" model="ir.ui.view">
|
|
<field name="name">fp.risk.search</field>
|
|
<field name="model">fusion.plating.risk</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Risks">
|
|
<field name="name"/>
|
|
<field name="title"/>
|
|
<field name="owner_id"/>
|
|
<separator/>
|
|
<filter string="Critical" name="critical" domain="[('risk_level','=','critical')]"/>
|
|
<filter string="High" name="high" domain="[('risk_level','=','high')]"/>
|
|
<filter string="Medium" name="medium" domain="[('risk_level','=','medium')]"/>
|
|
<filter string="Low" name="low" domain="[('risk_level','=','low')]"/>
|
|
<separator/>
|
|
<filter string="Open" name="open" domain="[('state','not in',['closed'])]"/>
|
|
<filter string="Closed" name="closed" domain="[('state','=','closed')]"/>
|
|
<separator/>
|
|
<filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
|
|
<group>
|
|
<filter string="Level" name="group_level" context="{'group_by':'risk_level'}"/>
|
|
<filter string="Category" name="group_category" context="{'group_by':'category'}"/>
|
|
<filter string="Owner" name="group_owner" context="{'group_by':'owner_id'}"/>
|
|
<filter string="Status" name="group_state" context="{'group_by':'state'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_fp_risk" model="ir.actions.act_window">
|
|
<field name="name">Risk Register</field>
|
|
<field name="res_model">fusion.plating.risk</field>
|
|
<field name="view_mode">list,form</field>
|
|
<field name="search_view_id" ref="view_fp_risk_search"/>
|
|
</record>
|
|
|
|
</odoo>
|