mirror of
https://github.com/sigmasternchen/MyTube
synced 2025-03-15 04:48:55 +00:00
99 lines
No EOL
4.3 KiB
Twig
99 lines
No EOL
4.3 KiB
Twig
{% extends 'base.html.twig' %}
|
|
|
|
{% block title %}Users{% endblock %}
|
|
{% block stylesheets %}
|
|
<link rel="stylesheet" href="{{ asset("css/admin.css") }}">
|
|
{% endblock %}
|
|
|
|
{% block body %}
|
|
{% set deleteCsrfToken = csrf_token(constant("App\\Controller\\UserController::DELETE_USER_CSRF_TOKEN_ID")) %}
|
|
<div class="users bg-light shadow-5">
|
|
<table class="table">
|
|
<tr>
|
|
<th>
|
|
<input type="checkbox">
|
|
</th>
|
|
<th>
|
|
</th>
|
|
<th>
|
|
Name
|
|
</th>
|
|
<th>
|
|
Email
|
|
</th>
|
|
<th>
|
|
Roles
|
|
</th>
|
|
<th>
|
|
</th>
|
|
</tr>
|
|
{% for user in users %}
|
|
{% set isSelf = (user.id == current.id) %}
|
|
{% set canEdit = current.isSuperAdmin() or not user.isSuperAdmin() %}
|
|
{% set canDelete = not (isSelf or user.isSuperAdmin()) %}
|
|
<tr>
|
|
<td>
|
|
<input type="checkbox">
|
|
</td>
|
|
<td>
|
|
<img
|
|
src="{{ path("app_user_profile_picture", {"id": user.customId}) }}"
|
|
class="rounded-circle avatar"
|
|
alt=""
|
|
/>
|
|
</td>
|
|
<td>
|
|
{{ user.name }}
|
|
</td>
|
|
<td>
|
|
{{ user.email }}
|
|
</td>
|
|
<td>
|
|
{% for role in user.getReadableRoles() %}
|
|
<div class="customChip">{{ role }}</div>
|
|
{% endfor %}
|
|
</td>
|
|
<td>
|
|
<div class="btn-group" role="group">
|
|
<a class="btn btn-link {% if not canEdit %}disabled{% endif %}"
|
|
href="{% if isSelf %}{{ path("app_settings") }}{% else %}{{ path("app_user_edit") }}?user={{ user.customId }}{% endif %}">
|
|
<i class="fas fa-cog"></i>
|
|
</a>
|
|
<form action="{{ path("app_user_delete") }}" method="POST">
|
|
<input type="hidden" name="userId" value="{{ user.customId }}">
|
|
<input type="hidden" name="csrfToken" value="{{ deleteCsrfToken }}">
|
|
<button class="btn btn-link dropdown-toggle deleteToggle"
|
|
id="-deleteDropDown"
|
|
data-mdb-toggle="dropdown"
|
|
aria-expanded="false"
|
|
onclick=""
|
|
{% if not canDelete %}
|
|
disabled
|
|
{% endif %}
|
|
>
|
|
<i class="fas fa-trash-alt"></i>
|
|
</button>
|
|
<div class="dropdown-menu dropdown-menu-end deleteConfirm"
|
|
id="-deleteDropDownMenu"
|
|
aria-labelledby="-deleteDropDown">
|
|
Do you really want to delete this user?<br/>
|
|
<button class="btn btn-link deleteButton">YES</button>
|
|
<button class="btn btn-primary" onclick="removeClass('show', [
|
|
'#-deleteDropDown',
|
|
'#-deleteDropDownMenu'
|
|
]); return false;">NO
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
</div>
|
|
<div class="addButton">
|
|
<a type="button" class="btn btn-primary btn-floating" href="{{ path("app_user_add") }}">
|
|
<i class="fas fa-plus"></i>
|
|
</a>
|
|
</div>
|
|
{% endblock %} |