FreedomBox/plinth/modules/users/templates/users_firstboot.html
Sunil Mohan Adapa a580437de2
privileged_daemon: Introduce a command line client for the API
- Similar call signature as actions/actions.

Tests:

- Running make install places a binary file in /usr/bin/freedombox-cmd

- Running 'freedombox-cmd upgrades get_log --no-args' works.

- Running 'freedombox-cmd upgrades activate_backports --no-args' works.

- Running 'freedombox-cmd storage usage_info --no-args' works.

- Running 'freedombox-cmd sshfs is_mounted --no-args' works.

- echo '{"args": ["USERNAME", "AUTH_USER", "AUTH_PASSWORD"], "kwargs": {}}' |
sudo freedombox-cmd users remove_user.

- Distribution upgrade from Bookworm to Trixie works.

  - Snapshots are disabled and re-enabled during upgrade.

  - /etc/apt/sources.list changes are completed on completion.

- If a command fails, the return code is not 0.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
2025-09-05 20:23:36 +05:30

73 lines
2.1 KiB
HTML

{% extends "base_firstboot.html" %}
{% comment %}
# SPDX-License-Identifier: AGPL-3.0-or-later
{% endcomment %}
{% load bootstrap %}
{% load i18n %}
{% load static %}
{% block content %}
<h2>{% trans "Administrator Account" %}</h2>
{% if not admin_users %}
<p>
{% blocktrans trimmed %}
Choose a username and password to access this web interface.
The password can be changed later. This user will be granted
administrative privileges. Other users can be added later.
{% endblocktrans %}
</p>
<form class="form form-create" method="post">
{% csrf_token %}
{{ form|bootstrap }}
<input type="submit" class="btn btn-primary"
value="{% trans "Create Account" %}"/>
</form>
{% else %}
<div class="alert alert-danger d-flex align-items-center" role="alert">
<div class="me-2">
<span class="fa fa-exclamation-triangle" aria-hidden="true"></span>
<span class="visually-hidden">{% trans "Caution:" %}</span>
</div>
<div>
{% blocktrans trimmed %}
An administrator account already exists.
{% endblocktrans %}
</div>
</div>
<p>
{% blocktrans trimmed %}
The following administrator accounts exist in the system.
{% endblocktrans %}
</p>
<ul>
{% for user in admin_users %}
<li>{{ user }} </li>
{% endfor %}
</ul>
<p>
{% blocktrans trimmed %}
Delete these accounts from command line and refresh the page to create
an account that is usable with {{ box_name }}. On the command line run
the command "echo '{"args": ["USERNAME", "AUTH_USER", "AUTH_PASSWORD"],
"kwargs": {}}' | sudo freedombox-cmd users remove_user". If an account
is already usable with {{ box_name }}, skip this step.
{% endblocktrans %}
</p>
<form class="form form-skip" method="post">
{% csrf_token %}
<input type="submit" class="btn btn-link" name="skip"
value="{% trans "Skip this step" %}"/>
</form>
{% endif %}
{% endblock %}