first push message
This commit is contained in:
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user