SPRA-2 add admin; add user list; add user; change permissions
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
{% block title %}Admin{% endblock %}
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col col-2 card">
|
||||
<div class="card-body d-flex justify-content-center">
|
||||
<div><a href="{{ path('app_admin_users') }}" class="btn btn-primary">Konta użytkowników</a></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col card">
|
||||
<div class="card-body">
|
||||
{% block content %}
|
||||
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,12 @@
|
||||
{% extends 'admin/index.html.twig' %}
|
||||
{% block content %}
|
||||
{% if plainPassword is null %}
|
||||
{{ form(form) }}
|
||||
{% else %}
|
||||
<div class="alert alert-success">
|
||||
Utworzono użytkownika!<br>
|
||||
Login: {{ user.username }}<br>
|
||||
Hasło: {{ plainPassword }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,35 @@
|
||||
{% extends 'admin/index.html.twig' %}
|
||||
{% block content %}
|
||||
<div class="form-check form-switch">
|
||||
<input type="checkbox" class="form-check-input" id="switch{{ permissionAll.case.value }}"
|
||||
{% if user.isGranted(permissionAll.case) %}checked{% endif %}
|
||||
disabled
|
||||
>
|
||||
<label class="form-check-label" for="switch{{ permissionAll.case.value }}">{{ permissionAll.case.takeLang }}</label>
|
||||
</div>
|
||||
<form action="{{ path('app_admin_user_edit',{id:user.id}) }}" method="post">
|
||||
<input type="hidden" name="token" value="{{ csrf_token('admin-user-edit-permission') }}">
|
||||
{% for permissionOverall in permissionAll.children %}
|
||||
<div style="padding-left: 30px;">
|
||||
<div class="form-check form-switch">
|
||||
<input type="checkbox" class="form-check-input" id="switch{{ permissionOverall.case.value }}" name="{{ permissionOverall.case.value }}"
|
||||
{% if user.isGranted(permissionOverall.case) %}checked{% endif %}
|
||||
onchange="this.form.submit()"
|
||||
>
|
||||
<label class="form-check-label" for="switch{{ permissionOverall.case.value }}">{{ permissionOverall.case.takeLang }}</label>
|
||||
</div>
|
||||
{% for permissions in permissionOverall.children %}
|
||||
<div style="padding-left: 30px;">
|
||||
<div class="form-check form-switch">
|
||||
<input type="checkbox" class="form-check-input" id="switch{{ permissions.value }}" name="{{ permissions.value }}"
|
||||
{% if user.isGranted(permissions) %}checked{% endif %}
|
||||
onchange="this.form.submit()"
|
||||
>
|
||||
<label class="form-check-label" for="switch{{ permissions.value }}">{{ permissions.takeLang }}</label>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,65 @@
|
||||
{% extends 'admin/index.html.twig' %}
|
||||
{% block content %}
|
||||
<div class="page admin users" data-controller="admin-users">
|
||||
<a href="{{ path('app_admin_user_add') }}" class="btn btn-success">Dodaj użytkownika</a>
|
||||
<table class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<td>Nazwa</td>
|
||||
<td>Uprawnienia</td>
|
||||
<td>Reset hasła</td>
|
||||
<td>Usuń</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for user in users %}
|
||||
<tr>
|
||||
<td>{{ loop.index }}</td>
|
||||
<td>{{ user.username }}</td>
|
||||
<td>
|
||||
{% for role in user.getEnumRoles %}
|
||||
{{ role.takeLang }},
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ path('app_admin_user_edit',{id:user.id}) }}" class="btn btn-success">Edytuj Uprawnienia</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ path('app_admin_user_add_success',{id:user.id}) }}" class="btn btn-primary">Reset hasła</a>
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn btn-danger confirmRemoveUser"
|
||||
type="button"
|
||||
data-username="{{ user.username }}"
|
||||
data-formlink="{{ path('app_admin_user_remove',{id:user.id}) }}"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#removeConfirmModal"
|
||||
>Usuń</button>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="modal fade" id="removeConfirmModal" tabindex="-1" aria-labelledby="removeConfirmModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title fs-5" id="removeConfirmModalLabel">Czy na pewno chcesz usunąć konto <strong class="insertUsername"></strong>?</h1>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<h3>Tej operacji nie można cofnąć!</h3>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
||||
<form action="" method="post">
|
||||
<input type="hidden" name="token" value="{{ csrf_token('admin-remove-user') }}">
|
||||
<button type="submit" class="btn btn-danger">Usuń</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,19 @@
|
||||
{% extends 'admin/index.html.twig' %}
|
||||
{% block content %}
|
||||
<div class="alert alert-success">
|
||||
{% if newUser %}
|
||||
<h4 class="alert-heading">
|
||||
Poprawnie dodano nowego użytkownia!
|
||||
</h4>
|
||||
<p>
|
||||
Nazwa nowego użytkownika: <strong>{{ user.username }}</strong>
|
||||
</p>
|
||||
<hr>
|
||||
{% endif %}
|
||||
<p class="mb-0">
|
||||
Link do wygenerowania hasła:
|
||||
<input type="text" value="{{ activationLink }}" class="form-control">
|
||||
</p>
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -25,7 +25,13 @@
|
||||
</div>
|
||||
{# <img src="..." class="card-img-top" alt="...">#}
|
||||
<div class="card-body">
|
||||
<h5 class="card-title"><a href="{{ path('app_client',{id: report.client.id}) }}" class="link-{{ reports.status.linkColor }}">{{ report.client.strName }}</a></h5>
|
||||
<h5 class="card-title">
|
||||
{% if is_granted('clientView') %}
|
||||
<a href="{{ path('app_client',{id: report.client.id}) }}" class="link-{{ reports.status.linkColor }}">{{ report.client.strName }}</a>
|
||||
{% else %}
|
||||
{{ report.client.strName }}
|
||||
{% endif %}
|
||||
</h5>
|
||||
{# <h6 class="card-subtitle text-muted">Numer sprawozdania: </h6>#}
|
||||
<div class="card-text">
|
||||
<form action="{{ path('app_set_status_todo') }}" method="post">
|
||||
|
||||
@@ -26,7 +26,11 @@
|
||||
<div class="card text-white bg-{{ schedule.getStatus.backgroundColor }}">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">
|
||||
<a href="{{ path('app_client',{id: schedule.client.id}) }}" class="link-dark">{{ schedule.client.strName }}</a>
|
||||
{% if is_granted('clientView') %}
|
||||
<a href="{{ path('app_client',{id: schedule.client.id}) }}" class="link-dark">{{ schedule.client.strName }}</a>
|
||||
{% else %}
|
||||
<div class="link-dark">{{ schedule.client.strName }}</div>
|
||||
{% endif %}
|
||||
</h5>
|
||||
<h6 class="card-subtitle text-muted">Pozostały czas: {{ schedule.getTimeLeft }} dni</h6>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Nowe hasło{% endblock %}
|
||||
{% block navigation %}{% endblock %}
|
||||
{% block body %}
|
||||
<div class="row justify-content-md-center">
|
||||
<div class="col col-lg-4">
|
||||
{% if user is not null %}
|
||||
<div class="alert alert-success">
|
||||
<h4 class="alert-heading">
|
||||
Wygenerowano nowe hasło!
|
||||
</h4>
|
||||
<p>
|
||||
Twoja nazwa użytkownika: <strong>{{ user.username }}</strong>
|
||||
</p>
|
||||
<p>
|
||||
Twoje nowe hasło: <strong>{{ newPassword }}</strong>
|
||||
</p>
|
||||
<hr>
|
||||
<p class="mb-0">
|
||||
Zapisz dane logowania. Jeśli je zgubisz, będziesz potrzebować nowego linku aktywacyjnego od administratora!
|
||||
</p>
|
||||
<hr>
|
||||
<p class="mb-0">
|
||||
<a href="{{ path('app_login') }}" class="btn btn-success">Zaloguj się</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="alert alert-danger">
|
||||
<p>Błędny kod aktywacyjny! Skontaktuj się z administratorem!</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user