diff --git a/auto_backup/README.rst b/auto_backup/README.rst index 1d54f9efe..f02f62bf7 100644 --- a/auto_backup/README.rst +++ b/auto_backup/README.rst @@ -107,8 +107,9 @@ Known issues / Roadmap - On larger databases, it is possible that backups will die due to Odoo server settings. In order to circumvent this without frivolously changing settings, you need to run the backup from outside of the main - Odoo instance. How to do this is outlined in `this blog - post `__. + Odoo instance. How to do this (for version 9.0) was outlined in `this + blog + post `__. - Backups won't work if list_db=False is configured in the instance. Bug Tracker diff --git a/auto_backup/__manifest__.py b/auto_backup/__manifest__.py index 8c731aa7f..8bcb2d5cc 100644 --- a/auto_backup/__manifest__.py +++ b/auto_backup/__manifest__.py @@ -6,7 +6,7 @@ { "name": "Database Auto-Backup", "summary": "Backups database", - "version": "16.0.1.0.0", + "version": "17.0.1.0.0", "author": "Yenthe Van Ginneken, " "Agile Business Group, " "Grupo ESOC Ingenieria de Servicios, " diff --git a/auto_backup/models/db_backup.py b/auto_backup/models/db_backup.py index 18b7857a0..13e7bdc56 100644 --- a/auto_backup/models/db_backup.py +++ b/auto_backup/models/db_backup.py @@ -216,8 +216,7 @@ class DbBackup(models.Model): _logger.exception("Database backup failed: %s", self.name) escaped_tb = tools.html_escape(traceback.format_exc()) self.message_post( # pylint: disable=translation-required - body="

%s

%s
" - % (_("Database backup failed."), escaped_tb), + body=f"

{_('Database backup failed.')}

{escaped_tb}
", subtype_id=self.env.ref("auto_backup.mail_message_subtype_failure").id, ) else: @@ -264,8 +263,8 @@ class DbBackup(models.Model): _logger.exception("Cleanup of old database backups failed: %s") escaped_tb = tools.html_escape(traceback.format_exc()) self.message_post( # pylint: disable=translation-required - body="

%s

%s
" - % (_("Cleanup of old database backups failed."), escaped_tb), + body=f"

{_('Cleanup of old database backups failed.')}

" + f"
{escaped_tb}
", subtype_id=self.env.ref("auto_backup.failure").id, ) else: diff --git a/auto_backup/readme/ROADMAP.md b/auto_backup/readme/ROADMAP.md index 93e7ad754..10304e758 100644 --- a/auto_backup/readme/ROADMAP.md +++ b/auto_backup/readme/ROADMAP.md @@ -1,6 +1,6 @@ - On larger databases, it is possible that backups will die due to Odoo server settings. In order to circumvent this without frivolously changing settings, you need to run the backup from outside of the main - Odoo instance. How to do this is outlined in [this blog - post](https://blog.laslabs.com/2016/10/running-python-scripts-within-odoos-environment/). + Odoo instance. How to do this (for version 9.0) was outlined in [this blog + post](https://web.archive.org/web/20240805225230/https://blog.laslabs.com/2016/10/running-python-scripts-within-odoos-environment/). - Backups won't work if list_db=False is configured in the instance. diff --git a/auto_backup/static/description/index.html b/auto_backup/static/description/index.html index bf9d72b1c..f69c95f71 100644 --- a/auto_backup/static/description/index.html +++ b/auto_backup/static/description/index.html @@ -462,7 +462,8 @@ manually execute the selected processes.

  • On larger databases, it is possible that backups will die due to Odoo server settings. In order to circumvent this without frivolously changing settings, you need to run the backup from outside of the main -Odoo instance. How to do this is outlined in this blog +Odoo instance. How to do this (for version 9.0) was outlined in this +blog post.
  • Backups won’t work if list_db=False is configured in the instance.
  • diff --git a/auto_backup/tests/test_db_backup.py b/auto_backup/tests/test_db_backup.py index 5c77e7257..b9ebce295 100644 --- a/auto_backup/tests/test_db_backup.py +++ b/auto_backup/tests/test_db_backup.py @@ -12,7 +12,8 @@ from unittest.mock import PropertyMock, patch from odoo import tools from odoo.exceptions import UserError -from odoo.tests import common + +from odoo.addons.base.tests.common import BaseCommon _logger = logging.getLogger(__name__) try: @@ -27,13 +28,14 @@ class_name = "%s.DbBackup" % model class TestConnectionException(pysftp.ConnectionException): def __init__(self): - super(TestConnectionException, self).__init__("test", "test") + super().__init__("test", "test") -class TestDbBackup(common.TransactionCase): - def setUp(self): - super(TestDbBackup, self).setUp() - self.Model = self.env["db.backup"] +class TestDbBackup(BaseCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.Model = cls.env["db.backup"] @contextmanager def mock_assets(self): @@ -77,13 +79,7 @@ class TestDbBackup(common.TransactionCase): """It should create proper SFTP URI""" rec_id = self.new_record() self.assertEqual( - "sftp://%(user)s@%(host)s:%(port)s%(folder)s" - % { - "user": self.vals["sftp_user"], - "host": self.vals["sftp_host"], - "port": self.vals["sftp_port"], - "folder": self.vals["folder"], - }, + f"sftp://{self.vals['sftp_user']}@{self.vals['sftp_host']}:{self.vals['sftp_port']}{self.vals['folder']}", rec_id.name, ) diff --git a/auto_backup/view/db_backup_view.xml b/auto_backup/view/db_backup_view.xml index d4dc9a951..6ca645ff1 100644 --- a/auto_backup/view/db_backup_view.xml +++ b/auto_backup/view/db_backup_view.xml @@ -12,49 +12,56 @@ class="oe_highlight" /> -
    -

    - -

    -
    - - - - - - -
    -
    -

    Warning:

    - Use SFTP with caution! This writes files to external servers under the path you specify. + +
    +

    + +

    - - - - - - -
    - -
    - Automatic backups of the database can be scheduled as follows: -
      -
    1. Go to Settings / Technical / Automation / Scheduled Actions.
    2. -
    3. Search the action named 'Backup scheduler'.
    4. -
    5. Set the scheduler to active and fill in how often you want backups generated.
    6. -
    +
    +
    +

    Warning:

    + Use SFTP with caution! This writes files to external servers under the path you specify. +
    + + + + + + +
    + +
    + Automatic backups of the database can be scheduled as follows: +
      +
    1. Go to Settings / Technical / Automation / Scheduled Actions.
    2. +
    3. Search the action named 'Backup scheduler'.
    4. +
    5. Set the scheduler to active and fill in how often you want backups generated.
    6. +
    +
    + + +
    + +