{% extends 'base.html' %} {% block content %}

{{ t('backup.title', 'Backups') }}

{{ t('backup.description', 'Create, download, upload and restore complete AssetManager backups.') }}

{{ t('backup.directory', 'Backup directory') }}{{ backup_directory }}
{{ t('backup.interval', 'Interval') }}{{ t('backup.every_hours', 'Every {hours} hours', hours=backup_interval_hours) }}
{{ t('backup.retention', 'Retention') }}{{ t('backup.days', '{days} days', days=backup_retention_days) }}

{{ t('backup.automatic_title', 'Automatic backup') }}

{{ t('backup.automatic_help', 'Backups are created automatically according to the configured interval and deleted after the retention period.') }}

{{ t('backup.active', 'Active') }}

{{ t('backup.contents_help', 'Each backup contains a PostgreSQL database dump, configuration, APPINFO and uploaded files. Environment variables and the .env file are not included.') }}

{{ t('backup.upload_title', 'Upload backup') }}

{{ t('backup.upload_help', 'Upload an AssetManager backup ZIP to make it available for download or restoration.') }}

{{ t('backup.available', 'Available backups') }}

{{ t('backup.available_help', 'Stored backups can be downloaded, restored or deleted here.') }}

{{ backups|length }}
{% if backups %}
{% for backup in backups %}{% endfor %}
{{ t('backup.file', 'File') }}{{ t('backup.created', 'Created') }}{{ t('backup.version', 'Version') }}{{ t('backup.reason', 'Reason') }}{{ t('backup.size', 'Size') }}{{ t('common.actions', 'Actions') }}
{{ backup.name }}{% if not backup.valid %}
{{ t('backup.invalid_metadata', 'Metadata could not be read') }}{% endif %}
{{ backup.version if backup.version else t('backup.version_unknown') }}{{ t('backup.reason_' ~ (backup.reason or 'unknown'), backup.reason or '—') }}{{ '%.2f'|format(backup.size / 1024 / 1024) }} MB
{{ t('backup.download', 'Download') }}

{{ t('backup.restore_title', 'Restore backup') }}

{{ t('backup.restore_warning', 'The current database, configuration and uploads will be replaced. A safety backup is created immediately before restoration.') }}

{% else %}
{{ t('backup.none_title', 'No backups yet') }}

{{ t('backup.none', 'No backups are available yet.') }}

{% endif %}
{% endblock %}