You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
6.9 KiB
124 lines
6.9 KiB
<?xml version="1.0" encoding="utf-8" ?>
|
|
|
|
<odoo>
|
|
|
|
<!-- Database backup configuration views-->
|
|
|
|
<record id="view_db_backup_configure_list" model="ir.ui.view">
|
|
<field name="name">db.backup.configure.list</field>
|
|
<field name="model">db.backup.configure</field>
|
|
<field name="arch" type="xml">
|
|
<tree decoration-muted="(not active)">
|
|
<field name="name"/>
|
|
<field name="db_name"/>
|
|
<field name="backup_destination"/>
|
|
<field name="active"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_db_backup_configure_form" model="ir.ui.view">
|
|
<field name="name">db.backup.configure.form</field>
|
|
<field name="model">db.backup.configure</field>
|
|
<field name="arch" type="xml">
|
|
<form>
|
|
<sheet>
|
|
<div class="oe_title">
|
|
<h1>
|
|
<field name="name" placeholder="Name..."/>
|
|
</h1>
|
|
</div>
|
|
<group>
|
|
<group>
|
|
<field name="db_name"/>
|
|
<field name="master_pwd" password="True"/>
|
|
<field name="backup_format"/>
|
|
<field name="active" widget="boolean_toggle"/>
|
|
</group>
|
|
<group>
|
|
<field name="backup_destination" required="1"/>
|
|
<div class="text-muted"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'google_drive')]}">Enable and
|
|
configure Google Drive option from General Settings
|
|
</div>
|
|
<field name="backup_path"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'local')], 'required': [('backup_destination', '=', 'local')]}"/>
|
|
<field name="ftp_host"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'ftp')], 'required': [('backup_destination', '=', 'ftp')]}"/>
|
|
<field name="ftp_port"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'ftp')], 'required': [('backup_destination', '=', 'ftp')]}"/>
|
|
<field name="ftp_user"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'ftp')], 'required': [('backup_destination', '=', 'ftp')]}"/>
|
|
<field name="ftp_password"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'ftp')], 'required': [('backup_destination', '=', 'ftp')]}"
|
|
password="True"/>
|
|
<field name="ftp_path"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'ftp')], 'required': [('backup_destination', '=', 'ftp')]}"/>
|
|
<field name="sftp_host"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'sftp')], 'required': [('backup_destination', '=', 'sftp')]}"/>
|
|
<field name="sftp_port"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'sftp')], 'required': [('backup_destination', '=', 'sftp')]}"/>
|
|
<field name="sftp_user"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'sftp')], 'required': [('backup_destination', '=', 'sftp')]}"/>
|
|
<field name="sftp_password"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'sftp')], 'required': [('backup_destination', '=', 'sftp')]}"
|
|
password="True"/>
|
|
<field name="sftp_path"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'sftp')], 'required': [('backup_destination', '=', 'sftp')]}"/>
|
|
<field name="google_drive_folderid"
|
|
attrs="{'invisible': [('backup_destination', '!=', 'google_drive')], 'required': [('backup_destination', '=', 'google_drive')]}"/>
|
|
<field name="auto_remove"/>
|
|
<label for="days_to_remove" class="oe_inline"
|
|
attrs="{'invisible': [('auto_remove', '=', False)]}"/>
|
|
<div attrs="{'invisible': [('auto_remove', '=', False)]}">
|
|
<field name="days_to_remove" class="oe_inline"
|
|
attrs="{'required': [('auto_remove', '=', True)]}"/>
|
|
Days
|
|
</div>
|
|
<button name="test_connection" type="object" string="Test Connection" icon="fa-television"
|
|
attrs="{'invisible': [('backup_destination', 'not in', ('ftp', 'sftp'))]}"/>
|
|
</group>
|
|
<group>
|
|
<field name="notify_user"/>
|
|
<field name="user_id" attrs="{'invisible': [('notify_user', '=', False)]}"/>
|
|
</group>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_db_backup_configure_search" model="ir.ui.view">
|
|
<field name="name">db.backup.configure.search</field>
|
|
<field name="model">db.backup.configure</field>
|
|
<field name="arch" type="xml">
|
|
<search>
|
|
<field name="name"/>
|
|
<field name="db_name"/>
|
|
<filter string="All" name="all" domain="['|', ('active', '=', True), ('active', '!=', True)]"/>
|
|
<separator/>
|
|
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
|
|
<group expand="0" string="Group By">
|
|
<filter string="Backup Type" name="backup_type" domain="[]"
|
|
context="{'group_by': 'backup_destination'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="action_db_backup_configure" model="ir.actions.act_window">
|
|
<field name="name">Database Backup</field>
|
|
<field name="res_model">db.backup.configure</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No backup configured!
|
|
</p>
|
|
</field>
|
|
<field name="context">{'search_default_all': 1}</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_db_backup" name="Automatic Database Backup" parent="base.menu_custom" sequence="10"/>
|
|
<menuitem id="menu_db_backup_configuration" parent="menu_db_backup" name="Backup Configuration"
|
|
action="action_db_backup_configure"/>
|
|
</odoo>
|