mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-28 08:03:36 +00:00
- Fetch disk information for all disks using udisks - Call df as superuser so that all disks are listed (udisks doesn't need sudo) - Improved implementation to check if device is removable Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com> Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
130 lines
3.9 KiB
HTML
130 lines
3.9 KiB
HTML
{% extends "base.html" %}
|
|
{% comment %}
|
|
#
|
|
# This file is part of FreedomBox.
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as
|
|
# published by the Free Software Foundation, either version 3 of the
|
|
# License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU Affero General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Affero General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
{% endcomment %}
|
|
|
|
{% load bootstrap %}
|
|
{% load i18n %}
|
|
{% load static %}
|
|
|
|
{% block page_head %}
|
|
<style type="text/css">
|
|
.progress {
|
|
margin-bottom: 0;
|
|
}
|
|
</style>
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
|
|
{% block pagetitle %}
|
|
<h2>{{ title }}</h2>
|
|
{% endblock %}
|
|
|
|
{% block description %}
|
|
{% for paragraph in description %}
|
|
<p>{{ paragraph|safe }}</p>
|
|
{% endfor %}
|
|
{% endblock %}
|
|
|
|
{% if manual_page %}
|
|
<p class="manual-page">
|
|
<a href="{% url 'help:manual-page' manual_page %}">
|
|
{% trans 'Learn more...' %}
|
|
</a>
|
|
</p>
|
|
{% endif %}
|
|
|
|
<p>{% trans "The following storage devices are in use:" %}</p>
|
|
|
|
<table class="table table-bordered table-condensed table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th>{% trans "Device" %}</th>
|
|
<th>{% trans "Label" %}</th>
|
|
<th>{% trans "Mount Point" %}</th>
|
|
<th>{% trans "Type" %}</th>
|
|
<th>{% trans "Used" %}</th>
|
|
<th>{% trans "Actions" %}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for disk in disks %}
|
|
<tr>
|
|
<td>{{ disk.device }}</td>
|
|
<td>{{ disk.label|default_if_none:"" }}</td>
|
|
<td>{{ disk.mount_point }}</td>
|
|
<td>{{ disk.filesystem_type }}</td>
|
|
<td>
|
|
<div class="progress">
|
|
{% if disk.percent_used < 75 %}
|
|
<div class="progress-bar progress-bar-striped progress-bar-success"
|
|
{% elif disk.percent_used < 90 %}
|
|
<div class="progress-bar progress-bar-striped progress-bar-warning"
|
|
{% else %}
|
|
<div class="progress-bar progress-bar-striped progress-bar-danger"
|
|
{% endif %}
|
|
role="progressbar" aria-valuenow="disk.percent_used"
|
|
aria-valuemin="0" aria-valuemax="100"
|
|
style="width: {{ disk.percent_used }}%;">
|
|
{{ disk.percent_used }}%
|
|
</div>
|
|
</div>
|
|
<div>{{ disk.used_str }} / {{ disk.size_str }}</div>
|
|
</td>
|
|
<td>
|
|
{% if disk.is_removable %}
|
|
<form class="form" method="post"
|
|
action="{% url 'storage:eject' disk.device|urlencode:'' %}">
|
|
{% csrf_token %}
|
|
|
|
<button type="submit"
|
|
class="btn btn-sm btn-default fa fa-eject">
|
|
</button>
|
|
</form>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
|
|
{% if expandable_root_size %}
|
|
<h3>{% trans "Partition Expansion" %}</h3>
|
|
<p>
|
|
{% blocktrans trimmed %}
|
|
There is {{ expandable_root_size }} of unallocated space
|
|
available after your root partition. Root partition can be
|
|
expanded to use this space. This will provide you additional
|
|
free space to store your files.
|
|
{% endblocktrans %}
|
|
</p>
|
|
<p>
|
|
<a class="btn btn-primary btn-md" href="{% url 'storage:expand' %}"
|
|
role="button">
|
|
{% trans "Expand Root Partition" %}</a>
|
|
</p>
|
|
{% endif %}
|
|
|
|
{% block status %}
|
|
|
|
{{ block.super }}
|
|
|
|
{% endblock %}
|
|
{% endblock %}
|