format
This commit is contained in:
		@@ -26,14 +26,14 @@
 | 
			
		||||
                    Rollen:
 | 
			
		||||
                    <ul class="list-disc ms-4">
 | 
			
		||||
                        {% for role in user.proper_roles -%}
 | 
			
		||||
                          {% if not role.cluster %}
 | 
			
		||||
                            <li>
 | 
			
		||||
                                <strong>{{ role.name }}:</strong> Hier folgt eine Beschreibung der Rolle
 | 
			
		||||
                                {% if allowed_to_edit %}
 | 
			
		||||
                                    <a href="/admin/user/{{ user.id }}/remove-role/{{ role.id }}"
 | 
			
		||||
                                       onclick="return confirm('Willst du die Rolle \'{{ role.name }}\' von {{ user.name }} wirklich entfernen?');">🗑️</a>
 | 
			
		||||
                                {% endif %}
 | 
			
		||||
                            </li>
 | 
			
		||||
                            {% if not role.cluster %}
 | 
			
		||||
                                <li>
 | 
			
		||||
                                    <strong>{{ role.name }}:</strong> Hier folgt eine Beschreibung der Rolle
 | 
			
		||||
                                    {% if allowed_to_edit %}
 | 
			
		||||
                                        <a href="/admin/user/{{ user.id }}/remove-role/{{ role.id }}"
 | 
			
		||||
                                           onclick="return confirm('Willst du die Rolle \'{{ role.name }}\' von {{ user.name }} wirklich entfernen?');">🗑️</a>
 | 
			
		||||
                                    {% endif %}
 | 
			
		||||
                                </li>
 | 
			
		||||
                            {% endif %}
 | 
			
		||||
                        {% endfor %}
 | 
			
		||||
                    </ul>
 | 
			
		||||
@@ -60,14 +60,14 @@
 | 
			
		||||
            <h2 class="h2">Vereinsmitglied</h2>
 | 
			
		||||
            <div class="mx-2 divide-y divide-gray-200 dark:divide-primary-600">
 | 
			
		||||
                <div class="py-3">
 | 
			
		||||
                <ul class="list-disc ms-4">
 | 
			
		||||
                    <ul class="list-disc ms-4">
 | 
			
		||||
                        <li>Mitglied seit: {{ user.member_since_date }}</li>
 | 
			
		||||
                        <li>Geburtsdatum: {{ user.birthdate }}</li>
 | 
			
		||||
                        <li>Adresse: {{ user.address }}</li>
 | 
			
		||||
                        <li>
 | 
			
		||||
                            Familie: {{ macros::select(label="Familie", data=families, name='family_id', selected_id=user.family_id, display=['names'], default="Keine Familie", new_last_entry='Neue Familie anlegen') }}
 | 
			
		||||
                        </li>
 | 
			
		||||
                        </ul>
 | 
			
		||||
                    </ul>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="py-3">
 | 
			
		||||
                    {% if user.membership_pdf %}
 | 
			
		||||
@@ -105,10 +105,10 @@
 | 
			
		||||
            <h2 class="h2">Aktivität von und mit {{ user.name }}</h2>
 | 
			
		||||
            <div class="mx-2 divide-y divide-gray-200 dark:divide-primary-600">
 | 
			
		||||
                <div class="py-3">
 | 
			
		||||
                  <ul class="list-disc ms-4">
 | 
			
		||||
                  <li>Passwort zurückgesetzt am/um X</li>
 | 
			
		||||
                  <li>Am X beigetreten.</li>
 | 
			
		||||
                  </ul>
 | 
			
		||||
                    <ul class="list-disc ms-4">
 | 
			
		||||
                        <li>Passwort zurückgesetzt am/um X</li>
 | 
			
		||||
                        <li>Am X beigetreten.</li>
 | 
			
		||||
                    </ul>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
@@ -116,64 +116,64 @@
 | 
			
		||||
             role="alert">
 | 
			
		||||
            <h2 class="h2">TODO</h2>
 | 
			
		||||
            <div class="border-t bg-white dark:bg-primary-900 py-3 px-4 relative">
 | 
			
		||||
                        <span class="text-black dark:text-white cursor-pointer">
 | 
			
		||||
                            <span class="font-bold">
 | 
			
		||||
                                {{ user.name }}
 | 
			
		||||
                                {% if not user.last_access and allowed_to_edit and user.mail %}
 | 
			
		||||
                                    <form action="/admin/user"
 | 
			
		||||
                                          method="post"
 | 
			
		||||
                                          enctype="multipart/form-data"
 | 
			
		||||
                                          class="inline">
 | 
			
		||||
                                        • <a class="font-normal text-primary-600 dark:text-primary-200 hover:text-primary-900 dark:hover:text-primary-300 underline"
 | 
			
		||||
                <span class="text-black dark:text-white cursor-pointer">
 | 
			
		||||
                    <span class="font-bold">
 | 
			
		||||
                        {{ user.name }}
 | 
			
		||||
                        {% if not user.last_access and allowed_to_edit and user.mail %}
 | 
			
		||||
                            <form action="/admin/user"
 | 
			
		||||
                                  method="post"
 | 
			
		||||
                                  enctype="multipart/form-data"
 | 
			
		||||
                                  class="inline">
 | 
			
		||||
                                • <a class="font-normal text-primary-600 dark:text-primary-200 hover:text-primary-900 dark:hover:text-primary-300 underline"
 | 
			
		||||
    href="/admin/user/{{ user.id }}/send-welcome-mail"
 | 
			
		||||
    onclick="return confirm('Willst du wirklich das Willkommensmail an {{ user.name }} ausschicken?');">Willkommensmail verschicken</a>
 | 
			
		||||
                                    </form>
 | 
			
		||||
                                {% endif %}
 | 
			
		||||
                            </span>
 | 
			
		||||
                        </span>
 | 
			
		||||
                    <form action="/admin/user"
 | 
			
		||||
                          method="post"
 | 
			
		||||
                          enctype="multipart/form-data"
 | 
			
		||||
                          class="w-full mt-2">
 | 
			
		||||
                        {% if user.pw %}
 | 
			
		||||
                            <a class="block my-1 font-normal text-[#f43f5e] dark:text-primary-200 hover:text-primary-900 dark:hover:text-primary-300 underline"
 | 
			
		||||
                               href="/admin/user/{{ user.id }}/reset-pw"
 | 
			
		||||
                               onclick="return confirm('Willst du wirklich das Passwort zurücksetzen?');">Passwort zurücksetzen</a>
 | 
			
		||||
                            </form>
 | 
			
		||||
                        {% endif %}
 | 
			
		||||
                        <div class="w-full grid gap-3 mt-3">
 | 
			
		||||
                            <input type="hidden" name="id" value="{{ user.id }}" />
 | 
			
		||||
                            <div class="grid sm:grid-cols-2 lg:grid-cols-4 gap-3">
 | 
			
		||||
                                {% for cluster, cluster_roles in roles | group_by(attribute="cluster") %}
 | 
			
		||||
                                    <label for="cluster_{{ loop.index }}">{{ cluster }}</label>
 | 
			
		||||
                                    {# Determine the initially selected role within the cluster #}
 | 
			
		||||
                                    {% set_global selected_role_id = "none" %}
 | 
			
		||||
                                    {% for role in cluster_roles %}
 | 
			
		||||
                                        {% if selected_role_id == "none" and role.name in user.roles %}
 | 
			
		||||
                                            {% set_global selected_role_id = role.id %}
 | 
			
		||||
                                        {% endif %}
 | 
			
		||||
                                    {% endfor %}
 | 
			
		||||
                                    {# Set default name to the selected role ID or first role if none selected #}
 | 
			
		||||
                                    <select id="cluster_{{ loop.index }}"
 | 
			
		||||
                                            {% if selected_role_id == 'none' %} {% else %} name="roles[{{ selected_role_id }}]" {% endif %}
 | 
			
		||||
                                            {% if allowed_to_edit == false %}disabled{% endif %}
 | 
			
		||||
                                            onchange=" if (this.value === '') { this.removeAttribute('name'); } else { this.name = 'roles[' + this.options[this.selectedIndex].getAttribute('data-role-id') + ']'; }">
 | 
			
		||||
                                        <option value=""
 | 
			
		||||
                                                data-role-id="none"
 | 
			
		||||
                                                {% if selected_role_id == 'none' %}selected="selected"{% endif %}>
 | 
			
		||||
                                            None
 | 
			
		||||
                                        </option>
 | 
			
		||||
                                        {% for role in cluster_roles %}
 | 
			
		||||
                                            <option value="on"
 | 
			
		||||
                                                    data-role-id="{{ role.id }}"
 | 
			
		||||
                                                    {% if role.id == selected_role_id %}selected="selected"{% endif %}>
 | 
			
		||||
                                                {{ role.name }}
 | 
			
		||||
                                            </option>
 | 
			
		||||
                                        {% endfor %}
 | 
			
		||||
                                    </select>
 | 
			
		||||
                    </span>
 | 
			
		||||
                </span>
 | 
			
		||||
                <form action="/admin/user"
 | 
			
		||||
                      method="post"
 | 
			
		||||
                      enctype="multipart/form-data"
 | 
			
		||||
                      class="w-full mt-2">
 | 
			
		||||
                    {% if user.pw %}
 | 
			
		||||
                        <a class="block my-1 font-normal text-[#f43f5e] dark:text-primary-200 hover:text-primary-900 dark:hover:text-primary-300 underline"
 | 
			
		||||
                           href="/admin/user/{{ user.id }}/reset-pw"
 | 
			
		||||
                           onclick="return confirm('Willst du wirklich das Passwort zurücksetzen?');">Passwort zurücksetzen</a>
 | 
			
		||||
                    {% endif %}
 | 
			
		||||
                    <div class="w-full grid gap-3 mt-3">
 | 
			
		||||
                        <input type="hidden" name="id" value="{{ user.id }}" />
 | 
			
		||||
                        <div class="grid sm:grid-cols-2 lg:grid-cols-4 gap-3">
 | 
			
		||||
                            {% for cluster, cluster_roles in roles | group_by(attribute="cluster") %}
 | 
			
		||||
                                <label for="cluster_{{ loop.index }}">{{ cluster }}</label>
 | 
			
		||||
                                {# Determine the initially selected role within the cluster #}
 | 
			
		||||
                                {% set_global selected_role_id = "none" %}
 | 
			
		||||
                                {% for role in cluster_roles %}
 | 
			
		||||
                                    {% if selected_role_id == "none" and role.name in user.roles %}
 | 
			
		||||
                                        {% set_global selected_role_id = role.id %}
 | 
			
		||||
                                    {% endif %}
 | 
			
		||||
                                {% endfor %}
 | 
			
		||||
                            </div>
 | 
			
		||||
                                {# Set default name to the selected role ID or first role if none selected #}
 | 
			
		||||
                                <select id="cluster_{{ loop.index }}"
 | 
			
		||||
                                        {% if selected_role_id == 'none' %} {% else %} name="roles[{{ selected_role_id }}]" {% endif %}
 | 
			
		||||
                                        {% if allowed_to_edit == false %}disabled{% endif %}
 | 
			
		||||
                                        onchange=" if (this.value === '') { this.removeAttribute('name'); } else { this.name = 'roles[' + this.options[this.selectedIndex].getAttribute('data-role-id') + ']'; }">
 | 
			
		||||
                                    <option value=""
 | 
			
		||||
                                            data-role-id="none"
 | 
			
		||||
                                            {% if selected_role_id == 'none' %}selected="selected"{% endif %}>
 | 
			
		||||
                                        None
 | 
			
		||||
                                    </option>
 | 
			
		||||
                                    {% for role in cluster_roles %}
 | 
			
		||||
                                        <option value="on"
 | 
			
		||||
                                                data-role-id="{{ role.id }}"
 | 
			
		||||
                                                {% if role.id == selected_role_id %}selected="selected"{% endif %}>
 | 
			
		||||
                                            {{ role.name }}
 | 
			
		||||
                                        </option>
 | 
			
		||||
                                    {% endfor %}
 | 
			
		||||
                                </select>
 | 
			
		||||
                            {% endfor %}
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </form>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </form>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="bg-white dark:bg-primary-900 text-black dark:text-white rounded-md block shadow mt-5"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user