{% extends "portal_base.html" %} {% block title %}Device Files - OTB Cloud {% endblock %} {% block portal_content %}

Device Files

{{ user_email }}

Browsing files for {{ device.device_name }} ({{ device.device_type }}).

{% for crumb in breadcrumbs %} {{ crumb.label }} {% endfor %} {% if current_path %} Up One Level {% endif %}
Upload Files Archive Workspace Back to Dashboard
Current folder file count: {{ file_count }}
Subfolders here: {{ folders|length }}
Device path: {{ device.relative_path }}
{% with messages = get_flashed_messages(with_categories=true) %} {% if messages %}
{% for category, message in messages %}
{{ category|capitalize }}: {{ message }}
{% endfor %}
{% endif %} {% endwith %}

Folders

Navigate the preserved backup structure like a normal file browser.

Tree View
{% if folders %}
{% for folder in folders %}
📁 {{ folder.name }}
Open folder
{% endfor %}
{% else %}
No subfolders in this location.
{% endif %}
{% if files %}

{% if view_mode == 'gallery' %}Current Folder Gallery{% else %}Current Folder Files{% endif %}

{% if view_mode == 'gallery' %} Gallery view is scoped to the current folder only. {% else %} Bulk actions and rename apply to files in the current folder only. {% endif %}

Scoped
{% if view_mode == 'gallery' %} {% else %} {% for file in files %} {% set visible_name = file.display_filename or file.original_filename %} {% set rename_value = file.display_filename.rsplit('.', 1)[0] if file.display_filename and '.' in file.display_filename else file.basename %} {% set ext = (file.extension or '')|lower %} {% set is_image = (file.mime_type and file.mime_type.startswith('image/')) or ext in ['png', 'jpg', 'jpeg', 'webp', 'gif', 'bmp'] %} {% endfor %}
Select Name Kind Size Uploaded Path
Select
{{ visible_name }}
{% if file.display_filename %} Original: {{ file.original_filename }}
{% endif %} {% if is_image %} {% endif %} SHA256: {{ file.sha256 }}
{% if file.extension %} .{{ file.extension }} {% endif %}
{{ file.file_kind }} {% if file.is_immutable %}
immutable {% endif %}
{{ "{:,}".format(file.size_bytes or 0) }} bytes {{ file.uploaded_at }} {{ file.relative_path }}

{% endif %}
{% else %}

No files in this folder

This location does not currently contain any active files.

Empty
{% endif %} {% endblock %}