bemade-addons/unifi_integration/views/unifi_firewall_views.xml
2025-03-27 15:34:13 -04:00

117 lines
6.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Vue de formulaire pour les règles de pare-feu UniFi -->
<record id="view_unifi_firewall_rule_form" model="ir.ui.view">
<field name="name">unifi.firewall.rule.form</field>
<field name="model">unifi.firewall.rule</field>
<field name="arch" type="xml">
<form string="Règle de pare-feu UniFi">
<sheet>
<div class="oe_title">
<h1>
<field name="name" placeholder="Nom de la règle"/>
</h1>
</div>
<group>
<group>
<field name="site_id"/>
<field name="enabled"/>
<field name="sequence"/>
<field name="action"/>
<field name="protocol"/>
</group>
<group>
<field name="detailed_rule_type"/>
<field name="rule_type"/>
<field name="source_type"/>
<field name="formatted_source"/>
<field name="src_port"/>
<field name="destination_type"/>
<field name="formatted_destination"/>
<field name="dst_port"/>
</group>
</group>
<notebook>
<page string="Description">
<field name="description" placeholder="Description détaillée de la règle..."/>
</page>
<page string="Informations techniques">
<group>
<field name="rule_id"/>
<field name="rule_index"/>
<field name="created_at"/>
<field name="updated_at"/>
<field name="last_sync"/>
</group>
</page>
<page string="Données brutes">
<field name="raw_data" widget="ace" options="{'language': 'json'}" invisible="1"/>
<field name="raw_data_json" readonly="1"/>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<!-- Vue de liste pour les règles de pare-feu UniFi -->
<record id="view_unifi_firewall_rule_list" model="ir.ui.view">
<field name="name">unifi.firewall.rule.list</field>
<field name="model">unifi.firewall.rule</field>
<field name="arch" type="xml">
<list string="Règles de pare-feu UniFi" decoration-danger="action == 'drop'" decoration-success="action == 'accept'" decoration-warning="action == 'reject'" decoration-muted="not enabled">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="site_id"/>
<field name="enabled"/>
<field name="action"/>
<field name="protocol"/>
<field name="detailed_rule_type"/>
<field name="source_type"/>
<field name="formatted_source"/>
<field name="destination_type"/>
<field name="formatted_destination"/>
<field name="rule_summary"/>
</list>
</field>
</record>
<!-- Vue de recherche pour les règles de pare-feu UniFi -->
<record id="view_unifi_firewall_rule_search" model="ir.ui.view">
<field name="name">unifi.firewall.rule.search</field>
<field name="model">unifi.firewall.rule</field>
<field name="arch" type="xml">
<search string="Rechercher des règles de pare-feu UniFi">
<field name="name" string="Nom"/>
<field name="site_id" string="Site"/>
<field name="formatted_source" string="Source"/>
<field name="formatted_destination" string="Destination"/>
<field name="detailed_rule_type" string="Type détaillé"/>
<separator/>
<filter string="Activées" name="enabled" domain="[('enabled', '=', True)]"/>
<filter string="Désactivées" name="disabled" domain="[('enabled', '=', False)]"/>
<separator/>
<filter string="Accepter" name="action_accept" domain="[('action', '=', 'accept')]"/>
<filter string="Rejeter" name="action_drop" domain="[('action', '=', 'drop')]"/>
<filter string="Rejeter avec notification" name="action_reject" domain="[('action', '=', 'reject')]"/>
<separator/>
<filter string="TCP" name="protocol_tcp" domain="[('protocol', '=', 'tcp')]"/>
<filter string="UDP" name="protocol_udp" domain="[('protocol', '=', 'udp')]"/>
<filter string="ICMP" name="protocol_icmp" domain="[('protocol', '=', 'icmp')]"/>
<filter string="Tous" name="protocol_all" domain="[('protocol', '=', 'all')]"/>
<group expand="0" string="Grouper par">
<filter string="Site" name="group_by_site" context="{'group_by': 'site_id'}"/>
<filter string="Type détaillé" name="group_by_detailed_type" context="{'group_by': 'detailed_rule_type'}"/>
<filter string="Type de source" name="group_by_source_type" context="{'group_by': 'source_type'}"/>
<filter string="Type de destination" name="group_by_destination_type" context="{'group_by': 'destination_type'}"/>
<filter string="Action" name="group_by_action" context="{'group_by': 'action'}"/>
<filter string="Protocole" name="group_by_protocol" context="{'group_by': 'protocol'}"/>
<filter string="Type de règle" name="group_by_rule_type" context="{'group_by': 'rule_type'}"/>
</group>
</search>
</field>
</record>
<!-- Action and menu moved to unifi_actions.xml and unifi_menu_views.xml -->
</odoo>