{% extends "admin_app.html" %}
{% from "library.j2" import box, form_button, standard_button, icon, access_level_description, access_level_icon %}
{% block content %}
<h1>{% trans user_name=target_user.localpart %}Edit user {{ user_name }}{% endtrans %}</h1>
<form method="POST">{{ form.csrf_token }}<div class="form layout-expanded">
	{% if target_user.deletion_request %}
	<div class="box alert">
		<header>{% trans %}This user account is pending deletion{% endtrans %}</header>
		<p>{% trans date=target_user.deletion_request.deleted_at | format_datetime %}The owner of the account sent a deletion request on {{ date }} using their app.{% endtrans %}
		<p>{% trans time=(target_user.deletion_request.pending_until - now())|format_timedelta %}The account has been locked, and will be automatically deleted permanently in {{ time }}.{% endtrans %}</p>

		<p>{% trans %}If this was a mistake, you can cancel the deletion and restore the account.{% endtrans %}</p>

		{%- call form_button("restore_from_trash", form.action_restore, class="secondary") %}{% endcall %}
	</div>
	{% elif not target_user.enabled %}
	<div class="box alert">
		<header>{% trans %}This user account is locked{% endtrans %}</header>
		<p>{% trans %}The user will not be able to log in to their account until it is unlocked again.{% endtrans %}</p>

		{%- call form_button("lock_open", form.action_enable, class="secondary") %}{% endcall %}
	</div>
	{% endif %}

	<h2 class="form-title">{% trans %}Edit user{% endtrans %}</h2>

	<div class="f-ebox">
		{{ form.localpart.label }}
		{{ form.localpart(readonly="readonly") }}
		<p class="form-desc weak">{% trans %}The login name cannot be changed.{% endtrans %}</p>
	</div>

	<div class="f-ebox">
		{{ form.display_name.label }}
		{{ form.display_name }}
	</div>
	<h3 class="form-title">{% trans %}Access Level{% endtrans %}</h3>
	<p class="form-descr weak">{% trans %}The access level of a user determines what interactions are allowed for them on your Snikket service.{% endtrans %}</p>
	<div class="f-ebox">
		<fieldset>{#- -#}
			<legend class="a11y-only">{{ form.role.label.text }}</legend>
			{%- for level in form.role -%}
			<div class="radio-button-ext">
				{{ level }}<label for="{{ level.id }}">
					{%- trans title=level.label.text, icon=access_level_icon(level.data), description=access_level_description(level.data) -%}
					<strong>{{ title }}{{ icon }}</strong><p>{{ description }}</p>
					{%- endtrans -%}
				</label>
			</div>
			{%- endfor -%}
		</fieldset>
	</div>
	<div class="f-bbox">
		{%- call standard_button("back", url_for(".users"), class="tertiary") -%}
			{%- trans -%}Return to user list{%- endtrans -%}
		{%- endcall -%}
		{%- call standard_button("delete", url_for(".delete_user", localpart=target_user.localpart), class="secondary") -%}
			{%- trans -%}Delete user{%- endtrans -%}
		{%- endcall -%}
		{%- call form_button("done", form.action_save, class="primary") %}{% endcall -%}
	</div>
</div>
<h2>{% trans %}Further actions{% endtrans %}</h2>
<div class="form layout-expanded">
	<h2 class="form-title">{% trans %}Reset password{% endtrans %}</h2>
	{{ form.csrf_token }}
	<p class="form-desc">
		{% trans %}If the user has lost their password, you can use the button below to create a special link which allows to change the password of the account, once.{% endtrans %}
	</p>
	<div class="f-bbox">
		{%- call form_button("passwd", form.action_create_reset, class="secondary") -%}{%- endcall -%}
	</div>
	<h2 class="form-title">{% trans %}Debug information{% endtrans %}</h2>
	<p class="form-desc">
		{% trans %}In some cases, extended information about the user account and the connected devices is necessary to troubleshoot issues. The button below reveals this (sensitive) information.{% endtrans %}
	</p>
	<div class="f-bbox">
		{%- call standard_button("bug_report", url_for(".debug_user", localpart=target_user.localpart), class="secondary") -%}
			{%- trans -%}Show debug information{%- endtrans -%}
		{%- endcall -%}
	</div>
</div></form>
{% endblock %}
