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

<?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>