first push message

This commit is contained in:
2026-07-01 14:41:49 +07:00
parent 6667dec2bf
commit 58b5f46cc4
2951 changed files with 316619 additions and 0 deletions
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_project_sync_config_form" model="ir.ui.view">
<field name="name">project.sync.config.form</field>
<field name="model">project.sync.config</field>
<field name="arch" type="xml">
<form>
<header>
<button name="action_fetch_remote_projects" string="Fetch Remote Projects"
type="object" class="oe_highlight"/>
<button name="action_sync" string="Sync Selected Projects"
type="object" class="oe_highlight"
invisible="not selected_project_ids"/>
<button name="action_clear_errors" string="Clear All Errors"
type="object"
invisible="not selected_project_ids"/>
</header>
<sheet>
<group>
<field name="name"/>
<field name="active"/>
</group>
<group string="Remote Server Connection">
<field name="remote_url"/>
<field name="remote_db"/>
<field name="remote_user"/>
<field name="remote_password" password="True"/>
</group>
<group string="Sync Settings">
<field name="sync_direction"/>
<field name="last_sync"/>
</group>
<notebook>
<page string="Remote Projects (Multi-Select)">
<field name="remote_project_ids" readonly="1">
<list>
<field name="remote_id"/>
<field name="remote_name"/>
<field name="sync_status" widget="badge"/>
</list>
</field>
</page>
<page string="Selected for Sync">
<field name="selected_project_ids" widget="many2many_tags"
options="{'no_create': True, 'no_open': True, 'color_field': 'sync_status'}"/>
<group>
<p class="text-muted">
Select projects from the list above, then map them to local projects.
Click "Sync Selected Projects" to start.
</p>
</group>
</page>
<page string="Synced Tasks (Local Filter)">
<p>After syncing, go to <b>Project → Tasks</b> and filter by project to view synced tasks.</p>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="action_project_sync_config" model="ir.actions.act_window">
<field name="name">Project Sync Configurations</field>
<field name="res_model">project.sync.config</field>
<field name="view_mode">list,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a connection to start syncing projects between Odoo instances.
</p>
</field>
</record>
<menuitem id="menu_project_sync_root" name="Server Sync" parent="project.menu_project_config" sequence="100"/>
<menuitem id="menu_project_sync_config" name="Sync Configurations" parent="menu_project_sync_root" action="action_project_sync_config" sequence="10"/>
</odoo>
@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_remote_project_list" model="ir.ui.view">
<field name="name">project.sync.remote.project.list</field>
<field name="model">project.sync.remote.project</field>
<field name="arch" type="xml">
<list editable="bottom" create="false" delete="false">
<field name="remote_id" readonly="1"/>
<field name="remote_name" readonly="1"/>
<field name="local_project_id"/>
<field name="tasks_synced_count" readonly="1"/>
<field name="last_sync_attempt" readonly="1"/>
<field name="sync_status" widget="badge"
decoration-success="sync_status=='synced'"
decoration-warning="sync_status=='pending'"
decoration-danger="sync_status=='error'"/>
<field name="error_message" readonly="1" optional="hide"/>
</list>
</field>
</record>
<record id="view_remote_project_form" model="ir.ui.view">
<field name="name">project.sync.remote.project.form</field>
<field name="model">project.sync.remote.project</field>
<field name="arch" type="xml">
<form create="false" delete="false">
<sheet>
<group>
<group>
<field name="remote_id"/>
<field name="remote_name"/>
<field name="sync_config_id"/>
</group>
<group>
<field name="local_project_id"/>
<field name="sync_status"/>
<field name="tasks_synced_count"/>
<field name="last_sync_attempt"/>
</group>
</group>
<group string="Error Details" invisible="not error_message">
<field name="error_message" nolabel="1" readonly="1"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="action_project_sync_remote" model="ir.actions.act_window">
<field name="name">Project Sync Configurations</field>
<field name="res_model">project.sync.remote.project</field>
<field name="view_mode">list,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a connection to start syncing projects between Odoo instances.
</p>
</field>
</record>
<menuitem id="menu_project_sync_remote" name="Sync Remote" parent="menu_project_sync_root" action="action_project_sync_remote" sequence="11"/>
</odoo>
+24
View File
@@ -0,0 +1,24 @@
<odoo>
<data>
<!--
<template id="listing">
<ul>
<li t-foreach="objects" t-as="object">
<a t-attf-href="#{ root }/objects/#{ object.id }">
<t t-esc="object.display_name"/>
</a>
</li>
</ul>
</template>
<template id="object">
<h1><t t-esc="object.display_name"/></h1>
<dl>
<t t-foreach="object._fields" t-as="field">
<dt><t t-esc="field"/></dt>
<dd><t t-esc="object[field]"/></dd>
</t>
</dl>
</template>
-->
</data>
</odoo>