Sunil Mohan Adapa 3efff2fa42
js: Simplify auto-refresh page logic
- Implement ability to refresh page at the framework level so that every page
does not need to handle it.

- Refresh after number of seconds specified in context of the view.

Tests performed:

- Trigger the following functions and ensure that page reload after 3 seconds
during the running operation while it does refresh before and after the
operation.
  - Diagnostics tests from the module.
  - Gitweb repository cloning.
  - Monkeysphere publish key to server.
  - OpenVPN setup.
  - Tor configuration update.
  - Manual software update.
  - App installation.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2020-06-29 10:09:04 +03:00

91 lines
2.4 KiB
HTML

{% extends "app.html" %}
{% comment %}
# SPDX-License-Identifier: AGPL-3.0-or-later
{% endcomment %}
{% load bootstrap %}
{% load i18n %}
{% load static %}
{% block status %}
{% if status.is_setup and not status.setup_running %}
{{ block.super }}
{% endif %}
{% if not status.is_setup and not status.setup_running %}
<h3>{% trans "Status" %}</h3>
<p>
{% blocktrans trimmed %}
OpenVPN has not yet been setup. Performing a secure setup
takes a very long time. Depending on how fast your
{{ box_name }} is, it may even take hours. If the setup
is interrupted, you may start it again.
{% endblocktrans %}
</p>
<form class="form form-setup" method="post"
action="{% url 'openvpn:setup' %}">
{% csrf_token %}
<input type="submit" class="btn btn-primary"
value="{% trans "Start setup" %}"/>
</form>
{% endif %}
{% if status.setup_running %}
<h3>{% trans "Status" %}</h3>
<p class="running-status-parent">
<span class='running-status loading'></span>
{% trans "OpenVPN setup is running" %}
</p>
<p>
{% blocktrans trimmed %}
To perform a secure setup, this process takes a very long
time. Depending on how fast your {{ box_name }} is, it may
even take hours. If the setup is interrupted, you may start
it again.
{% endblocktrans %}
</p>
{% endif %}
{% endblock %}
{% block configuration %}
{% if status.is_setup and not status.setup_running %}
<h3>{% trans "Profile" %}</h3>
<p>
{% blocktrans trimmed %}
To connect to {{ box_name }}'s VPN, you need to download a
profile and feed it to an OpenVPN client on your mobile or
desktop machine. OpenVPN Clients are available for most
platforms. Click "Learn more..." above for recommended clients
and instructions on how to configure them.
{% endblocktrans %}
</p>
<p>
{% blocktrans trimmed %}
Profile is specific to each user of {{ box_name }}. Keep it a
secret.
{% endblocktrans %}
</p>
<form class="form form-profile" method="post"
action="{% url 'openvpn:profile' %}">
{% csrf_token %}
<input type="submit" class="btn btn-primary"
value="{% trans "Download my profile" %}"/>
</form>
{% endif %}
{% endblock %}