{% extends 'base.html.twig' %} {% block title %}User Management{% endblock %} {% block body %} {% set createPanelOpen = form.vars.submitted and not form.vars.valid %}

User management

Create user

{{ form_start(form, {attr: {novalidate: 'novalidate'}}) }}
{{ form_label(form.email, null, {label_attr: {class: 'form-label'}}) }} {{ form_widget(form.email, {attr: {class: 'form-control'}}) }} {{ form_errors(form.email) }}
{{ form_label(form.displayName, null, {label_attr: {class: 'form-label'}}) }} {{ form_widget(form.displayName, {attr: {class: 'form-control'}}) }} {{ form_errors(form.displayName) }}
{{ form_label(form.plainPassword.first, null, {label_attr: {class: 'form-label'}}) }} {{ form_widget(form.plainPassword.first, {attr: {class: 'form-control'}}) }} {{ form_errors(form.plainPassword.first) }}
{{ form_label(form.plainPassword.second, null, {label_attr: {class: 'form-label'}}) }} {{ form_widget(form.plainPassword.second, {attr: {class: 'form-control'}}) }} {{ form_errors(form.plainPassword.second) }}
{{ form_errors(form.plainPassword) }} {{ form_end(form) }}

Accounts

{{ rows|length }} total
{% for row in rows %} {% set user = row.user %} {% set isSelf = app.user and app.user.id == user.id %} {% set isAdminUser = 'ROLE_ADMIN' in user.roles %} {% set canDelete = (not isSelf) and (not isAdminUser) %} {% set isModerator = 'ROLE_MODERATOR' in user.roles %} {% set canPromote = is_granted('ROLE_ADMIN') and not isAdminUser %} {% set promoteReason = '' %} {% if not canPromote %} {% if not is_granted('ROLE_ADMIN') %} {% set promoteReason = 'Only administrators can update roles.' %} {% else %} {% set promoteReason = isModerator ? 'Demote not available.' : 'Promotion not available.' %} {% endif %} {% endif %} {% set deleteReason = '' %} {% if not canDelete %} {% if isSelf %} {% set deleteReason = 'You cannot delete your own account.' %} {% elseif isAdminUser %} {% set deleteReason = 'Administrators cannot be deleted.' %} {% else %} {% set deleteReason = 'Delete not available.' %} {% endif %} {% endif %} {% else %} {% endfor %}
Name Email Roles Albums Reviews Actions
{% set avatar = user.profileImagePath %} {% if avatar %} Avatar for {{ user.displayName ?? user.email }} {% else %}
{{ (user.displayName ?? user.email)|slice(0,1)|upper }}
{% endif %}
{{ user.displayName ?? '—' }}
{{ user.email }}
{{ user.email }} {% for role in user.roles %} {% if role == 'ROLE_ADMIN' %} Admin {% elseif role == 'ROLE_MODERATOR' %} Moderator {% elseif role == 'ROLE_USER' %} User {% endif %} {% endfor %} {{ row.albumCount }} {{ row.reviewCount }}
No users found.
{% endblock %}