diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index 43b8caa846..3acb4ff3ad 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -275,8 +275,11 @@ def update_exchange_rates(): def run_backup(): """Run the backup command.""" - call_command("dbbackup", noinput=True, clean=True, compress=True, interactive=False) - call_command("mediabackup", noinput=True, clean=True, compress=True, interactive=False) + from common.models import InvenTreeSetting + + if InvenTreeSetting.get_setting('INVENTREE_BACKUP_ENABLE'): + call_command("dbbackup", noinput=True, clean=True, compress=True, interactive=False) + call_command("mediabackup", noinput=True, clean=True, compress=True, interactive=False) def send_email(subject, body, recipients, from_email=None, html_message=None): diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index b9dc4559f3..a972e8487b 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -886,6 +886,13 @@ class InvenTreeSetting(BaseInvenTreeSetting): ] }, + 'INVENTREE_BACKUP_ENABLE': { + 'name': _('Automatic Backup'), + 'description': _('Enable automatic backup of database and media files'), + 'validator': bool, + 'default': True, + }, + 'BARCODE_ENABLE': { 'name': _('Barcode Support'), 'description': _('Enable barcode scanner support'), diff --git a/InvenTree/templates/InvenTree/settings/global.html b/InvenTree/templates/InvenTree/settings/global.html index f6812bdc34..32dee05241 100644 --- a/InvenTree/templates/InvenTree/settings/global.html +++ b/InvenTree/templates/InvenTree/settings/global.html @@ -23,6 +23,7 @@ {% include "InvenTree/settings/setting.html" with key="INVENTREE_DOWNLOAD_IMAGE_MAX_SIZE" icon="fa-server" %} {% include "InvenTree/settings/setting.html" with key="INVENTREE_REQUIRE_CONFIRM" icon="fa-check" %} {% include "InvenTree/settings/setting.html" with key="INVENTREE_TREE_DEPTH" icon="fa-sitemap" %} + {% include "InvenTree/settings/setting.html" with key="INVENTREE_BACKUP_ENABLE" icon="fa-hdd" %}