Wipe addons/: full reset for clean re-upload
This commit is contained in:
@@ -1,232 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="cx_tower_command_log_view_form" model="ir.ui.view">
|
||||
<field name="name">cx.tower.command.log.view.form</field>
|
||||
<field name="model">cx.tower.command.log</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<widget
|
||||
name="web_ribbon"
|
||||
title="Running"
|
||||
bg_color="bg-info"
|
||||
attrs="{'invisible': [('is_running', '=', False)]}"
|
||||
/>
|
||||
<widget
|
||||
name="web_ribbon"
|
||||
title="Finished"
|
||||
attrs="{'invisible': ['|', ('is_running', '=', True), '&', ('is_running', '=', False), ('command_status', '!=', 0)]}"
|
||||
/>
|
||||
<widget
|
||||
name="web_ribbon"
|
||||
title="Failed"
|
||||
bg_color="bg-danger"
|
||||
attrs="{'invisible': ['|', ('is_running', '=', True), '&', ('is_running', '=', False), ('command_status', 'in', [0, -205])]}"
|
||||
/>
|
||||
<widget
|
||||
name="web_ribbon"
|
||||
title="Skipped"
|
||||
bg_color="bg-dark"
|
||||
attrs="{'invisible': ['|', ('is_running', '=', True), '&', ('is_running', '=', False), ('command_status', '!=', -205)]}"
|
||||
/>
|
||||
|
||||
<group>
|
||||
<group>
|
||||
<field name="is_skipped" invisible="1" />
|
||||
<field name="create_uid" />
|
||||
<field name="server_id" />
|
||||
<field
|
||||
name="jet_id"
|
||||
attrs="{'invisible': [('jet_id', '=', False)]}"
|
||||
/>
|
||||
<field
|
||||
name="jet_template_id"
|
||||
attrs="{'invisible': [('jet_template_id', '=', False)]}"
|
||||
/>
|
||||
<field
|
||||
name="waypoint_id"
|
||||
attrs="{'invisible': [('waypoint_id', '=', False)]}"
|
||||
/>
|
||||
<field name="command_id" />
|
||||
<field name="command_action" invisible="1" />
|
||||
<field
|
||||
name="condition"
|
||||
attrs="{'invisible': [('condition', '=', False)]}"
|
||||
widget="ace"
|
||||
options="{'mode': 'python'}"
|
||||
/>
|
||||
<field
|
||||
name="path"
|
||||
attrs="{'invisible': [('path', '=', False)]}"
|
||||
/>
|
||||
<field
|
||||
name="is_running"
|
||||
attrs="{'invisible': [('is_running', '=', False)]}"
|
||||
/>
|
||||
<field
|
||||
name="use_sudo"
|
||||
attrs="{'invisible': [('use_sudo', '=', False)]}"
|
||||
/>
|
||||
<field
|
||||
name="plan_log_id"
|
||||
invisible="context.get('opened_from_plan', False)"
|
||||
attrs="{'invisible': [('plan_log_id', '=', False)]}"
|
||||
/>
|
||||
<field
|
||||
name="triggered_plan_log_id"
|
||||
attrs="{'invisible': [('triggered_plan_log_id', '=', False)]}"
|
||||
/>
|
||||
<field
|
||||
name="scheduled_task_id"
|
||||
attrs="{'invisible': [('scheduled_task_id', '=', False)]}"
|
||||
/>
|
||||
</group>
|
||||
<group>
|
||||
<field
|
||||
name="label"
|
||||
attrs="{'invisible': [('label', '=', False)]}"
|
||||
/>
|
||||
<field name="start_date" />
|
||||
<field name="finish_date" />
|
||||
<field name="duration_current" />
|
||||
<field
|
||||
name="command_status"
|
||||
attrs="{'invisible': [('is_running', '=', True)]}"
|
||||
/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page
|
||||
name="result"
|
||||
string="Result"
|
||||
attrs="{'invisible': [('command_action', '=', 'plan')]}"
|
||||
>
|
||||
<field
|
||||
name="command_result_html"
|
||||
attrs="{'invisible': [('command_result_html', '=', False)]}"
|
||||
/>
|
||||
</page>
|
||||
<page
|
||||
name="code"
|
||||
string="Command"
|
||||
attrs="{'invisible': [('command_action', '=', 'plan')]}"
|
||||
>
|
||||
<field name="code" />
|
||||
</page>
|
||||
<page
|
||||
string="Triggered Commands"
|
||||
attrs="{'invisible': [('command_action','!=','plan')]}"
|
||||
>
|
||||
<field name="triggered_plan_command_log_ids">
|
||||
<tree default_order="id asc" />
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cx_tower_command_log_view_tree" model="ir.ui.view">
|
||||
<field name="name">cx.tower.command.log.view.tree</field>
|
||||
<field name="model">cx.tower.command.log</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree
|
||||
decoration-danger="command_status not in [0, -205]"
|
||||
decoration-info="is_running == True"
|
||||
decoration-muted="command_status == -205"
|
||||
>
|
||||
<field name="start_date" />
|
||||
<field name="finish_date" optional="hide" />
|
||||
<field name="duration_current" optional="show" />
|
||||
<field name="server_id" optional="show" />
|
||||
<field name="jet_id" optional="show" />
|
||||
<field name="jet_template_id" optional="hide" />
|
||||
<field name="command_id" optional="show" />
|
||||
<field name="command_action" optional="show" />
|
||||
<field name="command_status" optional="show" />
|
||||
<field name="is_running" optional="hide" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cx_tower_command_log_search_view" model="ir.ui.view">
|
||||
<field name="name">cx.tower.command.log.view.search</field>
|
||||
<field name="model">cx.tower.command.log</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Command Log">
|
||||
<field name="command_id" />
|
||||
<field name="server_id" />
|
||||
<field name="jet_id" />
|
||||
<field name="jet_template_id" />
|
||||
<field name="label" />
|
||||
<separator />
|
||||
<filter
|
||||
string="Success"
|
||||
name="filter_success"
|
||||
domain="[('command_status', '=', 0)]"
|
||||
/>
|
||||
<filter
|
||||
string="Error"
|
||||
name="filter_error"
|
||||
domain="[('command_status', '!=', 0)]"
|
||||
/>
|
||||
<filter
|
||||
string="Running Now"
|
||||
name="filter_is_running"
|
||||
domain="[('is_running', '=', True)]"
|
||||
/>
|
||||
<separator />
|
||||
<filter
|
||||
string="Labeled"
|
||||
name="filter_labeled"
|
||||
domain="[('label', '!=', False)]"
|
||||
/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter
|
||||
string="Server"
|
||||
name="group_server"
|
||||
domain="[]"
|
||||
context="{'group_by': 'server_id'}"
|
||||
/>
|
||||
<filter
|
||||
string="Command"
|
||||
name="group_command"
|
||||
domain="[]"
|
||||
context="{'group_by': 'command_id'}"
|
||||
/>
|
||||
<filter
|
||||
string="Action"
|
||||
name="group_action"
|
||||
domain="[]"
|
||||
context="{'group_by': 'command_action'}"
|
||||
/>
|
||||
<filter
|
||||
string="Start date"
|
||||
name="group_start"
|
||||
domain="[]"
|
||||
context="{'group_by': 'start_date:day'}"
|
||||
/>
|
||||
<filter
|
||||
string="Finish date"
|
||||
name="group_finish"
|
||||
domain="[]"
|
||||
context="{'group_by': 'finish_date:day'}"
|
||||
/>
|
||||
</group>
|
||||
<searchpanel>
|
||||
<field name="command_action" string="Action" icon="fa-cog" />
|
||||
</searchpanel>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_cx_tower_command_log" model="ir.actions.act_window">
|
||||
<field name="name">Command Log</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">cx.tower.command.log</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{}</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -1,346 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
|
||||
<record id="cx_tower_command_view_form" model="ir.ui.view">
|
||||
<field name="name">cx.tower.command.view.form</field>
|
||||
<field name="model">cx.tower.command</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button
|
||||
name="action_open_plans"
|
||||
type="object"
|
||||
class="oe_stat_button"
|
||||
attrs="{'invisible': [('flight_plan_used_ids_count', '=', 0)]}"
|
||||
icon="fa-paper-plane"
|
||||
>
|
||||
<field
|
||||
name="flight_plan_used_ids_count"
|
||||
string="Used in Plans"
|
||||
widget="statinfo"
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
name="action_open_command_logs"
|
||||
type="object"
|
||||
string="Logs"
|
||||
class="oe_stat_button"
|
||||
icon="fa-code"
|
||||
/>
|
||||
</div>
|
||||
<widget
|
||||
name="web_ribbon"
|
||||
title="Archived"
|
||||
bg_color="bg-danger"
|
||||
attrs="{'invisible': [('active', '=', True)]}"
|
||||
/>
|
||||
<div
|
||||
class="alert alert-warning"
|
||||
role="alert"
|
||||
attrs="{'invisible': [('action', 'not in', ['file_using_template', 'python_code', 'plan', 'jet_action', 'create_waypoint'])]}"
|
||||
style="margin-bottom:0px;"
|
||||
>
|
||||
<p
|
||||
attrs="{'invisible': [('action', 'not in', ['file_using_template', 'plan', 'jet_action', 'create_waypoint'])]}"
|
||||
>
|
||||
This command can be used only in Flight Plans.
|
||||
</p>
|
||||
<p attrs="{'invisible': [('action', '!=', 'python_code')]}">
|
||||
Remember: Python code is executed on the Tower server, not on the remote
|
||||
one.
|
||||
</p>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name" />
|
||||
<field name="reference" />
|
||||
<field name="active" invisible='1' />
|
||||
<field name="action" />
|
||||
<field
|
||||
name="file_template_id"
|
||||
attrs="{'invisible': [('action', '!=', 'file_using_template')], 'required': [('action', '=', 'file_using_template')]}"
|
||||
/>
|
||||
<field
|
||||
name="flight_plan_id"
|
||||
attrs="{'invisible': [('action', '!=', 'plan')], 'required': [('action', '=', 'plan')]}"
|
||||
/>
|
||||
<field
|
||||
name="path"
|
||||
widget="ace_tower"
|
||||
attrs="{'invisible': [('action', '=', 'python_code')]}"
|
||||
placeholder="optional, eg /home/{{ tower.server.username }}"
|
||||
/>
|
||||
<field
|
||||
name="if_file_exists"
|
||||
attrs="{
|
||||
'invisible': [('action', '!=', 'file_using_template')],
|
||||
'required': [('action', '=', 'file_using_template')],
|
||||
}"
|
||||
/>
|
||||
<field
|
||||
name="disconnect_file"
|
||||
attrs="{'invisible': [('action', '!=', 'file_using_template')]}"
|
||||
/>
|
||||
<field
|
||||
name="jet_template_id"
|
||||
attrs="{'invisible': [('action', '!=', 'jet_action')], 'required': [('action', '=', 'jet_action')]}"
|
||||
/>
|
||||
<field
|
||||
name="jet_action_id"
|
||||
attrs="{'invisible': [('action', '!=', 'jet_action')], 'required': [('action', '=', 'jet_action')]}"
|
||||
/>
|
||||
<field
|
||||
name="waypoint_template_id"
|
||||
attrs="{'invisible': [('action', '!=', 'create_waypoint')], 'required': [('action', '=', 'create_waypoint')]}"
|
||||
/>
|
||||
<field
|
||||
name="fly_here"
|
||||
attrs="{'invisible': [('action', '!=', 'create_waypoint')]}"
|
||||
/>
|
||||
<field name="allow_parallel_run" />
|
||||
<field
|
||||
name="no_split_for_sudo"
|
||||
attrs="{'invisible': [('action', '!=', 'ssh_command')]}"
|
||||
/>
|
||||
<field name="note" />
|
||||
</group>
|
||||
<group>
|
||||
<field
|
||||
name="server_ids"
|
||||
widget="many2many_tags"
|
||||
options="{'color_field': 'color'}"
|
||||
/>
|
||||
<field
|
||||
name="os_ids"
|
||||
widget="many2many_tags"
|
||||
options="{'color_field': 'color'}"
|
||||
/>
|
||||
<field
|
||||
name="tag_ids"
|
||||
widget="many2many_tags"
|
||||
options="{'color_field': 'color'}"
|
||||
/>
|
||||
<field name="access_level" />
|
||||
<field name="server_status" widget="server_status" />
|
||||
<field
|
||||
name="variable_ids"
|
||||
widget="many2many_tags"
|
||||
readonly="1"
|
||||
groups="cetmix_tower_server.group_manager,cetmix_tower_server.group_root"
|
||||
attrs="{'invisible': [('variable_ids', '=', [])]}"
|
||||
/>
|
||||
<field
|
||||
name="secret_ids"
|
||||
widget="many2many_tags"
|
||||
groups="cetmix_tower_server.group_manager,cetmix_tower_server.group_root"
|
||||
attrs="{'invisible': [('secret_ids', '=', [])]}"
|
||||
/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page
|
||||
name="code"
|
||||
string="Code"
|
||||
attrs="{'invisible': [('action', 'not in', ['ssh_command', 'python_code'])]}"
|
||||
>
|
||||
<field
|
||||
name="code"
|
||||
attrs="{'required': [('action', '=', 'python_code')]}"
|
||||
widget="ace_tower"
|
||||
options="{'mode': 'python'}"
|
||||
placeholder="Enter Python code here. Help about Python expression is available in the help tab of this document."
|
||||
/>
|
||||
</page>
|
||||
<page
|
||||
string="Help"
|
||||
name="python_help_info"
|
||||
attrs="{'invisible': [('action', '!=', 'python_code')]}"
|
||||
>
|
||||
<field name="command_help" />
|
||||
</page>
|
||||
<page
|
||||
name="plan_lines"
|
||||
string="Flight Plan Lines"
|
||||
attrs="{'invisible': [('action', '!=', 'plan')]}"
|
||||
>
|
||||
<field name="flight_plan_line_ids">
|
||||
<tree>
|
||||
<field name="command_id" />
|
||||
<field name="tag_ids" widget="many2many_tags" />
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page
|
||||
name="template_code"
|
||||
string="Template Code"
|
||||
attrs="{'invisible': [('action', '!=', 'file_using_template')]}"
|
||||
>
|
||||
<field
|
||||
name="template_code"
|
||||
widget="ace"
|
||||
readonly="1"
|
||||
options="{'mode': 'jinja2'}"
|
||||
/>
|
||||
</page>
|
||||
<page
|
||||
name="access"
|
||||
string="Access"
|
||||
groups="cetmix_tower_server.group_manager"
|
||||
>
|
||||
<group name="access">
|
||||
<field
|
||||
name="user_ids"
|
||||
widget="many2many_tags"
|
||||
placeholder="users who can view this record"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
<field
|
||||
name="manager_ids"
|
||||
widget="many2many_tags"
|
||||
placeholder="managers who can modify this record"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cx_tower_command_view_tree" model="ir.ui.view">
|
||||
<field name="name">cx.tower.command.view.tree</field>
|
||||
<field name="model">cx.tower.command</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name" />
|
||||
<field name="reference" optional="hide" />
|
||||
<field name="action" />
|
||||
<field name="access_level" optional="hide" />
|
||||
<field
|
||||
name="server_ids"
|
||||
widget="many2many_tags"
|
||||
options="{'color_field': 'color'}"
|
||||
optional="show"
|
||||
/>
|
||||
<field name="path" optional="show" />
|
||||
<field
|
||||
name="tag_ids"
|
||||
widget="many2many_tags"
|
||||
options="{'color_field': 'color'}"
|
||||
optional="show"
|
||||
/>
|
||||
<field
|
||||
name="os_ids"
|
||||
widget="many2many_tags"
|
||||
options="{'color_field': 'color'}"
|
||||
optional="hide"
|
||||
/>
|
||||
<field
|
||||
name="secret_ids"
|
||||
widget="many2many_tags"
|
||||
groups="cetmix_tower_server.group_manager,cetmix_tower_server.group_root"
|
||||
optional="hide"
|
||||
/>
|
||||
<field name="allow_parallel_run" optional="hide" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cx_tower_command_search_view" model="ir.ui.view">
|
||||
<field name="name">cx.tower.command.view.search</field>
|
||||
<field name="model">cx.tower.command</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Commands">
|
||||
<field
|
||||
name="name"
|
||||
string="Name/Reference"
|
||||
filter_domain="['|', ('name', 'ilike', self), ('reference', 'ilike', self)]"
|
||||
/>
|
||||
<field name="code" />
|
||||
<field name="user_ids" />
|
||||
<field name="manager_ids" />
|
||||
<filter
|
||||
string="Global"
|
||||
name="filter_global"
|
||||
domain="[('server_ids', '=', False)]"
|
||||
/>
|
||||
<filter
|
||||
string="Server tight"
|
||||
name="server_tight"
|
||||
domain="[('server_ids', '!=', False)]"
|
||||
/>
|
||||
<separator />
|
||||
<filter
|
||||
string="Allow Parallel Run"
|
||||
name="filter_run_parallel"
|
||||
domain="[('allow_parallel_run', '=', True)]"
|
||||
/>
|
||||
<separator />
|
||||
<filter
|
||||
string="Used in Plans"
|
||||
name="filter_used_in_plans"
|
||||
domain="[('flight_plan_used_ids', '!=', False)]"
|
||||
/>
|
||||
<separator />
|
||||
<filter
|
||||
string="Tagged"
|
||||
name="filter_tagged"
|
||||
domain="[('tag_ids', '!=', False)]"
|
||||
/>
|
||||
<separator />
|
||||
<filter
|
||||
string="Archived"
|
||||
name="archived"
|
||||
domain="[('active', '=', False)]"
|
||||
/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter
|
||||
string="Action"
|
||||
name="group_action"
|
||||
domain="[]"
|
||||
context="{'group_by': 'action'}"
|
||||
/>
|
||||
<filter
|
||||
string="Access Level"
|
||||
name="group_access_level"
|
||||
domain="[]"
|
||||
context="{'group_by': 'access_level'}"
|
||||
/>
|
||||
</group>
|
||||
<searchpanel>
|
||||
<field
|
||||
name="action"
|
||||
string="Action"
|
||||
icon="fa-cog"
|
||||
enable_counters="1"
|
||||
/>
|
||||
<field name="access_level" string="Access Level" icon="fa-shield" />
|
||||
<field name="tag_ids" string="Tags" icon="fa-tags" select="multi" />
|
||||
<field
|
||||
name="os_ids"
|
||||
string="OSes"
|
||||
icon="fa-server"
|
||||
select="multi"
|
||||
/>
|
||||
<field
|
||||
name="server_ids"
|
||||
string="Servers"
|
||||
icon="fa-server"
|
||||
select="multi"
|
||||
/>
|
||||
</searchpanel>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_cx_tower_command" model="ir.actions.act_window">
|
||||
<field name="name">Command</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">cx.tower.command</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -1,167 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
|
||||
<record id="cx_tower_file_template_view_form" model="ir.ui.view">
|
||||
<field name="name">cx.tower.file.template.view.form</field>
|
||||
<field name="model">cx.tower.file.template</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button
|
||||
name="action_open_files"
|
||||
type="object"
|
||||
class="oe_stat_button"
|
||||
icon="fa-files-o"
|
||||
>
|
||||
<field name="file_count" widget="statinfo" string="Files" />
|
||||
</button>
|
||||
</div>
|
||||
<div class="oe_title">
|
||||
<label for="name" class="oe_edit_only" />
|
||||
<h1>
|
||||
<field name="name" placeholder="Name" required="1" />
|
||||
</h1>
|
||||
<h3>
|
||||
<field
|
||||
name="reference"
|
||||
placeholder="Reference. Can contain English letters, digits and '_'. Leave blank to autogenerate"
|
||||
/>
|
||||
</h3>
|
||||
<field name="active" invisible="1" />
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="file_name" widget="ace_tower" />
|
||||
<field name="server_dir" widget="ace_tower" />
|
||||
<field name="source" />
|
||||
<field
|
||||
name="tag_ids"
|
||||
widget="many2many_tags"
|
||||
options="{'color_field': 'color'}"
|
||||
/>
|
||||
<field
|
||||
name="keep_when_deleted"
|
||||
attrs="{'invisible': [('source', '=', 'server')]}"
|
||||
/>
|
||||
<field name="file_type" />
|
||||
<field
|
||||
name="auto_sync"
|
||||
attrs="{'invisible': [('source', '=', 'server')]}"
|
||||
/>
|
||||
<field name="note" />
|
||||
<field
|
||||
name="variable_ids"
|
||||
widget="many2many_tags"
|
||||
readonly="1"
|
||||
groups="cetmix_tower_server.group_manager,cetmix_tower_server.group_root"
|
||||
attrs="{'invisible': [('variable_ids', '=', [])]}"
|
||||
/>
|
||||
<field
|
||||
name="secret_ids"
|
||||
widget="many2many_tags"
|
||||
attrs="{'invisible': [('secret_ids', '=', [])]}"
|
||||
groups="cetmix_tower_server.group_manager,cetmix_tower_server.group_root"
|
||||
/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page
|
||||
name="code"
|
||||
string="Code"
|
||||
attrs="{'invisible': ['|', ('file_type', '=', 'binary'), ('source', '=', 'server')]}"
|
||||
>
|
||||
<field name="code" widget="ace_tower" nolabel="1" />
|
||||
</page>
|
||||
<page
|
||||
name="access"
|
||||
string="Access"
|
||||
groups="cetmix_tower_server.group_manager"
|
||||
>
|
||||
<group name="access">
|
||||
<field
|
||||
name="user_ids"
|
||||
widget="many2many_tags"
|
||||
placeholder="users who can view this record"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
<field
|
||||
name="manager_ids"
|
||||
widget="many2many_tags"
|
||||
placeholder="managers who can modify this record"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cx_tower_file_template_view_tree" model="ir.ui.view">
|
||||
<field name="name">cx.tower.file.template.view.tree</field>
|
||||
<field name="model">cx.tower.file.template</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name" />
|
||||
<field name="reference" optional="hide" />
|
||||
<field name="file_type" optional="show" />
|
||||
<field name="file_name" optional="show" />
|
||||
<field name="server_dir" optional="hide" />
|
||||
<field name="auto_sync" optional="hide" />
|
||||
<field
|
||||
name="tag_ids"
|
||||
widget="many2many_tags"
|
||||
options="{'color_field': 'color'}"
|
||||
optional="show"
|
||||
/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cx_tower_file_template_view_search" model="ir.ui.view">
|
||||
<field name="name">cx.tower.file.template.view.search</field>
|
||||
<field name="model">cx.tower.file.template</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search File Templates">
|
||||
<field
|
||||
name="name"
|
||||
string="Name/Reference"
|
||||
filter_domain="['|', ('name', 'ilike', self), ('reference', 'ilike', self)]"
|
||||
/>
|
||||
<field name="server_dir" />
|
||||
<filter
|
||||
string="Archived"
|
||||
name="archived"
|
||||
domain="[('active', '=', False)]"
|
||||
/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter
|
||||
name="group_by_file_type"
|
||||
string="File Type"
|
||||
context="{'group_by': 'file_type'}"
|
||||
/>
|
||||
</group>
|
||||
<searchpanel>
|
||||
<field name="source" string="Source" icon="fa-server" />
|
||||
<field name="file_type" string="File Type" icon="fa-file" />
|
||||
<field name="tag_ids" string="Tags" icon="fa-tags" select="multi" />
|
||||
</searchpanel>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cx_tower_file_template_action" model="ir.actions.act_window">
|
||||
<field name="name">Templates</field>
|
||||
<field name="res_model">cx.tower.file.template</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="cx_tower_file_template_view_search" />
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Add a new file template
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -1,318 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
|
||||
<record id="cx_tower_file_view_form" model="ir.ui.view">
|
||||
<field name="name">cx.tower.file.view.form</field>
|
||||
<field name="model">cx.tower.file</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<header>
|
||||
<button
|
||||
name="action_push_to_server"
|
||||
string="Push to Server"
|
||||
type="object"
|
||||
class="oe_highlight"
|
||||
attrs="{'invisible': [('source', '!=', 'tower')]}"
|
||||
groups="cetmix_tower_server.group_manager"
|
||||
/>
|
||||
<button
|
||||
name="action_pull_from_server"
|
||||
string="Pull from Server"
|
||||
type="object"
|
||||
class="oe_highlight"
|
||||
attrs="{'invisible': [('source', '!=', 'server')]}"
|
||||
groups="cetmix_tower_server.group_manager"
|
||||
/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name" widget="ace_tower" />
|
||||
<!-- This is done to get the priority to the auto generated reference -->
|
||||
<field
|
||||
name="reference"
|
||||
attrs="{'invisible': [('reference', '=', False)]}"
|
||||
/>
|
||||
<field name="source" required="1" />
|
||||
<field name="file_type" />
|
||||
<field name="id" invisible="1" />
|
||||
<field
|
||||
name="file"
|
||||
filename="name"
|
||||
attrs="{
|
||||
'invisible': [('file_type', '!=', 'binary')],
|
||||
'required': [('file_type', '=', 'binary'), ('source', '!=', 'server')],
|
||||
'readonly': ['|', ('id', '!=', False), ('source', '=', 'server')]
|
||||
}"
|
||||
/>
|
||||
<field
|
||||
name="template_id"
|
||||
domain="[('source', '=', source)]"
|
||||
/>
|
||||
<field
|
||||
name="keep_when_deleted"
|
||||
attrs="{'invisible': [('source', '!=', 'tower')]}"
|
||||
/>
|
||||
<field name="auto_sync" />
|
||||
<field
|
||||
name="auto_sync_interval"
|
||||
attrs="{'invisible': ['|', ('auto_sync', '=', False), ('source', '!=', 'server')], 'required': [('auto_sync', '=', True), ('source', '=', 'server')]}"
|
||||
/>
|
||||
<field
|
||||
name="sync_date_next"
|
||||
attrs="{'invisible': ['|', ('auto_sync', '=', False), ('source', '!=', 'server')]}"
|
||||
/>
|
||||
<field name="sync_date_last" />
|
||||
|
||||
</group>
|
||||
<group>
|
||||
<field
|
||||
name="server_id"
|
||||
attrs="{'readonly': [('jet_id', '!=', False)], 'required': [('jet_id', '=', False)]}"
|
||||
/>
|
||||
<field
|
||||
name="jet_template_id"
|
||||
attrs="{'invisible': [('jet_template_id', '=', False)], 'readonly': [('jet_id', '!=', False)]}"
|
||||
/>
|
||||
<field
|
||||
name="jet_id"
|
||||
attrs="{'invisible': [('jet_id', '=', False)]}"
|
||||
/>
|
||||
<field name="server_dir" widget="ace_tower" />
|
||||
<field name="full_server_path" />
|
||||
<field
|
||||
name="variable_ids"
|
||||
widget="many2many_tags"
|
||||
groups="cetmix_tower_server.group_manager,cetmix_tower_server.group_root"
|
||||
attrs="{'invisible': [('variable_ids', '=', [])]}"
|
||||
/>
|
||||
<field
|
||||
name="secret_ids"
|
||||
widget="many2many_tags"
|
||||
groups="cetmix_tower_server.group_manager,cetmix_tower_server.group_root"
|
||||
attrs="{'invisible': [('secret_ids', '=', [])]}"
|
||||
/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page
|
||||
name="code"
|
||||
string="Code"
|
||||
attrs="{'invisible': [('file_type', '=', 'binary')]}"
|
||||
>
|
||||
<button
|
||||
string="Modify Code"
|
||||
icon="fa-pencil-square-o"
|
||||
name="action_unlink_from_template"
|
||||
type="object"
|
||||
class="btn-secondary"
|
||||
confirm="File will be disconnected from template. Continue?"
|
||||
attrs="{'invisible': [('template_id', '=', False)]}"
|
||||
/>
|
||||
<field
|
||||
name="code"
|
||||
widget="ace_tower"
|
||||
nolabel="1"
|
||||
attrs="{'readonly': ['|', ('template_id', '!=', False), ('source', '=', 'server')]}"
|
||||
/>
|
||||
</page>
|
||||
<page
|
||||
name="rendered_code"
|
||||
string="Preview"
|
||||
attrs="{'invisible': ['|', ('source', '!=', 'tower'), ('file_type', '=', 'binary')]}"
|
||||
>
|
||||
<field
|
||||
name="rendered_code"
|
||||
nolabel="1"
|
||||
class="o_field_text"
|
||||
/>
|
||||
</page>
|
||||
<page
|
||||
name="code_on_server"
|
||||
string="Server Version"
|
||||
attrs="{'invisible': ['|', ('source', '!=', 'tower'), ('file_type', '=', 'binary')]}"
|
||||
>
|
||||
<group>
|
||||
<button
|
||||
name="action_get_current_server_code"
|
||||
type="object"
|
||||
class="oe_highlight"
|
||||
>Refresh</button>
|
||||
</group>
|
||||
|
||||
<field
|
||||
name="code_on_server"
|
||||
nolabel="1"
|
||||
class="o_field_text"
|
||||
/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" />
|
||||
<field name="activity_ids" />
|
||||
<field name="message_ids" />
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cx_tower_file_view_tree" model="ir.ui.view">
|
||||
<field name="name">cx.tower.file.view.tree</field>
|
||||
<field name="model">cx.tower.file</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name" optional="hide" />
|
||||
<field name="rendered_name" optional="show" />
|
||||
<field name="reference" optional="hide" />
|
||||
<field name="full_server_path" optional="hide" />
|
||||
<field name="source" />
|
||||
<field name="file_type" optional="show" />
|
||||
<field name="server_id" />
|
||||
<field name="jet_template_id" optional="hide" />
|
||||
<field name="jet_id" optional="hide" />
|
||||
<field name="sync_date_last" optional="show" />
|
||||
<field name="template_id" optional="show" />
|
||||
<field
|
||||
name="secret_ids"
|
||||
widget="many2many_tags"
|
||||
groups="cetmix_tower_server.group_manager,cetmix_tower_server.group_root"
|
||||
optional="hide"
|
||||
/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cx_tower_file_view_search" model="ir.ui.view">
|
||||
<field name="name">cx.tower.file.view.search</field>
|
||||
<field name="model">cx.tower.file</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Files">
|
||||
<field
|
||||
name="name"
|
||||
string="Name/Reference"
|
||||
filter_domain="['|', ('name', 'ilike', self), ('reference', 'ilike', self)]"
|
||||
/>
|
||||
<field name="code" />
|
||||
<field name="server_id" />
|
||||
<field name="server_dir" />
|
||||
<filter
|
||||
string="Has Template"
|
||||
name="filter_has_template"
|
||||
domain="[('template_id', '!=', False)]"
|
||||
/>
|
||||
<filter
|
||||
string="No Template"
|
||||
name="filter_no_template"
|
||||
domain="[('template_id', '=', False)]"
|
||||
/>
|
||||
<separator />
|
||||
<filter
|
||||
string="Synced"
|
||||
name="filter_is_synced"
|
||||
domain="[('server_response', '=', 'ok')]"
|
||||
/>
|
||||
<filter
|
||||
string="No Synced"
|
||||
name="filter_is_no_synced"
|
||||
domain="[('server_response', '=', False)]"
|
||||
/>
|
||||
<filter
|
||||
string="Sync Error"
|
||||
name="filter_is_error_synced"
|
||||
domain="[('server_response', 'not in', ['ok', False])]"
|
||||
/>
|
||||
<separator />
|
||||
<group expand="0" string="Group By">
|
||||
<filter
|
||||
string="Source"
|
||||
name="group_by_source"
|
||||
domain="[]"
|
||||
context="{'group_by': 'source'}"
|
||||
/>
|
||||
<filter
|
||||
string="File Type"
|
||||
name="group_by_file_type"
|
||||
domain="[]"
|
||||
context="{'group_by': 'file_type'}"
|
||||
/>
|
||||
<filter
|
||||
string="Server"
|
||||
name="group_by_server"
|
||||
domain="[]"
|
||||
context="{'group_by': 'server_id'}"
|
||||
/>
|
||||
<filter
|
||||
string="Jet Template"
|
||||
name="group_by_jet_template"
|
||||
domain="[]"
|
||||
context="{'group_by': 'jet_template_id'}"
|
||||
/>
|
||||
<filter
|
||||
string="Jet"
|
||||
name="group_by_jet"
|
||||
domain="[]"
|
||||
context="{'group_by': 'jet_id'}"
|
||||
/>
|
||||
<filter
|
||||
string="Template"
|
||||
name="group_by_template"
|
||||
domain="[]"
|
||||
context="{'group_by': 'template_id'}"
|
||||
/>
|
||||
</group>
|
||||
<searchpanel>
|
||||
<field name="source" string="Source" icon="fa-server" />
|
||||
<field name="file_type" string="File Type" icon="fa-file" />
|
||||
<field name="template_id" string="Template" icon="fa-file" />
|
||||
</searchpanel>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cx_tower_file_action" model="ir.actions.act_window">
|
||||
<field name="name">Files</field>
|
||||
<field name="res_model">cx.tower.file</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="cx_tower_file_view_search" />
|
||||
<field name="domain">[]</field>
|
||||
<field name="context">{}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Add a new file
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="cetmix_tower_file_upload_action" model="ir.actions.server">
|
||||
<field name="name">Upload</field>
|
||||
<field name="model_id" ref="model_cx_tower_file" />
|
||||
<field name="binding_model_id" ref="model_cx_tower_file" />
|
||||
<field name="state">code</field>
|
||||
<field name="code">action = records.action_push_to_server()</field>
|
||||
</record>
|
||||
|
||||
<record id="cetmix_tower_file_download_action" model="ir.actions.server">
|
||||
<field name="name">Download</field>
|
||||
<field name="model_id" ref="model_cx_tower_file" />
|
||||
<field name="binding_model_id" ref="model_cx_tower_file" />
|
||||
<field name="state">code</field>
|
||||
<field name="code">action = records.action_pull_from_server()</field>
|
||||
</record>
|
||||
|
||||
<record id="cetmix_tower_file_delete_action" model="ir.actions.server">
|
||||
<field name="name">Delete from server</field>
|
||||
<field name="model_id" ref="model_cx_tower_file" />
|
||||
<field name="binding_model_id" ref="model_cx_tower_file" />
|
||||
<field name="state">code</field>
|
||||
<field name="code">action = records.action_delete_from_server()</field>
|
||||
<field
|
||||
name="groups_id"
|
||||
eval="[
|
||||
(4, ref('cetmix_tower_server.group_manager')),
|
||||
(4, ref('cetmix_tower_server.group_root')),
|
||||
]"
|
||||
/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user