- Added comprehensive README files for all three sync modules - Implemented advanced logging system with multiple log levels (DEBUG, INFO, WARNING, ERROR) - Added automatic sensitive data masking for security in log payloads - Implemented log retention policy (90 days local, 7 years in AWS S3 Glacier) - Added AWS S3 integration for long-term log archiving - Fixed validation error with bemade_instance_id in sync model creation - Refactored model inheritance structure from _inherit to _inherits for proper delegation - Fixed duplicate sync model prevention logic - Restored Test Connection button in instance view - Fixed connection test logging to properly record success/failure - Fixed queue creation for connection test logs - Removed unnecessary Synchronized Module tab from odoo_to_odoo_bemade - Added database indexing on create_date for performance optimization - Fixed foreign key constraint violations in field mappings creation - Enhanced error handling throughout the synchronization process
69 lines
3 KiB
XML
69 lines
3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<record id="view_sync_instance_list" model="ir.ui.view">
|
|
<field name="name">odoo.sync.instance.list</field>
|
|
<field name="model">odoo.sync.instance</field>
|
|
<field name="arch" type="xml">
|
|
<list>
|
|
<field name="name"/>
|
|
<field name="url"/>
|
|
<field name="database"/>
|
|
<field name="state" decoration-success="state == 'connected'"
|
|
decoration-warning="state == 'testing'"
|
|
decoration-danger="state == 'error'"/>
|
|
<field name="last_connection"/>
|
|
<field name="active" widget="boolean_toggle"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_sync_instance_form" model="ir.ui.view">
|
|
<field name="name">odoo.sync.instance.form</field>
|
|
<field name="model">odoo.sync.instance</field>
|
|
<field name="arch" type="xml">
|
|
<form>
|
|
<header>
|
|
<button name="test_connection" string="Tester la connexion"
|
|
type="object" class="btn-primary"/>
|
|
<field name="state" widget="statusbar"
|
|
statusbar_visible="draft,testing,connected"/>
|
|
</header>
|
|
<sheet>
|
|
<div class="oe_button_box" name="button_box">
|
|
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
|
|
<field name="active" widget="boolean_button"/>
|
|
</button>
|
|
</div>
|
|
<div class="oe_title">
|
|
<h1>
|
|
<field name="name" placeholder="Nom de l'instance"/>
|
|
</h1>
|
|
</div>
|
|
<group>
|
|
<group>
|
|
<field name="url" placeholder="https://example.odoo.com"/>
|
|
<field name="database"/>
|
|
<!-- <field name="conflict_resolution_strategy"/> -->
|
|
</group>
|
|
<group>
|
|
<field name="username"/>
|
|
<field name="password" password="True"/>
|
|
<field name="last_connection" readonly="1"/>
|
|
</group>
|
|
</group>
|
|
<notebook invisible="error_message == False">
|
|
<page string="Messages d'erreur">
|
|
<field name="error_message" readonly="1"/>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_sync_instance" model="ir.actions.act_window">
|
|
<field name="name">Instances Odoo</field>
|
|
<field name="res_model">odoo.sync.instance</field>
|
|
<field name="view_mode">list,form</field>
|
|
</record>
|
|
</odoo>
|