V-Beta-1.0.0
Vision is out of alpha !
This commit is contained in:
5
templates/_cells/adminGroupActions.html.twig
Normal file
5
templates/_cells/adminGroupActions.html.twig
Normal file
@@ -0,0 +1,5 @@
|
||||
{% if currentPath != path('admin_group_view', {'id': group.id}) %}
|
||||
<a href="{{ path('admin_group_view', {'id': group.id}) }}" class="btn btn-primary btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_view{% endtrans %}"><i class="far fa-eye"></i></a>
|
||||
{% endif %}
|
||||
<a href="{{ path('admin_group_edit', {'id': group.id}) }}" class="btn btn-success btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_edit{% endtrans %}"><i class="far fa-edit"></i></a>
|
||||
<a href="{{ path('admin_group_delete', {'id': group.id}) }}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_delete{% endtrans %}" onclick="return confirm('{% trans %}confirm_ok_delete{% endtrans %}')"><i class="fa fa-trash"></i></a>
|
||||
3
templates/_cells/adminLogsActions.html.twig
Normal file
3
templates/_cells/adminLogsActions.html.twig
Normal file
@@ -0,0 +1,3 @@
|
||||
<a href="{{ path('admin_logs_view', {'filename': filename}) }}" class="btn btn-success btn-sm mx-1" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_view{% endtrans %}"><i class="fas fa-eye"></i></a>
|
||||
<a href="{{ path('admin_logs_download', {'filename': filename}) }}" target="_blank" class="btn btn-info btn-sm mx-1" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_download{% endtrans %}"><i class="fas fa-file-download"></i></a>
|
||||
<a href="{{ path('admin_logs_delete', {'filename': filename}) }}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_delete{% endtrans %}" onclick="return confirm('{% trans %}confirm_ok_delete{% endtrans %}')"><i class="fa fa-trash"></i></a>
|
||||
6
templates/_cells/adminRankActions.html.twig
Normal file
6
templates/_cells/adminRankActions.html.twig
Normal file
@@ -0,0 +1,6 @@
|
||||
{% if currentPath != path('admin_group_rank_view', {'id': rank.id}) %}
|
||||
<a href="{{ path('admin_group_rank_view', {'id': rank.id}) }}" class="btn btn-primary btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_view{% endtrans %}"><i class="far fa-eye"></i></a>
|
||||
{% endif %}
|
||||
<a href="{{ path('admin_group_rank_edit', {'id': rank.id}) }}" class="btn btn-success btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_edit{% endtrans %}"><i class="far fa-edit"></i></a>
|
||||
<a href="{{ path('admin_group_rank_delete', {'id': rank.id}) }}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_delete{% endtrans %}" onclick="return confirm('{% trans %}confirm_ok_delete{% endtrans %}')"><i class="fa fa-trash"></i></a>
|
||||
<a href="{{ path('admin_group_rank_copy', {'id': rank.id}) }}" class="btn btn-info btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_copy{% endtrans %}"><i class="fas fa-copy"></i></a>
|
||||
5
templates/_cells/adminSubGroupActions.html.twig
Normal file
5
templates/_cells/adminSubGroupActions.html.twig
Normal file
@@ -0,0 +1,5 @@
|
||||
{% if currentPath != path('admin_group_subgroup_view', {'id': subgroup.id}) %}
|
||||
<a href="{{ path('admin_group_subgroup_view', {'id': subgroup.id}) }}" class="btn btn-primary btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_view{% endtrans %}"><i class="far fa-eye"></i></a>
|
||||
{% endif %}
|
||||
<a href="{{ path('admin_group_subgroup_edit', {'id': subgroup.id}) }}" class="btn btn-success btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_edit{% endtrans %}"><i class="far fa-edit"></i></a>
|
||||
<a href="{{ path('admin_group_subgroup_delete', {'id': subgroup.id}) }}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_delete{% endtrans %}" onclick="return confirm('{% trans %}confirm_ok_delete{% endtrans %}')"><i class="fa fa-trash"></i></a>
|
||||
10
templates/_cells/adminUserActions.html.twig
Normal file
10
templates/_cells/adminUserActions.html.twig
Normal file
@@ -0,0 +1,10 @@
|
||||
{% if currentPath != path('admin_user_view', {'id': user.id}) %}
|
||||
<a href="{{ path('admin_user_view', {'id': user.id}) }}" class="btn btn-primary btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_view{% endtrans %}"><i class="far fa-eye"></i></a>
|
||||
{% endif %}
|
||||
<a href="{{ path('admin_user_edit', {'id': user.id}) }}" class="btn btn-success btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_edit{% endtrans %}"><i class="far fa-edit"></i></a>
|
||||
{% if user.isDesactivated %}
|
||||
<a href="{{ path('admin_user_disable', {'id': user.id}) }}" class="btn btn-warning btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_user_enable{% endtrans %}"><i class="fas fa-user-check"></i></a>
|
||||
{% else %}
|
||||
<a href="{{ path('admin_user_disable', {'id': user.id}) }}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_user_disable{% endtrans %}"><i class="fas fa-user-times"></i></a>
|
||||
{% endif %}
|
||||
<a href="{{ path('home', { _want_to_be_this_user: user.email }) }}" class="btn btn-info btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_become_user{% endtrans %}"><i class="fas fa-user-secret"></i></a>
|
||||
14
templates/_cells/adminUserInformations.html.twig
Normal file
14
templates/_cells/adminUserInformations.html.twig
Normal file
@@ -0,0 +1,14 @@
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_full_name{% endtrans %} : {{user.fullName}}</li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_email{% endtrans %} : <span class="hidethis">{{user.email}}</span></li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_roles{% endtrans %} : {% for r in user.roles %}[ {{ r }} ] {% endfor %}</li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_group{% endtrans %} : {{user.mainGroup ? user.mainGroup.name : 'value_no_group'|trans}}</li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_rank{% endtrans %} : {{user.mainRank ? user.mainRank.name : 'value_no_group'|trans}}</li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_subgroups{% endtrans %} : {% if user.subGroups %}
|
||||
{% for sg in user.subGroups %}{{ sg.name}}{% if loop.last == false %}, {% endif %}{% endfor %}
|
||||
{% else %}{{'value_no_subgroups'|trans}}{% endif %}</li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_verified{% endtrans %} : {{user.isVerified ? 'value_yes'|trans : 'value_no'|trans }}</li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_desactivated{% endtrans %} : {{user.isDesactivated ? 'value_yes'|trans : 'No'}}</li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_created_at{% endtrans %} : {{user.createdAt |date('_datetime.format'|trans)}}</li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_admin_mode{% endtrans %} : {{user.adminMode ? 'value_yes'|trans : 'value_no'|trans }}</li>
|
||||
</ul>
|
||||
41
templates/_cells/adminUserTable.html.twig
Normal file
41
templates/_cells/adminUserTable.html.twig
Normal file
@@ -0,0 +1,41 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-dark table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">#</th>
|
||||
{% if noemail is not defined %}
|
||||
<th scope="col">{% trans %}title_email{% endtrans %}</th>
|
||||
{% endif %}
|
||||
<th scope="col">{% trans %}title_full_name{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_group{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_verified{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_created_at{% endtrans %}</th>
|
||||
{% if noaction is not defined %}
|
||||
<th scope="col">{% trans %}title_actions{% endtrans %}</th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for i in users %}
|
||||
<tr>
|
||||
<th scope="row">{{i.id}}</th>
|
||||
{% if noemail is not defined %}
|
||||
<td><span class="hidethis">{{i.email}}</span></td>
|
||||
{% endif %}
|
||||
<td>
|
||||
{{ i.fullName }} {% if 'ROLE_ADMIN' in i.roles %}<span class="text-warning">({% trans %}title_user_admin{% endtrans %})</span>{% endif %}
|
||||
{% if i.isDesactivated %}<span class="text-danger">({% trans %}title_desactivated{% endtrans %})</span>{% endif %}
|
||||
</td>
|
||||
<td>{{i.mainGroup ? i.mainGroup.shortName : 'value_no_group'|trans}}, {{i.mainRank ? i.mainRank.shortName : 'value_no_rank'|trans}}</td>
|
||||
<td>{{i.isVerified ? 'value_yes'|trans : 'value_no'|trans}}</td>
|
||||
<td>{{i.createdAt |date('_datetime.format'|trans)}}</td>
|
||||
{% if noaction is not defined %}
|
||||
<td>
|
||||
{% include '_cells/adminUserActions.html.twig' with {'user': i} %}
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
6
templates/_cells/commentActions.html.twig
Normal file
6
templates/_cells/commentActions.html.twig
Normal file
@@ -0,0 +1,6 @@
|
||||
{% if is_granted('edit', comment) %}
|
||||
<a href="{{ path('comment_edit', {'id': comment.id}) }}" class="btn btn-success btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_edit{% endtrans %}"><i class="far fa-edit"></i></a>
|
||||
{% endif %}
|
||||
{% if is_granted('delete', comment) %}
|
||||
<a href="{{ path('comment_delete', {'id': comment.id}) }}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_delete{% endtrans %}" onclick="return confirm('{% trans %}confirm_ok_delete{% endtrans %}')"><i class="fa fa-trash"></i></a>
|
||||
{% endif %}
|
||||
50
templates/_cells/directoryActions.html.twig
Normal file
50
templates/_cells/directoryActions.html.twig
Normal file
@@ -0,0 +1,50 @@
|
||||
{% if currentPath != path('directory_view', {'id': directory.id}) and noview is not defined %}
|
||||
<a href="{{ path('directory_view', {'id': directory.id}) }}" class="btn btn-primary btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_view{% endtrans %}"><i class="far fa-eye"></i></a>
|
||||
{% endif %}
|
||||
{% if is_granted('edit', directory) and noedit is not defined %}
|
||||
<a href="{{ path('directory_edit', {'id': directory.id}) }}" class="btn btn-success btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_edit{% endtrans %}"><i class="far fa-edit"></i></a>
|
||||
{% endif %}
|
||||
{% if is_granted('delete', directory) and nodelete is not defined %}
|
||||
<a href="{{ path('directory_delete', {'id': directory.id}) }}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_delete{% endtrans %}" onclick="return confirm('{% trans %}confirm_ok_delete{% endtrans %}')"><i class="fa fa-trash"></i></a>
|
||||
{% endif %}
|
||||
{% if currentPath == path('directory_view', {'id': directory.id}) and noview is not defined %}
|
||||
{% if is_granted('merge', directory) and nodelete is not defined %}
|
||||
<span data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_merge{% endtrans %}">
|
||||
<button type="button" class="btn btn-info btn-sm" data-bs-toggle="modal" data-bs-target="#combinedirectorymodal" ><i class="fas fa-compress"></i></button>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if addtofolder is defined %}
|
||||
<a href="{{ path('folder_directory_add', {'id': addtofolder, 'Directory': directory.id}) }}" class="btn btn-success btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_add_to_folder{% endtrans %}"><i class="fas fa-folder-plus"></i></a>
|
||||
{% endif %}
|
||||
{% if removefromfolder is defined %}
|
||||
<a href="{{ path('folder_directory_remove', {'id': removefromfolder, 'Directory': directory.id}) }}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_remove_from_folder{% endtrans %}" onclick="return confirm('{% trans %}confirm_ok_remove_from_folder{% endtrans %}')"><i class="fas fa-folder-minus"></i></a>
|
||||
{% endif %}
|
||||
|
||||
{% if is_granted('merge', directory) and nodelete is not defined %}
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="combinedirectorymodal" tabindex="-1" role="dialog" aria-labelledby="combinedirectorymodalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<form method="POST" action="{{ path('directory_merge_router') }}">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="combinedirectorymodalLabel">{% trans %}title_merge_directory{% endtrans %}</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group">
|
||||
<label for="recipient-name" class="col-form-label">{% trans %}title_form_id_merge_into{% endtrans %} :</label>
|
||||
<input type="text" class="form-control" id="directory-main" name="directory-main" placeholder="1...." />
|
||||
<input type="hidden" value="{{ directory.id }}" id="directory-child" name="directory-child" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{% trans %}button_cancel{% endtrans %}</button>
|
||||
<button type="submit" class="btn btn-primary">{% trans %}button_ok{% endtrans %}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
78
templates/_cells/directoryCard.html.twig
Normal file
78
templates/_cells/directoryCard.html.twig
Normal file
@@ -0,0 +1,78 @@
|
||||
<div class="card user-card user-card-1">
|
||||
<div class="card-header">{{ directory.fullname}} <span class="float-end">{% include '_cells/directoryActions.html.twig' with {'directory': directory} %}</span></div>
|
||||
<div class="card-body pb-0">
|
||||
{% if directory.dead %}<p class="text-danger">{% trans %}title_directory_dead{% endtrans %}</p>{% endif %}
|
||||
{% if directory.wanted %}<p class="text-danger">{% trans %}title_directory_wanted{% endtrans %}</p>{% endif %}
|
||||
|
||||
<div class="row">
|
||||
{% set path_directories_uploads = 'uploads/directories' %}
|
||||
{% if directory.faceImageSize != 0 %}{% set faceImage = path_directories_uploads ~ '/' ~ directory.faceImageName %}{% else %}{% set faceImage = 'img/nophoto.jpg' %}{% endif %}
|
||||
<div class="col-2">
|
||||
<a data-toggle="lightbox" data-gallery="directory" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}title_faceImage{% endtrans %}: {{ directory.faceImageDate ? directory.faceImageDate|date('_datetime.format'|trans) : 'value_no_picture'|trans }}" data-caption="{{ directory.fullname}} | {% trans %}title_faceImage{% endtrans %}: {{ directory.faceImageDate ? directory.faceImageDate|date('_datetime.format'|trans) : 'value_no_picture'|trans }}" href="{{ asset(faceImage) }}"><img class="img-fluid m-1 wid-80 directory-picture-card" src="{{ asset(faceImage) }}" alt="{{ directory.fullname}}"></a>
|
||||
</div>
|
||||
{% if directory.backImageSize != 0 %}{% set backImage = path_directories_uploads ~ '/' ~ directory.backImageName %}{% else %}{% set backImage = 'img/nophoto.jpg' %}{% endif %}
|
||||
<div class="col-2">
|
||||
<a data-toggle="lightbox" data-gallery="directory" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}title_backImage{% endtrans %}: {{ directory.backImageDate ? directory.backImageDate|date('_datetime.format'|trans) : 'value_no_picture'|trans }}" data-caption="{{ directory.fullname}} | {% trans %}title_backImage{% endtrans %}: {{ directory.backImageDate ? directory.backImageDate|date('_datetime.format'|trans) : 'value_no_picture'|trans }}" href="{{ asset(backImage) }}"><img class="img-fluid m-1 wid-80 directory-picture-card" src="{{ asset(backImage) }}" alt="{{ directory.fullname}}"></a>
|
||||
</div>
|
||||
{% if directory.rightImageSize != 0 %}{% set rightImage = path_directories_uploads ~ '/' ~ directory.rightImageName %}{% else %}{% set rightImage = 'img/nophoto.jpg' %}{% endif %}
|
||||
<div class="col-2">
|
||||
<a data-toggle="lightbox" data-gallery="directory" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}title_rightImage{% endtrans %}: {{ directory.rightImageDate ? directory.rightImageDate|date('_datetime.format'|trans) : 'value_no_picture'|trans }}" data-caption="{{ directory.fullname}} | {% trans %}title_rightImage{% endtrans %}: {{ directory.rightImageDate ? directory.rightImageDate|date('_datetime.format'|trans) : 'value_no_picture'|trans }}" href="{{ asset(rightImage) }}"><img class="img-fluid m-1 wid-80 directory-picture-card" src="{{ asset(rightImage) }}" alt="{{ directory.fullname}}"></a>
|
||||
</div>
|
||||
{% if directory.leftImageSize != 0 %}{% set leftImage = path_directories_uploads ~ '/' ~ directory.leftImageName %}{% else %}{% set leftImage = 'img/nophoto.jpg' %}{% endif %}
|
||||
<div class="col-2">
|
||||
<a data-toggle="lightbox" data-gallery="directory" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}title_leftImage{% endtrans %}: {{ directory.leftImageDate ? directory.leftImageDate|date('_datetime.format'|trans) : 'value_no_picture'|trans }}" data-caption="{{ directory.fullname}} | {% trans %}title_leftImage{% endtrans %}: {{ directory.leftImageDate ? directory.leftImageDate|date('_datetime.format'|trans) : 'value_no_photo'|trans }}" href="{{ asset(leftImage) }}"><img class="img-fluid m-1 wid-80 directory-picture-card" src="{{ asset(leftImage) }}" alt="{{ directory.fullname}}"></a>
|
||||
</div>
|
||||
|
||||
{% if directory.idCardImageSize != 0 %}
|
||||
<div class="col-2">
|
||||
<a data-toggle="lightbox" data-gallery="directory" href="{{ asset(path_directories_uploads ~ '/' ~ directory.idCardImageName) }}"><img class="img-fluid m-1 wid-80 directory-picture-card" src="{{ asset(path_directories_uploads ~ '/' ~ directory.idCardImageName) }}" alt="{% trans %}tooltip_id_card{% endtrans %}"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if app.user.hasPermission('general_legal_view') %}
|
||||
{% if directory.carLicenceImageSize != 0 %}
|
||||
<div class="col-2">
|
||||
<a data-toggle="lightbox" data-gallery="directory" href="{{ asset(path_directories_uploads ~ '/' ~ directory.carLicenceImageName) }}"><img class="img-fluid m-1 wid-80 directory-picture-card" src="{{ asset(path_directories_uploads ~ '/' ~ directory.carLicenceImageName) }}" alt="{% trans %}tooltip_car_licence{% endtrans %}"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if directory.motorcycleLicenceImageSize != 0 %}
|
||||
<div class="col-2">
|
||||
<a data-toggle="lightbox" data-gallery="directory" href="{{ asset(path_directories_uploads ~ '/' ~ directory.motorcycleLicenceImageName) }}"><img class="img-fluid m-1 wid-80 directory-picture-card" src="{{ asset(path_directories_uploads ~ '/' ~ directory.motorcycleLicenceImageName) }}" alt="{% trans %}tooltip_motorcycle_licence{% endtrans %}"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if directory.truckLicenceImageSize != 0 %}
|
||||
<div class="col-2">
|
||||
<a data-toggle="lightbox" data-gallery="directory" href="{{ asset(path_directories_uploads ~ '/' ~ directory.truckLicenceImageName) }}"><img class="img-fluid m-1 wid-80 directory-picture-card" src="{{ asset(path_directories_uploads ~ '/' ~ directory.truckLicenceImageName) }}" alt="{% trans %}tooltip_truck_licence{% endtrans %}"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if directory.boatLicenceImageSize != 0 %}
|
||||
<div class="col-2">
|
||||
<a data-toggle="lightbox" data-gallery="directory" href="{{ asset(path_directories_uploads ~ '/' ~ directory.boatLicenceImageName) }}"><img class="img-fluid m-1 wid-80 directory-picture-card" src="{{ asset(path_directories_uploads ~ '/' ~ directory.boatLicenceImageName) }}" alt="{% trans %}tooltip_boat_licence{% endtrans %}"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<ul class="list-group list-group-flush fa-ul">
|
||||
<li class="list-group-item"><span class="fa-li"><i class="fas fa-birthday-cake"></i></span>{% trans %}title_birthdate{% endtrans %} : {{ directory.birthdate ? directory.birthdate | date("d/m/Y") : 'value_no_value'|trans }}{% if directory.dead %}, {% trans %}title_dead{% endtrans %}{% endif %}</li>
|
||||
<li class="list-group-item"><span class="fa-li"><i class="fas fa-phone"></i></span>{% trans %}title_phone{% endtrans %} : {{ directory.phone | default('value_no_value'|trans) }}</li>
|
||||
<li class="list-group-item"><span class="fa-li"><i class="fas fa-transgender-alt"></i></span>{% trans %}title_gender{% endtrans %} : {{ directory.gender | default('value_no_value'|trans) }}</li>
|
||||
<li class="list-group-item"><span class="fa-li"><i class="fas fa-arrows-alt-v"></i></span>{% trans %}title_height{% endtrans %} : {{ directory.height | default('value_no_value'|trans) }}</li>
|
||||
<li class="list-group-item"><span class="fa-li"><i class="fas fa-weight"></i></span>{% trans %}title_weight{% endtrans %} : {{ directory.weight | default('value_no_value'|trans) }}</li>
|
||||
{% if app.user.hasPermission('general_legal_view') %}
|
||||
<li class="list-group-item"><span class="fa-li"><i class="fas fa-wheelchair"></i></span>Groupe associé : {% if directory.gang %} <a href="{{ path('document_view', {id: directory.gang.id}) }}">{{ directory.gang.title }}</a> {% endif %}</li>
|
||||
{% if directory.wanted %}
|
||||
<li class="list-group-item text-danger"><span class="fa-li"><i class="far fa-id-badge"></i></span>{% trans %}title_directory_wanted_light{% endtrans %} : {{ directory.wantedReason | default('value_no_value'|trans) }}</li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</ul>
|
||||
<div class="card">
|
||||
<div class="card-header"><i class="fas fa-home"></i> {% trans %}title_address{% endtrans %}</div>
|
||||
<div class="card-body">
|
||||
{{ directory.address | default('value_no_value'|trans) | raw }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% if app.user.hasPermission('general_medical_view') %}
|
||||
{% include '_cells/directoryCardMedical.html.twig' with {'directory': directory} %}
|
||||
{% endif %}
|
||||
38
templates/_cells/directoryCardMedical.html.twig
Normal file
38
templates/_cells/directoryCardMedical.html.twig
Normal file
@@ -0,0 +1,38 @@
|
||||
<div class="card user-card user-card-1">
|
||||
<div class="card-header">{% trans %}title_medical_informations{% endtrans %}
|
||||
{% if is_granted('edit', directory) %}
|
||||
<span class="float-end">
|
||||
<a href="{{ path('directory_edit', {'id': directory.id}) }}" class="btn btn-success btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_edit_medical{% endtrans %}"><i class="far fa-edit"></i></a>
|
||||
</span>
|
||||
{% endif %}</div>
|
||||
<div class="card-body pb-0">
|
||||
<div class=" mb-2 p-2 border">
|
||||
<p>{% trans %}title_medical_family_history{% endtrans %}</p><hr>
|
||||
{{ directory.medicalFamilyHistory | raw }}
|
||||
</div>
|
||||
<div class=" mb-2 p-2 border">
|
||||
<p>{% trans %}title_medical_history{% endtrans %}</p><hr>
|
||||
{{ directory.medicalHistory | raw }}
|
||||
</div>
|
||||
<div class=" mb-2 p-2 border">
|
||||
<p>{% trans %}title_medical_allergies{% endtrans %}</p><hr>
|
||||
{{ directory.medicalAllergies | raw }}
|
||||
</div>
|
||||
<div class=" mb-2 p-2 border">
|
||||
<p>{% trans %}title_medical_blood{% endtrans %}</p><hr>
|
||||
{{ directory.medicalBloodGroup | raw }}
|
||||
</div>
|
||||
<div class=" mb-2 p-2 border">
|
||||
<p>{% trans %}title_medical_drugs{% endtrans %}</p><hr>
|
||||
{{ directory.medicalDrugs | raw }}
|
||||
</div>
|
||||
<div class=" mb-2 p-2 border">
|
||||
<p>{% trans %}title_medical_alcohol{% endtrans %}</p><hr>
|
||||
{{ directory.medicalAlcohol | raw }}
|
||||
</div>
|
||||
<div class=" mb-2 p-2 border">
|
||||
<p>{% trans %}title_medical_treatment{% endtrans %}</p><hr>
|
||||
{{ directory.medicalTreatment | raw }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
39
templates/_cells/directoryTable.html.twig
Normal file
39
templates/_cells/directoryTable.html.twig
Normal file
@@ -0,0 +1,39 @@
|
||||
{% if directories|length > 0 %}
|
||||
<div class="table-responsive">
|
||||
<table class="table table-dark table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{% trans %}title_full_name{% endtrans %}</th>
|
||||
{% if date is not defined %}<th scope="col">{% trans %}title_informations{% endtrans %}</th>{% endif %}
|
||||
{% if noaction is not defined %}
|
||||
<th scope="col">{% trans %}title_actions{% endtrans %}</th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for i in directories %}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{{ path('directory_view', {'id': i.id}) }}" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_view{% endtrans %}"># {{i.id}} - {{i.fullName}}{% if i.dead %}, {% trans %}title_dead{% endtrans %}{% endif %}</a>
|
||||
{% if i.wanted %}<p class="text-danger">{% trans %}title_directory_wanted_light{% endtrans %}</p>{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
<ul>
|
||||
{% if nogender is not defined %}<li>{% trans %}title_gender{% endtrans %}: {{i.gender}}</li>{% endif %}
|
||||
{% if nophone is not defined %}<li>{% trans %}title_phone{% endtrans %}: {{i.phone}}</li>{% endif %}
|
||||
{% if nodate is not defined %}<li>{% trans %}title_created_at{% endtrans %}: {{i.createdAt |date('_datetime.format'|trans)}}</li>{% endif %}
|
||||
</ul>
|
||||
</td>
|
||||
{% if noaction is not defined %}
|
||||
<td>
|
||||
{% include '_cells/directoryActions.html.twig' with {'directory': i} %}
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% else %}
|
||||
<p>{% trans %}no_data{% endtrans %}</p>
|
||||
{% endif %}
|
||||
27
templates/_cells/documentActions.html.twig
Normal file
27
templates/_cells/documentActions.html.twig
Normal file
@@ -0,0 +1,27 @@
|
||||
{% if is_granted('view', document) %}
|
||||
{% if currentPath != path('document_view', {'id': document.id}) and noview is not defined %}
|
||||
<a href="{{ path('document_view', {'id': document.id}) }}" class="btn btn-primary btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_view{% endtrans %}"><i class="far fa-eye"></i></a>
|
||||
{% endif %}
|
||||
{% if is_granted('edit', document) and noedit is not defined %}
|
||||
<a href="{{ path('document_edit', {'id': document.id}) }}" class="btn btn-success btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_edit{% endtrans %}"><i class="far fa-edit"></i></a>
|
||||
{% endif %}
|
||||
{% if is_granted('delete', document) and nodelete is not defined %}
|
||||
<a href="{{ path('document_delete', {'id': document.id}) }}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_delete{% endtrans %}" onclick="return confirm('{% trans %}confirm_ok_delete{% endtrans %}')"><i class="fa fa-trash"></i></a>
|
||||
{% endif %}
|
||||
{% if document.allowShare and noshare is not defined %}
|
||||
<a href="{{ path('share', {'share': document.share}) }}" class="btn btn-info btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_share_link{% endtrans %}" target="_blank"><i class="fa fa-link"></i></a>
|
||||
{% endif %}
|
||||
{% if is_granted('archive', document) and noarchive is not defined %}
|
||||
<a href="{{ path('document_archive', {'id': document.id}) }}" class="btn btn-{% if document.archive %}danger{% else %}info{% endif %} btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% if document.archive %}{% trans %}tooltip_unarchive{% endtrans %}{% else %}{% trans %}tooltip_archive{% endtrans %}{% endif %}" onclick="return confirm('Are you ok to {% if document.archive %}un{% endif %}archive this ?')"><i class="fas fa-archive"></i></a>
|
||||
{% endif %}
|
||||
|
||||
{% if addtofolder is defined %}
|
||||
<a href="{{ path('folder_document_add', {'id': addtofolder, 'Document': document.id}) }}" class="btn btn-success btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_add_to_folder{% endtrans %}"><i class="fas fa-folder-plus"></i></a>
|
||||
{% endif %}
|
||||
{% if removefromfolder is defined %}
|
||||
<a href="{{ path('folder_document_remove', {'id': removefromfolder, 'Document': document.id}) }}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_remove_from_folder{% endtrans %}" onclick="return confirm('{% trans %}confirm_ok_remove_from_folder{% endtrans %}')"><i class="fas fa-folder-minus"></i></a>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<span class="text-danger"><i class="fas fa-eye-slash"></i></span>
|
||||
{% endif %}
|
||||
122
templates/_cells/documentTable.html.twig
Normal file
122
templates/_cells/documentTable.html.twig
Normal file
@@ -0,0 +1,122 @@
|
||||
{% if documents[0].directory is not defined %}{% set nodirectorylink = true %}{% endif %}
|
||||
{% set slicelimit = (limit is defined)? limit : null %}
|
||||
{% set counter = 0 %}
|
||||
|
||||
{% if documents|length > 0 %}
|
||||
<div class="table-responsive">
|
||||
<table class="table table-dark table-striped table-hover align-middle">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
{% if noicon is not defined and notype is not defined %}
|
||||
<th scope="col">
|
||||
{% if notype is not defined %}
|
||||
{% trans %}title_type{% endtrans %}
|
||||
{% endif %}
|
||||
</th>
|
||||
{% endif %}
|
||||
<th scope="col">{% trans %}title_title{% endtrans %}</th>
|
||||
<th scope="col">{% if noauthor is not defined %}{% trans %}title_author{% endtrans %} / {% endif %}{% trans %}title_date{% endtrans %}</th>
|
||||
{% if noaction is not defined %}
|
||||
<th scope="col">{% trans %}title_actions{% endtrans %}</th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for i in documents |slice(0, slicelimit) %}
|
||||
{% set counter = counter + 1 %}
|
||||
<tr>
|
||||
{% if noicon is not defined and notype is not defined %}
|
||||
<td>
|
||||
{% if noicon is not defined %}
|
||||
{% set groupLogo = 'img/nologo.png' %}
|
||||
{% if i.mainGroup %}
|
||||
{% if i.mainGroup.imageSize != 0 %}
|
||||
{% set groupLogo = 'uploads/groups/' ~ i.mainGroup.imageName %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<img src="{{ asset(groupLogo) }}" alt="{{ i.mainGroup.name }} " class="img-icon">
|
||||
{% endif %}
|
||||
{% if notype is not defined %}
|
||||
{{ ("documentType_" ~ i.classShort)|trans }}<br /><small>N°: #{{i.id}}</small>
|
||||
{% endif %}
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
<td>
|
||||
<a href="{{ path('document_view', {'id': i.id}) }}" class="text-{{ (i.archive)? 'danger' : 'primary' }}" {% if i.archive %} data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_archived{% endtrans %}" {% endif %} >`{{i.title | u.truncate(20, '...')}}`</a>
|
||||
{% if notype is defined %}
|
||||
<br /><small>N°: #{{i.id}}</small>
|
||||
{% endif %}
|
||||
{% if i.status is defined %}
|
||||
<br /><small>{% trans %}title_status{% endtrans %}:</small>
|
||||
<small>{{ i.status|trans }}</small>
|
||||
{% endif %}
|
||||
{% if i.removingDate is defined %}
|
||||
<br /><small>{% trans %}title_can_be_removed_at{% endtrans %}:</small>
|
||||
<small class="text-{% if date(i.removingDate) < date() %}danger{% endif %}{% if date(i.removingDate) == date() %}warning{% endif %}{% if date(i.removingDate) > date() %}success{% endif %}">{{ i.removingDate|date('_datetime.format'|trans) }}</small>
|
||||
{% endif %}
|
||||
{% if i.type is defined and i.type is not null %}
|
||||
<br /><small>{% trans %}title_type{% endtrans %}:</small>
|
||||
<small>{{ i.type|trans }}</small>
|
||||
{% endif %}
|
||||
{% if i.numberplate is defined and i.numberplate is not null %}
|
||||
<br /><small>{% trans %}title_numberplate{% endtrans %}:</small>
|
||||
<small>{{ i.numberplate }}</small>
|
||||
{% endif %}
|
||||
{% if i.directory is defined and nodirectoryinfo is not defined %}
|
||||
<br /><small>{% trans %}title_directory{% endtrans %}:</small>
|
||||
<small><a href="{{ path('directory_view', {'id': i.directory.id}) }}" >{{ i.directory.firstname | u.truncate(2, '.')}} {{ i.directory.lastname }} {% if i.directory.dead %}, {% trans %}title_dead{% endtrans %}{% endif %}</a></small>
|
||||
{% endif %}
|
||||
{% if i.user is defined %}
|
||||
<br /><small>{% trans %}title_user{% endtrans %}:</small>
|
||||
<small><a href="{{ path('user_view', {'id': i.user.id}) }}" >{{ i.user.firstname | u.truncate(2, '.')}} {{ i.user.lastname }}</a></small>
|
||||
{% endif %}
|
||||
{% if i.article is defined %}
|
||||
<br /><small>{% trans %}title_article{% endtrans %}:</small>
|
||||
<small data-bs-toggle="tooltip" data-placement="top" title="{{ i.article }}">{{ i.article| u.truncate(10, '...') }}</small>
|
||||
{% endif %}
|
||||
{% if i.amountMoney is defined %}
|
||||
<br /><small>{% trans %}title_amount{% endtrans %}:</small>
|
||||
<small>{{ i.amountMoney ? i.amountMoney ~ ' ' ~'currency_symbol'|trans :'value_no_value'|trans }}</small>
|
||||
{% endif %}
|
||||
{% if i.amountTime is defined %}
|
||||
<br /><small>{% trans %}title_hours{% endtrans %}:</small>
|
||||
<small>{{ i.amountTime ? i.amountTime ~ ' h' :'value_no_value'|trans}}</small>
|
||||
{% endif %}
|
||||
{% if i.accessorySentence is defined and i.accessorySentence is not null %}
|
||||
<br /><small data-bs-toggle="tooltip" data-placement="top" title="{{ i.accessorySentence|striptags }}">{% trans %}title_accessorySentence{% endtrans %} : {{ 'value_yes'|trans}}</small>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if noauthor is not defined %}
|
||||
<a href="{{ path('user_view', {'id': i.creator.id }) }}" >{{i.creator.firstname | u.truncate(2, '.')}} {{i.creator.lastname}}, {{i.creator.mainGroup ? i.creator.mainGroup.shortname : 'value_no_group'|trans}}</a><br />
|
||||
{% endif %}
|
||||
{{i.createdAt |date('_datetime.format'|trans)}}
|
||||
</td>
|
||||
{% if noaction is not defined %}
|
||||
<td>
|
||||
{% include '_cells/documentActions.html.twig' with {'document': i} %}
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{% if slicelimit is not null and documents|length > slicelimit %}
|
||||
<div class="row my-2">
|
||||
<div class="col">
|
||||
{% if nodirectorylink is not defined %}
|
||||
<a class="btn btn-primary btn-sm" href="{{ path('document_list', {'type': documents[0].classShort, 'directory': documents[0].directory.id}) }}">{% trans %}button_view_more{% endtrans %}</a>
|
||||
{% else %}
|
||||
<a class="btn btn-primary btn-sm" href="{{ path('document_list', {'type': documents[0].classShort}) }}">{% trans %}button_view_more{% endtrans %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<p>{% trans %}no_data{% endtrans %}</p>
|
||||
{% endif %}
|
||||
48
templates/_cells/historyDisplay.html.twig
Normal file
48
templates/_cells/historyDisplay.html.twig
Normal file
@@ -0,0 +1,48 @@
|
||||
<h5>{% trans %}title_order_from_last_old{% endtrans %}</h5>
|
||||
<hr>
|
||||
{% for i in history %}
|
||||
<div class="row border m-2">
|
||||
<div class="col-md-8">
|
||||
<p class="text-info">{{ ('history_' ~ i.action)|trans }} : {{ i.loggedAt |date('_datetime.format'|trans) }}
|
||||
{% if i.username %}
|
||||
{% trans %}title_author{% endtrans %}: {% if '@' in i.username and app.user.adminmode == false %} {% trans %}hided_email{% endtrans %} {% else %} {{ i.username }} {% endif %}
|
||||
{% else %}
|
||||
{% trans %}title_noauthor{% endtrans %}
|
||||
{% endif %}
|
||||
</p>
|
||||
{% if notype is not defined %}
|
||||
<p>{{ i.objectClass }} (# {{ i.objectId }})</p>
|
||||
{% endif %}
|
||||
<p>{{ ('title_data_' ~ i.action)|trans }}</p>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-dark table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{% trans %}title_field{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_value{% endtrans %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% for field, value in i.data %}
|
||||
<tr>
|
||||
<td>
|
||||
{{ ('form_label_' ~ field)|trans }}
|
||||
</td>
|
||||
<td>
|
||||
{% if value is iterable %}
|
||||
{% for x, y in value %}
|
||||
{{ x }} : {% if y is iterable %}{'iterable_value'|trans }}{% else %}{{ y }}{% endif %}
|
||||
{% endfor %}
|
||||
{% elseif value.timestamp is defined %}
|
||||
{{ value|date('_datetime.format'|trans) }}
|
||||
{% else %}
|
||||
{{ value? value|raw : 'value_no_value'|trans }}
|
||||
{% endif %}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
4
templates/_cells/notificationActions.html.twig
Normal file
4
templates/_cells/notificationActions.html.twig
Normal file
@@ -0,0 +1,4 @@
|
||||
{% if i.readed == false %}
|
||||
<a href="{{ path('notification_markread', {'id': notification.id}) }}" class="btn btn-success btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_markread{% endtrans %}"><i class="fas fa-check"></i></a>
|
||||
{% endif %}
|
||||
<a href="{{ path('notification_delete', {'id': notification.id}) }}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_delete{% endtrans %}" onclick="return confirm('{% trans %}confirm_ok_delete{% endtrans %}')"><i class="fa fa-trash"></i></a>
|
||||
33
templates/_cells/notificationTable.html.twig
Normal file
33
templates/_cells/notificationTable.html.twig
Normal file
@@ -0,0 +1,33 @@
|
||||
{% if notifications|length > 0 %}
|
||||
<div class="table-responsive">
|
||||
<table class="table table-dark table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{% if nosender is not defined %}{% trans %}title_sender{% endtrans %} / {% endif %}{% trans %}title_date{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_notification{% endtrans %}</th>
|
||||
{% if noaction is not defined %}<th>{% trans %}title_actions{% endtrans %}</th>{% endif %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for i in notifications %}
|
||||
<tr>
|
||||
<th scope="row">
|
||||
{% if nosender is not defined %}
|
||||
<a href="{{ path('user_view', {'id': i.sender.id }) }}" >{{i.sender.firstname | u.truncate(2, '.')}} {{i.sender.lastname}}, {{i.sender.mainGroup ? i.sender.mainGroup.shortname : 'value_no_group'|trans}}</a><br />
|
||||
{% endif %}
|
||||
{{i.createdAt |date('_datetime.format'|trans)}}
|
||||
</th>
|
||||
<td>{{ i.content|raw }}</td>
|
||||
{% if noaction is not defined %}
|
||||
<td>
|
||||
{% include '_cells/notificationActions.html.twig' with {'notification': i} %}
|
||||
</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% else %}
|
||||
<p>{% trans %}no_data{% endtrans %}</p>
|
||||
{% endif %}
|
||||
12
templates/_cells/userActions.html.twig
Normal file
12
templates/_cells/userActions.html.twig
Normal file
@@ -0,0 +1,12 @@
|
||||
{% if currentPath != path('user_view', {'id': user.id}) %}
|
||||
<a href="{{ path('user_view', {'id': user.id}) }}" class="btn btn-primary btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_view{% endtrans %}"><i class="far fa-eye"></i></a>
|
||||
{% endif %}
|
||||
{% if is_granted('fire', user.mainGroup) and nofire is not defined %}
|
||||
<a href="{{ path('group_fire', {'id': user.id}) }}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_fire{% endtrans %}"><i class="fas fa-user-slash"></i></a>
|
||||
{% endif %}
|
||||
{% if is_granted('employee', user.mainGroup) and noemployee is not defined %}
|
||||
<a href="{{ path('group_employee', {'id': user.id}) }}" class="btn btn-success btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_employee{% endtrans %}"><i class="fas fa-user-cog"></i></a>
|
||||
{% endif %}
|
||||
{% if is_granted('sanction', user.mainGroup) and nosanction is not defined %}
|
||||
<a href="{{ path('document_create_user', {type: 'sanction', user: user.id}) }}" class="btn btn-warning btn-sm" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_sanction{% endtrans %}"><i class="fas fa-user-times"></i></a>
|
||||
{% endif %}
|
||||
10
templates/_cells/userInformations.html.twig
Normal file
10
templates/_cells/userInformations.html.twig
Normal file
@@ -0,0 +1,10 @@
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_full_name{% endtrans %} : <a href="{{ path('user_view', {'id': user.id}) }}">{{user.fullName}}</a></li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_group{% endtrans %} : {{user.mainGroup ? user.mainGroup.name : 'value_no_group'|trans }}</li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_rank{% endtrans %} : {{user.mainRank ? user.mainRank.name : 'value_no_rank'|trans}}</li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_subgroups{% endtrans %} : {% if user.subGroups %}
|
||||
{% for sg in user.subGroups %}{{ sg.name}}{% if loop.last == false %}, {% endif %}{% endfor %}
|
||||
{% else %}{{'value_no_subgroups'|trans}}{% endif %}</li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_phone{% endtrans %} : {{user.phone ? user.phone : 'value_no_value'|trans}}</li>
|
||||
<li class="list-group-item list-group-item-dark">{% trans %}title_created_at{% endtrans %} : {{user.createdAt |date('_datetime.format'|trans)}}</li>
|
||||
</ul>
|
||||
22
templates/_cells/userTable.html.twig
Normal file
22
templates/_cells/userTable.html.twig
Normal file
@@ -0,0 +1,22 @@
|
||||
<div class="table-responsive">
|
||||
<table class="table table-dark table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">{% trans %}title_full_name{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_group{% endtrans %} / {% trans %}title_rank{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_actions{% endtrans %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for i in users %}
|
||||
<tr>
|
||||
<td>{{ i.fullName }}<br><small>{% trans %}title_phone{% endtrans %}: {{i.phone ? i.phone : 'value_no_value'|trans}}</small></td>
|
||||
<td>{{i.mainGroup ? i.mainGroup.shortName : 'value_no_group'|trans}}<br><small>{{i.mainRank ? i.mainRank.name : 'value_no_rank'|trans}}</small></td>
|
||||
<td>
|
||||
{% include '_cells/userActions.html.twig' with {'user': i} %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
129
templates/_emails/_template.html.twig
Normal file
129
templates/_emails/_template.html.twig
Normal file
@@ -0,0 +1,129 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Vision</title>
|
||||
<style>
|
||||
@media only screen and (max-width: 620px) {
|
||||
table[class=body] h1 {
|
||||
font-size: 28px !important;
|
||||
margin-bottom: 10px !important;
|
||||
}
|
||||
table[class=body] p,
|
||||
table[class=body] ul,
|
||||
table[class=body] ol,
|
||||
table[class=body] td,
|
||||
table[class=body] span,
|
||||
table[class=body] a {
|
||||
font-size: 16px !important;
|
||||
}
|
||||
table[class=body] .wrapper,
|
||||
table[class=body] .article {
|
||||
padding: 10px !important;
|
||||
}
|
||||
table[class=body] .content {
|
||||
padding: 0 !important;
|
||||
}
|
||||
table[class=body] .container {
|
||||
padding: 0 !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
table[class=body] .main {
|
||||
border-left-width: 0 !important;
|
||||
border-radius: 0 !important;
|
||||
border-right-width: 0 !important;
|
||||
}
|
||||
table[class=body] .btn table {
|
||||
width: 100% !important;
|
||||
}
|
||||
table[class=body] .btn a {
|
||||
width: 100% !important;
|
||||
}
|
||||
table[class=body] .img-responsive {
|
||||
height: auto !important;
|
||||
max-width: 100% !important;
|
||||
width: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media all {
|
||||
.ExternalClass {
|
||||
width: 100%;
|
||||
}
|
||||
.ExternalClass,
|
||||
.ExternalClass p,
|
||||
.ExternalClass span,
|
||||
.ExternalClass font,
|
||||
.ExternalClass td,
|
||||
.ExternalClass div {
|
||||
line-height: 100%;
|
||||
}
|
||||
.apple-link a {
|
||||
color: inherit !important;
|
||||
font-family: inherit !important;
|
||||
font-size: inherit !important;
|
||||
font-weight: inherit !important;
|
||||
line-height: inherit !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
#MessageViewBody a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
font-size: inherit;
|
||||
font-family: inherit;
|
||||
font-weight: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
.btn-primary table td:hover {
|
||||
background-color: #34495e !important;
|
||||
}
|
||||
.btn-primary a:hover {
|
||||
background-color: #34495e !important;
|
||||
border-color: #34495e !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="" style="background-color: #f6f6f6; font-family: sans-serif; -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.4; margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;">
|
||||
<h1 align="center">{% trans %}email_template_title{% endtrans %}</h1>
|
||||
<table border="0" cellpadding="0" cellspacing="0" class="body" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; background-color: #f6f6f6;">
|
||||
<tr>
|
||||
<td style="font-family: sans-serif; font-size: 14px; vertical-align: top;"> </td>
|
||||
<td class="container" style="font-family: sans-serif; font-size: 14px; vertical-align: top; display: block; Margin: 0 auto; max-width: 580px; padding: 10px; width: 580px;">
|
||||
<div class="content" style="box-sizing: border-box; display: block; Margin: 0 auto; max-width: 580px; padding: 10px;">
|
||||
|
||||
<!-- START CENTERED WHITE CONTAINER -->
|
||||
<span class="preheader" style="color: transparent; display: none; height: 0; max-height: 0; max-width: 0; opacity: 0; overflow: hidden; mso-hide: all; visibility: hidden; width: 0;">{% trans %}email_template_subtitle{% endtrans %}</span>
|
||||
<table class="main" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; background: #ffffff; border-radius: 3px;">
|
||||
|
||||
<!-- START MAIN CONTENT AREA -->
|
||||
<tr>
|
||||
<td class="wrapper" style="font-family: sans-serif; font-size: 14px; vertical-align: top; box-sizing: border-box; padding: 20px;">
|
||||
{% block emailcontent %}{% endblock %}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- END MAIN CONTENT AREA -->
|
||||
</table>
|
||||
|
||||
<!-- START FOOTER -->
|
||||
<div class="footer" style="clear: both; Margin-top: 10px; text-align: center; width: 100%;">
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;">
|
||||
<tr>
|
||||
<td class="content-block" style="font-family: sans-serif; vertical-align: top; padding-bottom: 10px; padding-top: 10px; font-size: 12px; color: #999999; text-align: center;">
|
||||
<span class="apple-link" style="text-decoration: underline;color: #999999; font-size: 12px; text-align: center;">{% trans %}email_template_title_send_from{% endtrans %} <a href="{{ url('home') }}">{{ url('home') }}</a></span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<!-- END FOOTER -->
|
||||
|
||||
<!-- END CENTERED WHITE CONTAINER -->
|
||||
</div>
|
||||
</td>
|
||||
<td style="font-family: sans-serif; font-size: 14px; vertical-align: top;"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
14
templates/_emails/register.html.twig
Normal file
14
templates/_emails/register.html.twig
Normal file
@@ -0,0 +1,14 @@
|
||||
{% extends '_emails/_template.html.twig' %}
|
||||
{% block emailcontent %}
|
||||
<h1>{% trans %}email_title_confirm_email{% endtrans %}</h1>
|
||||
|
||||
<p>
|
||||
{% trans %}email_text_confirm_by_clicking{% endtrans %}: <br><br>
|
||||
<a href="{{ signedUrl }}">{% trans %}email_link_confirm_my_email{% endtrans %}</a>.
|
||||
{% trans %}email_text_link_expire_in{% endtrans %} {{ expiresAtMessageKey|trans(expiresAtMessageData, 'VerifyEmailBundle') }}.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{% trans %}cheers{% endtrans %} !
|
||||
</p>
|
||||
{% endblock %}
|
||||
12
templates/_emails/resetpassword.html.twig
Normal file
12
templates/_emails/resetpassword.html.twig
Normal file
@@ -0,0 +1,12 @@
|
||||
{% extends '_emails/_template.html.twig' %}
|
||||
{% block emailcontent %}
|
||||
<h1>{% trans %}hi{% endtrans %}</h1>
|
||||
|
||||
<p>{% trans %}email_text_confirm_by_clicking{% endtrans %}</p>
|
||||
|
||||
<a href="{{ url('app_reset_password', {token: resetToken.token}) }}">{{ url('app_reset_password', {token: resetToken.token}) }}</a>
|
||||
|
||||
<p>{% trans %}email_text_link_expire_in{% endtrans %} {{ resetToken.expirationMessageKey|trans(resetToken.expirationMessageData, 'ResetPasswordBundle') }}.</p>
|
||||
|
||||
<p>{% trans %}cheers{% endtrans %} !</p>
|
||||
{% endblock %}
|
||||
1
templates/_notifications/comment_postPersist.html.twig
Normal file
1
templates/_notifications/comment_postPersist.html.twig
Normal file
@@ -0,0 +1 @@
|
||||
<a href="{{ path('user_view', {id: sender.id}) }}">{{ sender.fullname }}</a> {{ 'commented_your'|trans }} {{ ("documentType_" ~ document.getClassShort)|trans }} <a href="{{ path('document_view', {id: document.id}) }}">{{ document.title }}</a>
|
||||
1
templates/_notifications/comment_postRemove.html.twig
Normal file
1
templates/_notifications/comment_postRemove.html.twig
Normal file
@@ -0,0 +1 @@
|
||||
<a href="{{ path('user_view', {id: sender.id}) }}">{{ sender.fullname }}</a> {{ 'removed_your'|trans }} {{ 'comment'|trans }} {{ 'on'|trans }} {{ ("documentType_" ~ document.getClassShort)|trans }} <a href="{{ path('document_view', {id: document.id}) }}">{{ document.title }}</a>
|
||||
1
templates/_notifications/comment_postUpdate.html.twig
Normal file
1
templates/_notifications/comment_postUpdate.html.twig
Normal file
@@ -0,0 +1 @@
|
||||
<a href="{{ path('user_view', {id: sender.id}) }}">{{ sender.fullname }}</a> {{ 'edited_your'|trans }} {{ 'comment'|trans }} {{ 'on'|trans }} {{ ("documentType_" ~ document.getClassShort)|trans }} <a href="{{ path('document_view', {id: document.id}) }}">{{ document.title }}</a>
|
||||
1
templates/_notifications/document_postRemove.html.twig
Normal file
1
templates/_notifications/document_postRemove.html.twig
Normal file
@@ -0,0 +1 @@
|
||||
<a href="{{ path('user_view', {id: sender.id}) }}">{{ sender.fullname }}</a> {{ 'removed_your'|trans }} {{ ("documentType_" ~ document.getClassShort)|trans }} {{ document.title }}
|
||||
1
templates/_notifications/document_postUpdate.html.twig
Normal file
1
templates/_notifications/document_postUpdate.html.twig
Normal file
@@ -0,0 +1 @@
|
||||
<a href="{{ path('user_view', {id: sender.id}) }}">{{ sender.fullname }}</a> {{ 'edited_your'|trans }} {{ ("documentType_" ~ document.getClassShort)|trans }} <a href="{{ path('document_view', {id: document.id}) }}">{{ document.title }}</a>
|
||||
42
templates/admin/group.html.twig
Normal file
42
templates/admin/group.html.twig
Normal file
@@ -0,0 +1,42 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_group_list{% endtrans %}{% endblock %}
|
||||
{% block subtitle %}{% trans %}title_group_list{% endtrans %} <a href="{{ path('admin_group_add') }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a>{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-5">{{ form(searchForm) }}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<table class="table table-dark table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">#</th>
|
||||
<th scope="col">{% trans %}title_icon{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_name{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_created_at{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_actions{% endtrans %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for i in pagination %}
|
||||
{% set groupLogo = 'img/nologo.png' %}
|
||||
{% if i.imageSize != 0 %} {% set groupLogo = 'uploads/groups/' ~ i.imageName %} {% endif %}
|
||||
<tr>
|
||||
<th scope="row">{{i.id}}</th>
|
||||
<td><img src="{{ asset(groupLogo) }}" alt="{{i.shortname}}" class="img-icon"></td>
|
||||
<td>{{ i.name }}</td>
|
||||
<td>{{i.createdAt |date('_datetime.format'|trans)}}</td>
|
||||
<td>
|
||||
{% include '_cells/adminGroupActions.html.twig' with {'group': i} %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">{{ knp_pagination_render(pagination) }}</div>
|
||||
{% endblock %}
|
||||
11
templates/admin/group_add.html.twig
Normal file
11
templates/admin/group_add.html.twig
Normal file
@@ -0,0 +1,11 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_group_creation{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
{{form(form)}}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
36
templates/admin/group_documents.html.twig
Normal file
36
templates/admin/group_documents.html.twig
Normal file
@@ -0,0 +1,36 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_group_view_documents{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% set groupLogo = 'img/nologo.png' %}
|
||||
{% if group.imageSize != 0 %}
|
||||
{% set groupLogo = 'uploads/groups/' ~ group.imageName %}
|
||||
{% endif %}
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-5">{{form(searchForm)}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2>{% trans %}title_documents{% endtrans %}</h2>
|
||||
<hr>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': pagination} %}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>{% trans %}title_informations{% endtrans %}</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12 my-5">
|
||||
<div class="text-center">
|
||||
<img src="{{ asset(groupLogo) }}" alt="{{group.shortname}}" class="img-fluid">
|
||||
</div>
|
||||
<h3>{{group.name}}</h3>
|
||||
<h4>{% trans %}title_shortname{% endtrans %}: <small>{{group.shortname}}</small><span class="float-end">{% include '_cells/adminGroupActions.html.twig' with {'group': group} %}</span></h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">{{ knp_pagination_render(pagination) }}</div>
|
||||
{% endblock %}
|
||||
29
templates/admin/group_edit.html.twig
Normal file
29
templates/admin/group_edit.html.twig
Normal file
@@ -0,0 +1,29 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_group_edition{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% set groupLogo = 'img/nologo.png' %}
|
||||
|
||||
{% if group.imageSize != 0 %}
|
||||
{% set groupLogo = 'uploads/groups/' ~ group.imageName %}
|
||||
{% endif %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
{{form(form)}}
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<div class="card">
|
||||
<div class="card-header">{% trans %}form_label_group_logo{% endtrans%}</div>
|
||||
<div class="card-body">
|
||||
<p class="card-text">
|
||||
<a data-toggle="lightbox" href="{{ asset(groupLogo) }}">
|
||||
<img class="img-fluid" src="{{ asset(groupLogo) }}" alt="{{ group.name}}">
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
11
templates/admin/group_rank_add.html.twig
Normal file
11
templates/admin/group_rank_add.html.twig
Normal file
@@ -0,0 +1,11 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_group_rank_creation{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
{{form(form)}}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
11
templates/admin/group_rank_edit.html.twig
Normal file
11
templates/admin/group_rank_edit.html.twig
Normal file
@@ -0,0 +1,11 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_group_rank_edition{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
{{form(form)}}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
22
templates/admin/group_rank_view.html.twig
Normal file
22
templates/admin/group_rank_view.html.twig
Normal file
@@ -0,0 +1,22 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_group_rank_view{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<h2>{% trans %}title_rank{% endtrans %}: {{rank.name}} {% include '_cells/adminRankActions.html.twig' with {'rank': rank} %}</h2>
|
||||
<hr>
|
||||
<h3>{% trans %}title_members{% endtrans %}</h3>
|
||||
<hr>
|
||||
{% include '_cells/adminUserTable.html.twig' with {'users': rank.users} %}
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<h3>{% trans %}title_permissions{% endtrans %}</h3>
|
||||
<hr>
|
||||
{% for i in rank.permissions %}
|
||||
<p>{{i}}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
11
templates/admin/group_subgroup_add.html.twig
Normal file
11
templates/admin/group_subgroup_add.html.twig
Normal file
@@ -0,0 +1,11 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_group_subgroup_creation{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
{{form(form)}}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
11
templates/admin/group_subgroup_edit.html.twig
Normal file
11
templates/admin/group_subgroup_edit.html.twig
Normal file
@@ -0,0 +1,11 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_group_subgroup_edition{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
{{form(form)}}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
15
templates/admin/group_subgroup_view.html.twig
Normal file
15
templates/admin/group_subgroup_view.html.twig
Normal file
@@ -0,0 +1,15 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_group_subgroup_view{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<h2>{% trans %}title_subgroup{% endtrans %}: {{subgroup.name}} {% include '_cells/adminSubGroupActions.html.twig' with {'subgroup': subgroup} %}</h2>
|
||||
<hr>
|
||||
<h3>{% trans %}title_members{% endtrans %}</h3>
|
||||
<hr>
|
||||
{% include '_cells/adminUserTable.html.twig' with {'users': subgroup.users} %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
101
templates/admin/group_view.html.twig
Normal file
101
templates/admin/group_view.html.twig
Normal file
@@ -0,0 +1,101 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_group_view{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
{% set groupLogo = 'img/nologo.png' %}
|
||||
{% if group.imageSize != 0 %}
|
||||
{% set groupLogo = 'uploads/groups/' ~ group.imageName %}
|
||||
{% endif %}
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<h2>{% trans %}title_group_ranks{% endtrans %} <a href="{{ path('admin_group_rank_add', {id: group.id}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a></h2>
|
||||
<hr>
|
||||
<table class="table table-dark table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">#</th>
|
||||
<th scope="col">{% trans %}title_name{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_shortname{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_power{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_created_at{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_actions{% endtrans %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for i in group.ranks %}
|
||||
<tr>
|
||||
<th scope="row">{{i.id}}</th>
|
||||
<td>{{ i.name }}</td>
|
||||
<td>{{ i.shortname }}</td>
|
||||
<td>{{ i.power }}</td>
|
||||
<td>{{i.createdAt |date('_datetime.format'|trans)}}</td>
|
||||
<td>
|
||||
{% include '_cells/adminRankActions.html.twig' with {'rank': i} %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<h2>{% trans %}title_group_subgroups{% endtrans %} <a href="{{ path('admin_group_subgroup_add', {id: group.id}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a></h2>
|
||||
<hr>
|
||||
<table class="table table-dark table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">#</th>
|
||||
<th scope="col">{% trans %}title_name{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_shortname{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_created_at{% endtrans %}</th>
|
||||
<th scope="col">{% trans %}title_actions{% endtrans %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for i in group.subGroups %}
|
||||
<tr>
|
||||
<th scope="row">{{i.id}}</th>
|
||||
<td>{{ i.name }}</td>
|
||||
<td>{{ i.shortname }}</td>
|
||||
<td>{{i.createdAt |date('_datetime.format'|trans)}}</td>
|
||||
<td>
|
||||
{% include '_cells/adminSubGroupActions.html.twig' with {'subgroup': i} %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<h2>{% trans %}title_members{% endtrans %}</h2>
|
||||
<hr>
|
||||
{% include '_cells/adminUserTable.html.twig' with {'users': group.users} %}
|
||||
<h2>{% trans %}title_documents{% endtrans %}</h2>
|
||||
<hr>
|
||||
<a href="{{ path('admin_group_documents', {id: group.id}) }}" class="btn btn-primary">{{ 'button_group_view_documents'|trans }}</a>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>{% trans %}title_informations{% endtrans %}</h2>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12 my-5">
|
||||
<div class="text-center">
|
||||
<img src="{{ asset(groupLogo) }}" alt="{{group.shortname}}" class="img-fluid">
|
||||
</div>
|
||||
<h3>{{group.name}}</h3>
|
||||
<h4>{% trans %}title_shortname{% endtrans %}: <small>{{group.shortname}}</small><span class="float-end">{% include '_cells/adminGroupActions.html.twig' with {'group': group} %}</span></h4>
|
||||
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<h6>{% trans %}title_motd{% endtrans %}</h6>
|
||||
<hr>
|
||||
<div class="border-start p-3">
|
||||
<div class="card">
|
||||
<div class="card-body">{{ app.user.mainGroup.motd | raw }}</div>
|
||||
<div class="card-footer">{% trans %}title_last_update{% endtrans %} : {{ app.user.mainGroup.motdUpdatedAt | date('_datetime.format'|trans) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
101
templates/admin/index.html.twig
Normal file
101
templates/admin/index.html.twig
Normal file
@@ -0,0 +1,101 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_administration{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="card flat-card">
|
||||
<div class="row-table">
|
||||
<div class="col-sm-6 card-body br">
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<i class="material-icons-two-tone text-primary mb-1">person</i>
|
||||
</div>
|
||||
<div class="col-sm-8 text-md-center">
|
||||
<h5>{{ users|length }}</h5>
|
||||
<span>{% trans %}title_users{% endtrans %}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 d-none d-md-table-cell d-lg-table-cell d-xl-table-cell card-body br">
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<i class="material-icons-two-tone text-primary mb-1">sticky_note_2</i>
|
||||
</div>
|
||||
<div class="col-sm-8 text-md-center">
|
||||
<h5>{{ documents|length }}</h5>
|
||||
<span>{% trans %}title_documents{% endtrans %}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 card-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<i class="material-icons-two-tone text-primary mb-1">account_box</i>
|
||||
</div>
|
||||
<div class="col-sm-8 text-md-center">
|
||||
<h5>{{ directories|length }}</h5>
|
||||
<span>{% trans %}title_directories{% endtrans %}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row-table">
|
||||
<div class="col-sm-6 card-body br">
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<i class="material-icons-two-tone text-primary mb-1">accessible</i>
|
||||
</div>
|
||||
<div class="col-sm-8 text-md-center">
|
||||
<h5>{{ gangs|length }}</h5>
|
||||
<span>{% trans %}title_gangs{% endtrans %}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 d-none d-md-table-cell d-lg-table-cell d-xl-table-cell card-body br">
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<i class="material-icons-two-tone text-primary mb-1">folder_special</i>
|
||||
</div>
|
||||
<div class="col-sm-8 text-md-center">
|
||||
<h5>{{ folders|length }}</h5>
|
||||
<span>{% trans %}title_folders{% endtrans %}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 card-body">
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<i class="material-icons-two-tone text-primary mb-1">people</i>
|
||||
</div>
|
||||
<div class="col-sm-8 text-md-center">
|
||||
<h5>{{ groups|length }}</h5>
|
||||
<span>{% trans %}title_groups{% endtrans %}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h6>{% trans %}title_last_users{% endtrans %}</h6>
|
||||
<hr>
|
||||
{% include '_cells/adminUserTable.html.twig' with {'users': users, 'noaction': true, 'noemail': true} %}
|
||||
<h6>{% trans %}title_last_gangs{% endtrans %}</h6>
|
||||
<hr>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': gangs, 'noaction': true} %}
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h6>{% trans %}title_last_directories{% endtrans %}</h6>
|
||||
<hr>
|
||||
{% include '_cells/directoryTable.html.twig' with {'directories': directories, 'noaction': true} %}
|
||||
<h6>{% trans %}title_last_documents{% endtrans %}</h6>
|
||||
<hr>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': documents, 'noaction': true} %}
|
||||
|
||||
<h6>{% trans %}title_last_folders{% endtrans %}</h6>
|
||||
<hr>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': folders, 'noaction': true} %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
27
templates/admin/logs.html.twig
Normal file
27
templates/admin/logs.html.twig
Normal file
@@ -0,0 +1,27 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_administration_logs{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<table class="table table-dark table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">fichier</th>
|
||||
<th scope="col">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for i in files %}
|
||||
<tr>
|
||||
<th scope="row">{{i.filename}}</th>
|
||||
<td>{% include '_cells/adminLogsActions.html.twig' with {'filename': i.filename} %}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
28
templates/admin/logs_view.html.twig
Normal file
28
templates/admin/logs_view.html.twig
Normal file
@@ -0,0 +1,28 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_administration_logs{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold">
|
||||
{{ name }} {% include '_cells/adminLogsActions.html.twig' with {'filename': name} %}
|
||||
</h6>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<pre class="text-wrap">
|
||||
{{ content |raw |nl2br}}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
15
templates/admin/user.html.twig
Normal file
15
templates/admin/user.html.twig
Normal file
@@ -0,0 +1,15 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_users_list{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-5">{{form(searchForm)}}</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
{% include '_cells/adminUserTable.html.twig' with {'users': pagination} %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">{{ knp_pagination_render(pagination) }}</div>
|
||||
{% endblock %}
|
||||
11
templates/admin/user_edit.html.twig
Normal file
11
templates/admin/user_edit.html.twig
Normal file
@@ -0,0 +1,11 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_user_edition{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
{{form(form)}}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
21
templates/admin/user_view.html.twig
Normal file
21
templates/admin/user_view.html.twig
Normal file
@@ -0,0 +1,21 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_user_view{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h2>{% trans %}title_informations{% endtrans %} - {% trans %}title_admin_version{% endtrans %}</h2>
|
||||
<hr>
|
||||
{% include '_cells/adminUserActions.html.twig' with {'user': user} %}
|
||||
<hr>
|
||||
{% include '_cells/adminUserInformations.html.twig' with {'user': user} %}
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<h2>{% trans %}title_documents{% endtrans %}</h2>
|
||||
<hr>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': pagination} %}
|
||||
<div class="row">{{ knp_pagination_render(pagination) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
16
templates/admin/watchdog.html.twig
Normal file
16
templates/admin/watchdog.html.twig
Normal file
@@ -0,0 +1,16 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_administration_watchdog{% endtrans %}{% endblock %}
|
||||
{% block subtitle %}{% trans %}subtitle_administration_watchdog{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
{% include '_cells/historyDisplay.html.twig' with {'history': pagination} %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ knp_pagination_render(pagination) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
383
templates/base.html.twig
Normal file
383
templates/base.html.twig
Normal file
@@ -0,0 +1,383 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimal-ui">
|
||||
<meta name="description" content="Public services panel">
|
||||
<title>Vision - {% block title %}{% trans %}page_title{% endtrans %}{% endblock %}</title>
|
||||
<!-- HTML5 Shim and Respond.js IE11 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 11]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<!-- Meta -->
|
||||
|
||||
<!-- Favicon icon -->
|
||||
<link rel="icon" href="{{ asset('favicon.ico') }}" type="image/x-icon">
|
||||
<link rel="shortcut icon" href="{{ asset('favicon.ico') }}" type="image/x-icon">
|
||||
<link rel="icon" href="{{ asset('favicon.png') }}" type="image/png">
|
||||
<link rel="icon" sizes="32x32" href="{{ asset('favicon-32.png') }}" type="image/png">
|
||||
<link rel="icon" sizes="64x64" href="{{ asset('favicon-64.png') }}" type="image/png">
|
||||
<link rel="icon" sizes="96x96" href="{{ asset('favicon-96.png') }}" type="image/png">
|
||||
<link rel="icon" sizes="196x196" href="{{ asset('favicon-196.png') }}" type="image/png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="{{ asset('apple-touch-icon.png') }}">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="{{ asset('apple-touch-icon-60x60.png') }}">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="{{ asset('apple-touch-icon-76x76.png') }}">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="{{ asset('apple-touch-icon-114x114.png') }}">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="{{ asset('apple-touch-icon-120x120.png') }}">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="{{ asset('apple-touch-icon-144x144.png') }}">
|
||||
<meta name="msapplication-TileImage" content="{{ asset('favicon-144.png') }}">
|
||||
<meta name="msapplication-TileColor" content="#FFFFFF">
|
||||
|
||||
<!-- font css -->
|
||||
<link rel="stylesheet" href="{{ asset('fonts/feather.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('fonts/fontawesome.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('fonts/material.css') }}">
|
||||
|
||||
<!-- theme css -->
|
||||
<link rel="stylesheet" href="{{ asset('css/style.css') }}" id="main-style-link">
|
||||
<link rel="stylesheet" href="{{ asset('css/custom.css') }}">
|
||||
|
||||
{% block stylesheets %} {% endblock %}
|
||||
|
||||
{% if app.request.attributes.get('_route') is not null %}
|
||||
{% set currentPath = path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) %}
|
||||
{% else %}
|
||||
{% set currentPath = null %}
|
||||
{% endif %}
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- [ Pre-loader ] start -->
|
||||
<div class="loader-bg">
|
||||
<div class="loader-track">
|
||||
<div class="loader-fill"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- [ Pre-loader ] End -->
|
||||
{% if app.user and shared is not defined%} <!-- [ user is connected ] Start -->
|
||||
<!-- [ Mobile header ] start -->
|
||||
<div class="pc-mob-header pc-header">
|
||||
<div class="pcm-logo">
|
||||
<a href="{{ path('home') }}"><img src="{{ asset('img/logo.png') }}" alt="" class="logo logo-lg img-fluid"></a>
|
||||
</div>
|
||||
<div class="pcm-toolbar">
|
||||
<a href="#!" class="pc-head-link" id="mobile-collapse">
|
||||
<div class="hamburger hamburger--arrowturn">
|
||||
<div class="hamburger-box">
|
||||
<div class="hamburger-inner"></div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{% if is_granted('IS_IMPERSONATOR') or is_granted('ROLE_ADMIN') %}
|
||||
<a href="#!" class="pc-head-link" id="headerdrp-collapse">
|
||||
<i data-feather="align-right"></i>
|
||||
</a>
|
||||
{% endif %}
|
||||
<a href="#!" class="pc-head-link {% if user_notifications_count > 0 %}pulse{% endif %}" id="header-collapse">
|
||||
<i data-feather="more-vertical"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- [ Mobile header ] End -->
|
||||
|
||||
<!-- [ navigation menu ] start -->
|
||||
<nav class="pc-sidebar ">
|
||||
<div class="navbar-wrapper">
|
||||
<div class="m-header">
|
||||
<a href="{{ path('home') }}" class="b-brand">
|
||||
<img src="{{ asset('img/logo.png') }}" alt="VISION" class="logo logo-lg">
|
||||
<img src="{{ asset('img/logo-sm.png') }}" alt="VISION" class="logo logo-sm">
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-content">
|
||||
<ul class="pc-navbar">
|
||||
<li class="pc-item pc-caption">
|
||||
<label>{% trans %}title_navigation{% endtrans %}</label>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('home') }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">home</i></span><span class="pc-mtext">{% trans %}title_home{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('user_list') }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">view_list</i></span><span class="pc-mtext">{% trans %}title_book{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('directory_list') }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">account_box</i></span><span class="pc-mtext">{% trans %}title_directories{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'folder'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">folder_special</i></span><span class="pc-mtext">{% trans %}title_folders{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'gang'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">accessible</i></span><span class="pc-mtext">{% trans %}title_gangs{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'report'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">sticky_note_2</i></span><span class="pc-mtext">{% trans %}title_reports{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'certificate'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">content_paste</i></span><span class="pc-mtext">{% trans %}title_certificates{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'complaint'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">feedback</i></span><span class="pc-mtext">{% trans %}title_complaints{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'infringement'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">paid</i></span><span class="pc-mtext">{% trans %}title_infringements{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'jail'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">receipt</i></span><span class="pc-mtext">{% trans %}title_jails{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'bracelet'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">share_location</i></span><span class="pc-mtext">{% trans %}title_bracelets{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'criminal'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">policy</i></span><span class="pc-mtext">{% trans %}title_criminals{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'stolenvehicle'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">taxi_alert</i></span><span class="pc-mtext">{% trans %}title_stolen_vehicles{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'medical'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">vaccines</i></span><span class="pc-mtext">{% trans %}title_medicals{% endtrans %}</span></a>
|
||||
</li>
|
||||
|
||||
{% if app.user.hasPermission('group_administrate') %}
|
||||
<li class="pc-item pc-caption">
|
||||
<label>{% trans %}title_management{% endtrans %}</label>
|
||||
<span>{% trans %}subtitle_management{% endtrans %}</span>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('group_index') }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">engineering</i></span><span class="pc-mtext">{% trans %}title_general{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'template'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">description</i></span><span class="pc-mtext">{% trans %}title_templates{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('document_list', {type: 'sanction'}) }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">warning</i></span><span class="pc-mtext">{% trans %}title_sanctions{% endtrans %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if is_granted('ROLE_ADMIN') %}
|
||||
<li class="pc-item pc-caption">
|
||||
<label>{% trans %}title_administration{% endtrans %}</label>
|
||||
<span>{% trans %}subtitle_administration{% endtrans %}</span>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('admin_index') }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">dashboard</i></span><span class="pc-mtext">{% trans %}title_dashboard{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('admin_user_list') }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">person</i></span><span class="pc-mtext">{% trans %}title_users{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('admin_group_list') }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">people</i></span><span class="pc-mtext">{% trans %}title_groups{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('admin_watchdog') }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">fingerprint</i></span><span class="pc-mtext">{% trans %}title_watchdog{% endtrans %}</span></a>
|
||||
</li>
|
||||
<li class="pc-item">
|
||||
<a href="{{ path('admin_logs') }}" class="pc-link"><span class="pc-micon"><i class="material-icons-two-tone">list</i></span><span class="pc-mtext">{% trans %}title_logs{% endtrans %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- [ navigation menu ] end -->
|
||||
|
||||
<!-- [ Header ] start -->
|
||||
<header class="pc-header">
|
||||
<div class="header-wrapper">
|
||||
|
||||
<div class="me-auto pc-mob-drp">
|
||||
<ul class="list-unstyled">
|
||||
{% if is_granted('ROLE_ADMIN') %}
|
||||
<li class="pc-h-item">
|
||||
{% if app.user.adminmode %}
|
||||
<a class="pc-head-link active arrow-none me-0" href="{{ path('admin_mode') }}" role="button">
|
||||
<i class="fas fa-user-tie me-2 text-success"></i> {% trans %}adminmode_exit{% endtrans %}
|
||||
</a>
|
||||
{% else %}
|
||||
<a class="pc-head-link active arrow-none me-0" href="{{ path('admin_mode') }}" role="button">
|
||||
<i class="fas fa-user-tie me-2 text-danger"></i> {% trans %}adminmode_enter{% endtrans %}
|
||||
</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if is_granted('IS_IMPERSONATOR') %}
|
||||
<li class="pc-h-item">
|
||||
<a class="pc-head-link active arrow-none me-0" href="{{ impersonation_exit_path() }}" role="button">
|
||||
<i class="fas fa-user-secret me-2 text-success"></i> {% trans %}impersonation_exit{% endtrans %}
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="ms-auto">
|
||||
<ul class="list-unstyled">
|
||||
{% set groupLogo = 'img/nologo.png' %}
|
||||
{% if app.user.mainGroup %}
|
||||
{% if app.user.mainGroup.imageSize != 0 %}
|
||||
{% set groupLogo = 'uploads/groups/' ~ app.user.mainGroup.imageName %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<li class="dropdown pc-h-item">
|
||||
<a class="pc-head-link dropdown-toggle arrow-none me-0" data-bs-toggle="dropdown" href="#" role="button" aria-haspopup="false" aria-expanded="false">
|
||||
<img src="{{ asset(groupLogo) }}" alt="{% trans %}title_group{% endtrans %}" class="user-avtar {% if user_notifications_count > 0 %}pulse{% endif %}">
|
||||
<span>
|
||||
<span class="user-name">{% if app.user.mainRank %}{{ app.user.mainRank.shortname }}. {% endif %}{{ app.user.fullName }}
|
||||
</span>
|
||||
<span class="user-desc">{% if app.user.mainGroup %}{{ app.user.mainGroup.name }}{% endif %}</span>
|
||||
</span>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-end pc-h-dropdown" style="margin: 0px;">
|
||||
{% if user_notifications_count > 0 %}
|
||||
{% for notif in user_notifications_list %}
|
||||
<div class="dropdown-item notification_box">
|
||||
{{ (notif.icon|trans)|raw }}
|
||||
<span>{{ notif.content|raw }} <a href="{{ path('notification_markread', {'id': notif.id}) }}" class="mark-notification-readed text-success" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_markread{% endtrans %}"><i class="fas fa-check"></i></a></span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<hr />
|
||||
{% endif %}
|
||||
<a href="{{ path('me_index') }}" class="dropdown-item">
|
||||
<i class="material-icons-two-tone">account_circle</i>
|
||||
<span>{% trans %}title_profile{% endtrans %}</span>
|
||||
</a>
|
||||
<a href="{{ path('notification_list') }}" class="dropdown-item">
|
||||
<i class="material-icons-two-tone">contactless</i>
|
||||
<span>{% trans %}title_notifications{% endtrans %}</span>
|
||||
</a>
|
||||
<a href="{{ path('app_logout') }}" class="dropdown-item">
|
||||
<i class="material-icons-two-tone">power_settings_new</i>
|
||||
<span>{% trans %}title_logout{% endtrans %}</span>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</header>
|
||||
<!-- [ Header ] end -->
|
||||
<!-- [ Main Content ] start -->
|
||||
<div class="pc-container">
|
||||
<div class="pcoded-content">
|
||||
<!-- [ breadcrumb ] start -->
|
||||
<div class="page-header">
|
||||
<div class="page-block">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-12">
|
||||
{% include 'breadcrumb.html.twig' with {'items': null} %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- [ breadcrumb ] end -->
|
||||
|
||||
|
||||
<div class="row mb-3">
|
||||
<h5>{% block subtitle %}{{ block('title') }}{% endblock %}</h5>
|
||||
<hr>
|
||||
</div>
|
||||
<!-- [ page ] start -->
|
||||
{{ block('body') }}
|
||||
<!-- [ Page ] end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- [ Main Content ] end -->
|
||||
{% else %} <!-- [ user is connected (here : not)] else -->
|
||||
<!-- [ page ] start -->
|
||||
{{ block('body') }}
|
||||
<!-- [ Page ] end -->
|
||||
{% endif %} <!-- [ user is connected ] end -->
|
||||
|
||||
<div class="position-fixed bottom-0 end-0 p-3" style="z-index: 11">
|
||||
<div class="toast-container">
|
||||
{% for l, x in app.flashes %}
|
||||
{% for k, m in x %}
|
||||
<!-- [ toast ] start -->
|
||||
<div id="{{ l }}-{{ k }}" class="toast hide bg-{{ l }} text-black" role="alert" aria-live="assertive" aria-atomic="true">
|
||||
<div class="toast-header bg-{{ l }} text-black">
|
||||
{% if l == 'success' %}<i class="fas fa-check-circle"></i>
|
||||
{% elseif l == 'danger' %}<i class="fas fa-times-circle"></i>
|
||||
{% elseif l == 'warning' %}<i class="fas fa-exclamation-triangle"></i>
|
||||
{% else %}<i class="fas fa-info-circle"></i>
|
||||
{% endif %}
|
||||
{% if l == 'success' %}<strong class="me-auto">{% trans %}alert_title_success{% endtrans %}</strong>
|
||||
{% elseif l == 'danger' %}<strong class="me-auto">{% trans %}alert_title_danger{% endtrans %}</strong>
|
||||
{% elseif l == 'warning' %}<strong class="me-auto">{% trans %}alert_title_warning{% endtrans %}</strong>
|
||||
{% else %}<strong class="me-auto">{% trans %}alert_title_information{% endtrans %}</strong>
|
||||
{% endif %}
|
||||
<button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="toast-body">
|
||||
{{ m |trans }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- [ toast ] end -->
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- [ Main Content ] end -->
|
||||
<!-- Warning Section start -->
|
||||
<!-- Older IE warning message -->
|
||||
<!--[if lt IE 11]>
|
||||
<div class="ie-warning">
|
||||
<h1>Warning!!</h1>
|
||||
<p>You are using an outdated version of Internet Explorer, please upgrade
|
||||
<br/>to any of the following web browsers to access this website.
|
||||
</p>
|
||||
<div class="iew-container">
|
||||
<ul class="iew-download">
|
||||
<li>
|
||||
<a href="http://www.google.com/chrome/">
|
||||
<img src="img/browser/chrome.png" alt="Chrome">
|
||||
<div>Chrome</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.mozilla.org/en-US/firefox/new/">
|
||||
<img src="img/browser/firefox.png" alt="Firefox">
|
||||
<div>Firefox</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://www.opera.com">
|
||||
<img src="img/browser/opera.png" alt="Opera">
|
||||
<div>Opera</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.apple.com/safari/">
|
||||
<img src="img/browser/safari.png" alt="Safari">
|
||||
<div>Safari</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://windows.microsoft.com/en-us/internet-explorer/download-ie">
|
||||
<img src="img/browser/ie.png" alt="">
|
||||
<div>IE (11 & above)</div>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<p>Sorry for the inconvenience!</p>
|
||||
</div>
|
||||
<![endif]-->
|
||||
<!-- Warning Section Ends -->
|
||||
|
||||
<!-- Required Js -->
|
||||
<script src="{{ asset('js/vendor-all.min.js') }}"></script>
|
||||
<script src="{{ asset('js/plugins/bootstrap.bundle.min.js') }}"></script>
|
||||
<script src="{{ asset('js/plugins/feather.min.js') }}"></script>
|
||||
<script src="{{ asset('js/pcoded.min.js') }}"></script>
|
||||
<script src="{{ asset('js/tinymce/tinymce.min.js') }}"></script>
|
||||
<script src="{{ asset('js/bs5-lightbox.bundle.min.js') }}"></script>
|
||||
<script src="{{ asset('js/custom.js') }}"></script>
|
||||
|
||||
{% block javascripts %}{% endblock %}
|
||||
</body>
|
||||
</html>
|
||||
168
templates/breadcrumb.html.twig
Normal file
168
templates/breadcrumb.html.twig
Normal file
@@ -0,0 +1,168 @@
|
||||
|
||||
|
||||
<ul class="breadcrumb">
|
||||
<li class="breadcrumb-item" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}breadcrumb_home{% endtrans %}"><a href="{{ path('home') }}"><i class="fas fa-home"></i></a></li>
|
||||
|
||||
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractControllerName == 'Home' %}
|
||||
{% set notDefined = false %}
|
||||
<li class="breadcrumb-item" ><a href="{{ path('home') }}">{% trans %}breadcrumb_home{% endtrans %}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller') == 'error_controller' %}
|
||||
<li class="breadcrumb-item" >{% trans %}breadcrumb_error{% endtrans %} {{ app.request.attributes.get('exception').statusCode }}</li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractControllerName == 'Me' %}
|
||||
{% set notDefined = false %}
|
||||
<li class="breadcrumb-item" ><a href="{{ path('me_index') }}">{% trans %}breadcrumb_me{% endtrans %}</a></li>
|
||||
{% if app.request.attributes.get('_controller')|extractActionName == 'password' %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'me_password' ) }}">{{ 'breadcrumb_me_password'|trans }}</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractControllerName == 'Document' %}
|
||||
{% set notDefined = false %}
|
||||
{% if app.request.attributes.get("Document") %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'document_list', {type: app.request.attributes.get('Document').classShort} ) }}">{{ ('breadcrumb_' ~ app.request.attributes.get("Document").classShort ~ 's')|trans }}</a></li>
|
||||
{% if app.request.attributes.get("Document").Directory is defined %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'directory_view', {id: app.request.attributes.get('Document').Directory.id } ) }}">{{ app.request.attributes.get("Document").Directory.fullName }}</a></li>
|
||||
{% endif %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'document_view', {id:app.request.attributes.get('Document').id } ) }}">"{{ app.request.attributes.get("Document").title }}" (# {{ app.request.attributes.get("Document").id }})</a></li>
|
||||
{% else %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'document_list', {type: app.request.attributes.get('type')} ) }}">{{ ('breadcrumb_' ~ app.request.attributes.get('type')|capitalize ~ 's')|trans }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
<li class="breadcrumb-item"><a href="{{ path( app.request.attributes.get('_route'), app.request.attributes.get('_route_params') ) }}">{{ ('breadcrumb_' ~ app.request.attributes.get('_controller')|extractActionName)|trans }}</a></li>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractControllerName == 'User' %}
|
||||
{% set notDefined = false %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'user_list' ) }}">{{ ('breadcrumb_' ~ app.request.attributes.get('_controller')|extractControllerName ~ 's')|trans }}</a></li>
|
||||
{% if app.request.attributes.get("User") %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'user_view', {id: app.request.attributes.get('User').id}) }}">{{ app.request.attributes.get("User").fullName }}</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractControllerName == 'Directory' %}
|
||||
{% set notDefined = false %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'directory_list' ) }}">{{ ('breadcrumb_' ~ app.request.attributes.get('_controller')|extractControllerName ~ 's')|trans }}</a></li>
|
||||
|
||||
{% if app.request.attributes.get('_route') == 'directory_list_dead' %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'directory_list_dead' ) }}">{{ ('breadcrumb_directory_dead')|trans }}</a></li>
|
||||
{% endif %}
|
||||
{% if app.request.attributes.get('_route') == 'directory_list_wanted' %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'directory_list_wanted' ) }}">{{ ('breadcrumb_directory_wanted')|trans }}</a></li>
|
||||
{% endif %}
|
||||
{% if app.request.attributes.get("Directory") %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'directory_view', {id: app.request.attributes.get('Directory').id} ) }}">{{ app.request.attributes.get("Directory").fullName }} (# {{ app.request.attributes.get("Directory").id }})</a></li>
|
||||
{% endif %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( app.request.attributes.get('_route'), app.request.attributes.get('_route_params') ) }}">{{ ('breadcrumb_' ~ app.request.attributes.get('_controller')|extractActionName)|trans }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractControllerName == 'Group' %}
|
||||
{% set notDefined = false %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'group_index' ) }}">{{ ('breadcrumb_' ~ app.request.attributes.get('_controller')|extractControllerName ~ 's')|trans }}</a></li>
|
||||
{% if app.request.attributes.get('_controller')|extractActionName == 'employee' %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'group_employee', {id: app.request.attributes.get('Employee').id} ) }}">{{ 'breadcrumb_Employee'|trans }}: {{ app.request.attributes.get("Employee").fullName }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractControllerName == 'Folder' %}
|
||||
{% set notDefined = false %}
|
||||
<li class="breadcrumb-item" ><a href="{{ path('home') }}">{% trans %}breadcrumb_Folders{% endtrans %}</a></li>
|
||||
|
||||
{% if app.request.attributes.get("Folder") %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'document_view', {id: app.request.attributes.get('Folder').id} ) }}">"{{ app.request.attributes.get("Folder").title }}" (# {{ app.request.attributes.get("Folder").id }})</a></li>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['directory'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_list' ) }}">{{ ('breadcrumb_folder_add_directory')|trans }}</a></li>
|
||||
{% endif %}
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['document'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_list' ) }}">{{ ('breadcrumb_folder_add_document')|trans }}</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractControllerName == 'Admin' %}
|
||||
{% set notDefined = false %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_index' ) }}">{{ ('breadcrumb_admin_dashboard')|trans }}</a></li>
|
||||
|
||||
|
||||
{% if app.request.attributes.get("Group") %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_list' ) }}">{{ ('breadcrumb_admin_groups')|trans }}</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_view', {id: app.request.attributes.get('Group').id} ) }}">"{{ app.request.attributes.get("Group").name }}" (# {{ app.request.attributes.get("Group").id }})</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['group','groupAdd'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_list' ) }}">{{ ('breadcrumb_admin_groups')|trans }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['groupEdit'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_edit', {id: app.request.attributes.get('Group').id} ) }}">{{ 'breadcrumb_edit'|trans }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['groupAdd'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_add') }}">{{ 'breadcrumb_create'|trans }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['groupDocuments'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_documents', {id: app.request.attributes.get('Group').id} ) }}">{{ 'breadcrumb_documents'|trans }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['groupRankView', 'groupRankEdit'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_list' ) }}">{{ ('breadcrumb_admin_groups')|trans }}</a></li>
|
||||
{% if app.request.attributes.get("Rank") %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_view', {id: app.request.attributes.get('Rank').mainGroup.id} ) }}">"{{ app.request.attributes.get('Rank').mainGroup.name }}" (# {{ app.request.attributes.get('Rank').mainGroup.id }})</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_rank_view', {id: app.request.attributes.get('Rank').id } ) }}">{{ 'breadcrumb_rank'|trans }}: {{ app.request.attributes.get('Rank').name }}</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['groupRankEdit'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_rank_edit', {id: app.request.attributes.get('Rank').mainGroup.id} ) }}">{{ 'breadcrumb_edit'|trans }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['groupRankAdd'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_rank_add', {id: app.request.attributes.get('Group').id} ) }}">{{ 'breadcrumb_rank'|trans }}: {{ 'breadcrumb_create'|trans }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['groupSubGroupView', 'groupSubGroupEdit'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_list' ) }}">{{ ('breadcrumb_admin_groups')|trans }}</a></li>
|
||||
{% if app.request.attributes.get("SubGroup") %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_view', {id: app.request.attributes.get('SubGroup').mainGroup.id} ) }}">"{{ app.request.attributes.get('SubGroup').mainGroup.name }}" (# {{ app.request.attributes.get('SubGroup').mainGroup.id }})</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_subgroup_view', {id: app.request.attributes.get('SubGroup').id } ) }}">{{ 'breadcrumb_subgroup'|trans }}: {{ app.request.attributes.get('SubGroup').name }}</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['groupSubGroupEdit'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_subgroup_edit', {id: app.request.attributes.get('SubGroup').mainGroup.id} ) }}">{{ 'breadcrumb_edit'|trans }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['groupSubGroupAdd'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_subgroup_add', {id: app.request.attributes.get('Group').id} ) }}">{{ 'breadcrumb_subgroup'|trans }}: {{ 'breadcrumb_create'|trans }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName == 'user' %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_group_list' ) }}">{{ ('breadcrumb_admin_users')|trans }}</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get("User") %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_user_list' ) }}">{{ ('breadcrumb_admin_users')|trans }}</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_user_view', {id: app.request.attributes.get('User').id} ) }}">{{ app.request.attributes.get("User").fullName }} (# {{ app.request.attributes.get("User").id }})</a></li>
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.attributes.get('_controller')|extractActionName in ['logs', 'logsView'] %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_logs' ) }}">{{ ('breadcrumb_admin_logs')|trans }}</a></li>
|
||||
{% if app.request.attributes.get("filename") %}
|
||||
<li class="breadcrumb-item"><a href="{{ path( 'admin_logs_view', {filename: app.request.attributes.get('filename') } ) }}">{{ app.request.attributes.get("filename")}}</a></li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
</ul>
|
||||
30
templates/bundles/TwigBundle/Exception/error.html.twig
Normal file
30
templates/bundles/TwigBundle/Exception/error.html.twig
Normal file
@@ -0,0 +1,30 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
{% block title %}{% trans %}title_errorpage_error{% endtrans %}{% endblock %}
|
||||
|
||||
{% block error %}
|
||||
<p>{{ 'title_errorpage_error_message' |trans}}</p>
|
||||
{% endblock %}
|
||||
|
||||
{% block youcan %}
|
||||
{% set referer = app.request.server.get('HTTP_REFERER')|default(null) %}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<hr>
|
||||
<p class="text-left">{% trans %}you_can{% endtrans %}</p>
|
||||
<ul class="text-left">
|
||||
{% if referer is not null %}<li><a href="{{ referer }}">{% trans %}go_back_to_referer{% endtrans %}</a></li>{% endif %}
|
||||
<li><a href="{{ path('home') }}">{% trans %}go_back_to_home{% endtrans %}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
{{ block('error') }}
|
||||
</div>
|
||||
</div>
|
||||
{{ block('youcan') }}
|
||||
{% endblock %}
|
||||
|
||||
15
templates/bundles/TwigBundle/Exception/error403.html.twig
Normal file
15
templates/bundles/TwigBundle/Exception/error403.html.twig
Normal file
@@ -0,0 +1,15 @@
|
||||
{% extends 'bundles/TwigBundle/Exception/error.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_errorpage_403{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<!-- [ 403 ] start -->
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h4 class="mb-3 f-w-400 text-center"><p>{{ 'title_errorpage_403_message' |trans}}</p></h4>
|
||||
{{ block('youcan') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- [ 403 ] end -->
|
||||
{% endblock %}
|
||||
23
templates/bundles/TwigBundle/Exception/error404.html.twig
Normal file
23
templates/bundles/TwigBundle/Exception/error404.html.twig
Normal file
@@ -0,0 +1,23 @@
|
||||
{% extends 'bundles/TwigBundle/Exception/error.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_errorpage_404{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<!-- [ 404 ] start -->
|
||||
<div class="auth-wrapper">
|
||||
<div class="auth-content">
|
||||
<div class="card">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-md-12">
|
||||
<div class="card-body">
|
||||
<img src="{{ asset('img/logo.png') }}" alt="Vision" class="img-fluid mb-4">
|
||||
<h4 class="mb-3 f-w-400 text-center"><p>{{ 'title_errorpage_404_message' |trans}}</p></h4>
|
||||
{{ block('youcan') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- [ 404 ] end -->
|
||||
{% endblock %}
|
||||
17
templates/comment/edit.html.twig
Normal file
17
templates/comment/edit.html.twig
Normal file
@@ -0,0 +1,17 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_comment_edition{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
{{ form(form) }}
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
<h3>{% trans %}title_comment_belong_document{% endtrans %}</h3>
|
||||
<p><a href="{{ path('document_view', {'id': comment.document.id}) }}" class="btn btn-primary btn-sm">{{ comment.document.getClassShort}} - {{comment.document.title}}</a></p>
|
||||
<p>{% trans %}title_author{% endtrans %} {{comment.creator.fullName}}, {{comment.creator.mainGroup.shortname}}</p>
|
||||
<p>{% trans %}title_created_at{% endtrans %} {{comment.createdAt |date('_datetime.format'|trans)}}</p>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
12
templates/directory/create.html.twig
Normal file
12
templates/directory/create.html.twig
Normal file
@@ -0,0 +1,12 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_directory_creation{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-8 mx-auto p-3 py-md-5">
|
||||
{{ form(form) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
11
templates/directory/edit.html.twig
Normal file
11
templates/directory/edit.html.twig
Normal file
@@ -0,0 +1,11 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_directory_edition{% endtrans %} #{{directory.id}} - "{{ directory.fullName }}"{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
{{ form(form) }}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
33
templates/directory/list.html.twig
Normal file
33
templates/directory/list.html.twig
Normal file
@@ -0,0 +1,33 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_directory_list{% endtrans %}{% endblock %}
|
||||
{% block subtitle %}{% trans %}title_directory_list{% endtrans %}{% if app.user.hasPermission('group_administrate') %} <a href="{{ path('directory_create') }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a>{% endif %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-5">
|
||||
{{form(searchForm)}}
|
||||
</div>
|
||||
<div class="col">
|
||||
{% if wanted %}
|
||||
<a href="{{ path('directory_list') }}" class="btn btn-primary my-1">{% trans %}button_exit_wanted_directories{% endtrans %}</a>
|
||||
{% else %}
|
||||
<a href="{{ path('directory_list_wanted') }}" class="btn btn-info my-1">{% trans %}button_go_to_wanted_directories{% endtrans %}</a>
|
||||
{% endif %}
|
||||
|
||||
{% if dead %}
|
||||
<a href="{{ path('directory_list') }}" class="btn btn-primary my-1">{% trans %}button_exit_dead_directories{% endtrans %}</a>
|
||||
{% else %}
|
||||
<a href="{{ path('directory_list_dead') }}" class="btn btn-info my-1">{% trans %}button_go_to_dead_directories{% endtrans %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
{% include '_cells/directoryTable.html.twig' with {'directories': pagination} %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ knp_pagination_render(pagination) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
31
templates/directory/merge.html.twig
Normal file
31
templates/directory/merge.html.twig
Normal file
@@ -0,0 +1,31 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_directory_merge{% endtrans %} : #{{ deletedDirectory.id }} - {{ deletedDirectory.fullname }} into #{{ baseDirectory.id }} - {{ baseDirectory.fullname }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<h2>Base Directory</h2>
|
||||
{% include '_cells/directoryCard.html.twig' with {'directory': baseDirectory} %}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>Deleted Directory</h2>
|
||||
{% include '_cells/directoryCard.html.twig' with {'directory': deletedDirectory} %}
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>Merged Directory</h2>
|
||||
{% include '_cells/directoryCard.html.twig' with {'directory': keepedDirectory} %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<form method="POST">
|
||||
<input type="hidden" value='mergethis' name="validatemerge" id="validatemerge">
|
||||
<a href="{{ path('directory_view', {'id': keepedDirectory.id}) }}" class="btn btn-secondary" data-dismiss="modal">{% trans %}button_cancel{% endtrans %}</a>
|
||||
<button type="submit" class="btn btn-primary">{% trans %}button_validate_directories_merge{% endtrans %}</button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
52
templates/directory/view.html.twig
Normal file
52
templates/directory/view.html.twig
Normal file
@@ -0,0 +1,52 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_directory_view{% endtrans %} : #{{ directory.id }} - {{ directory.fullname }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-12 col-xl-6">
|
||||
|
||||
<h4>{% trans %}title_certificate{% endtrans %} {% if is_granted('create', classMetadataToEntity(directory.certificates.typeClass, app.user)) %} <a href="{{ path('document_create_directory', {type: 'certificate', directory: directory.id}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a> {% endif %}</h4>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': Certificate, notype: true, limit: 3, nodirectoryinfo: true,} %}
|
||||
<hr class="my-3">
|
||||
|
||||
<h4>{% trans %}title_complaint{% endtrans %} {% if is_granted('create', classMetadataToEntity(directory.complaints.typeClass, app.user)) %} <a href="{{ path('document_create_directory', {type: 'complaint', directory: directory.id}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a> {% endif %}</h4>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': Complaint, notype: true, limit: 3, nodirectoryinfo: true} %}
|
||||
<hr class="my-3">
|
||||
|
||||
<h4>{% trans %}title_licencewithdrawals{% endtrans %} {% if is_granted('create', classMetadataToEntity(directory.licenceWithdrawals.typeClass, app.user)) %} <a href="{{ path('document_create_directory', {type: 'licenceWithdrawal', directory: directory.id}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a> {% endif %}</h4>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': LicenceWithdrawal, notype: true, limit: 3, nodirectoryinfo: true} %}
|
||||
<hr class="my-3">
|
||||
|
||||
<h4>{% trans %}title_infringements{% endtrans %} {% if is_granted('create', classMetadataToEntity(directory.infringements.typeClass, app.user)) %} <a href="{{ path('document_create_directory', {type: 'infringement', directory: directory.id}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a> {% endif %}</h4>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': Infringement, notype: true, limit: 3, nodirectoryinfo: true} %}
|
||||
<hr class="my-3">
|
||||
|
||||
<h4>{% trans %}title_jails{% endtrans %} {% if is_granted('create', classMetadataToEntity(directory.jails.typeClass, app.user)) %} <a href="{{ path('document_create_directory', {type: 'jail', directory: directory.id}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a> {% endif %}</h4>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': Jail, notype: true, limit: 3, nodirectoryinfo: true} %}
|
||||
<hr class="my-3">
|
||||
|
||||
<h4>{% trans %}title_bracelets{% endtrans %} {% if is_granted('create', classMetadataToEntity(directory.bracelets.typeClass, app.user)) %} <a href="{{ path('document_create_directory', {type: 'bracelet', directory: directory.id}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a> {% endif %}</h4>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': Bracelet, notype: true, limit: 3, nodirectoryinfo: true} %}
|
||||
<hr class="my-3">
|
||||
|
||||
<h4>{% trans %}title_criminals{% endtrans %} {% if is_granted('create', classMetadataToEntity(directory.criminals.typeClass, app.user)) %} <a href="{{ path('document_create_directory', {type: 'criminal', directory: directory.id}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a> {% endif %}</h4>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': Criminal, notype: true, limit: 3, nodirectoryinfo: true} %}
|
||||
<hr class="my-3">
|
||||
|
||||
<h4>{% trans %}title_stolen_vehicles{% endtrans %} {% if is_granted('create', classMetadataToEntity(directory.stolenvehicles.typeClass, app.user)) %} <a href="{{ path('document_create_directory', {type: 'stolenvehicle', directory: directory.id}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a> {% endif %}</h4>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': Stolenvehicle, notype: true, limit: 3, nodirectoryinfo: true} %}
|
||||
<hr class="my-3">
|
||||
|
||||
<h4>{% trans %}title_medicals{% endtrans %} {% if is_granted('create', classMetadataToEntity(directory.medicals.typeClass, app.user)) %} <a href="{{ path('document_create_directory', {type: 'medical', directory: directory.id}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a> {% endif %}</h4>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': Medical, notype: true, limit: 3, nodirectoryinfo: true} %}
|
||||
<hr class="my-3">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-xl-6">
|
||||
{% include '_cells/directoryCard.html.twig' with {'directory': directory} %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
25
templates/document/create.html.twig
Normal file
25
templates/document/create.html.twig
Normal file
@@ -0,0 +1,25 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}
|
||||
{{ "title_creation"|trans }} {{ "of"|trans }} {{ ("documentType_" ~ type|capitalize)|trans }}
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-8 p-3 py-md-2">
|
||||
{{ form(form) }}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{% if document.directory is defined and document.directory is not null %}
|
||||
<h3>{% trans %}title_directory_linked{% endtrans %}</h3><hr>
|
||||
{% include '_cells/directoryCard.html.twig' with {'directory': document.directory} %}
|
||||
{% endif %}
|
||||
|
||||
{% if document.user is defined and document.user is not null %}
|
||||
<h3>{% trans %}title_user_linked{% endtrans %}</h3><hr>
|
||||
{% include '_cells/userInformations.html.twig' with {'user': document.user} %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
22
templates/document/edit.html.twig
Normal file
22
templates/document/edit.html.twig
Normal file
@@ -0,0 +1,22 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_edition{% endtrans%} "{{ document.title }}"{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
{{ form(form) }}
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
{% if document.directory is defined and document.directory is not null %}
|
||||
<h3>{% trans %}title_directory_linked{% endtrans %}</h3><hr>
|
||||
{% include '_cells/directoryCard.html.twig' with {'directory': document.directory} %}
|
||||
{% endif %}
|
||||
|
||||
{% if document.user is defined and document.user is not null %}
|
||||
<h3>{% trans %}title_user_linked{% endtrans %}</h3><hr>
|
||||
{% include '_cells/userInformations.html.twig' with {'user': document.user} %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
12
templates/document/history.html.twig
Normal file
12
templates/document/history.html.twig
Normal file
@@ -0,0 +1,12 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{{ document.getClassShort }}: {{ document.getTitle }} - {% trans %}title_history{% endtrans %}{% endblock %}
|
||||
{% block subtitle %}#{{ document.id }}: {{ document.getTitle }} - {% trans %}title_history{% endtrans %} {% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
{% include '_cells/historyDisplay.html.twig' with {'history': history, notype: true} %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
41
templates/document/list.html.twig
Normal file
41
templates/document/list.html.twig
Normal file
@@ -0,0 +1,41 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{{ ("documentType_" ~ type)|trans }}{% if archive %} | {% trans %}title_archives{% endtrans %}{% endif %}{% endblock %}
|
||||
{% block subtitle %}
|
||||
{{ ("documentType_" ~ type)|trans }} {% if archive %} | {% trans %}title_archives{% endtrans %}{% else %}
|
||||
{% if documentTypeEntity.directory is not defined and documentTypeEntity.user is not defined %}
|
||||
{% if app.user.hasPermission(type ~ '_create') %}
|
||||
<a href="{{ path('document_create', {type: type}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a>{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-5">{{form(searchForm)}}</div>
|
||||
<div class="col-12 col-md-3">
|
||||
{% if archive %}
|
||||
<a href="{{ path('document_list', {type: type}) }}" class="btn btn-info">{% trans %}button_go_to_not_archived{% endtrans %}</a>
|
||||
{% else %}
|
||||
<a href="{{ path('document_list_archives', {type: type}) }}" class="btn btn-primary">{% trans %}button_go_to_archived{% endtrans %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-8"><hr><p>{{ 'title_count'|trans }}: {{ count }}</p>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': pagination, 'notype': true } %}
|
||||
</div>
|
||||
|
||||
{% if directory is defined and directory is not null %}
|
||||
<div class="col-lg-4">
|
||||
<h3>{% trans %}title_document_linked_to_directory{% endtrans %}:</h3>
|
||||
<hr>
|
||||
{% include '_cells/directoryCard.html.twig' with {'directory': directory} %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ knp_pagination_render(pagination) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
1
templates/document/types/Announce.html.twig
Normal file
1
templates/document/types/Announce.html.twig
Normal file
@@ -0,0 +1 @@
|
||||
{{ document.content | raw }}
|
||||
1
templates/document/types/Bracelet.html.twig
Normal file
1
templates/document/types/Bracelet.html.twig
Normal file
@@ -0,0 +1 @@
|
||||
{% trans %}title_can_be_removed_at{% endtrans %} :{{ document.removingDate|date('_datetime.format'|trans) }}
|
||||
1
templates/document/types/Certificate.html.twig
Normal file
1
templates/document/types/Certificate.html.twig
Normal file
@@ -0,0 +1 @@
|
||||
{{ document.content | raw }}
|
||||
6
templates/document/types/Complaint.html.twig
Normal file
6
templates/document/types/Complaint.html.twig
Normal file
@@ -0,0 +1,6 @@
|
||||
<h3>{% trans %}title_versus{% endtrans %} : {{ document.versus }}</h3>
|
||||
<hr>
|
||||
{{ document.directory.fullname }} says :
|
||||
{{ document.content | raw }}
|
||||
<hr>
|
||||
{{ 'title_status'|trans }}: {{ document.status | trans }}
|
||||
17
templates/document/types/Criminal.html.twig
Normal file
17
templates/document/types/Criminal.html.twig
Normal file
@@ -0,0 +1,17 @@
|
||||
<h3>{{ document.article }}</h3>
|
||||
<ul>
|
||||
<li>{% trans %}title_amount{% endtrans %} : {{ document.amountMoney }} {{'currency_symbol'|trans}}</li>
|
||||
<li>{% trans %}title_hours{% endtrans %} : {{ document.amountTime }} {{ 'title_hours'| trans }}</li>
|
||||
</ul>
|
||||
{% if document.accessorySentence %}
|
||||
<div class="p-2">
|
||||
<h4>{% trans %}title_accessorySentence{% endtrans %}</h4>
|
||||
{{ document.accessorySentence | raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if document.content %}
|
||||
<div class="p-2">
|
||||
<h4>{% trans %}title_informations{% endtrans %}</h4>
|
||||
{{ document.content | raw }}
|
||||
</div>
|
||||
{% endif %}
|
||||
93
templates/document/types/Folder.html.twig
Normal file
93
templates/document/types/Folder.html.twig
Normal file
@@ -0,0 +1,93 @@
|
||||
<h2>{% trans %}title_informations{% endtrans %}</h2>
|
||||
{% if document.content %}
|
||||
{{ document.content | raw }}
|
||||
{% else %}
|
||||
{{ 'no_data'|trans}}
|
||||
{% endif %}
|
||||
<hr>
|
||||
<div class="row my-5">
|
||||
<div class="col">
|
||||
<h3>{% trans %}title_documents_into_folder{% endtrans %}{% if shared is not defined %} <a href="{{ path('folder_document', {id: document.id}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_add{% endtrans %}</span></a>{% endif %}</h3>
|
||||
<hr>
|
||||
{% if document.documents|length > 0 %}
|
||||
<ul class="list-group">
|
||||
{% for i in document.documents %}
|
||||
<li class="list-group-item list-group-flush">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-2">
|
||||
{% set groupLogo = 'img/nologo.png' %}
|
||||
{% if i.mainGroup %}
|
||||
{% if i.mainGroup.imageSize != 0 %}
|
||||
{% set groupLogo = 'uploads/groups/' ~ i.mainGroup.imageName %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<img src="{{ asset(groupLogo) }}" alt="{{ i.mainGroup.name }} " class="img-fluid">
|
||||
</div>
|
||||
<div class="col">
|
||||
{% if i.AllowShare %}<a href="{{ path('share', {'share': i.share}) }}" target="_blank">{% endif %}
|
||||
<h4>#{{i.id}} {{i.classShort}} - {{i.title }} {% if i.archive %}<small>({% trans %}title_archived{% endtrans %})</small>{% endif %}{% if i.AllowShare %} <i class="fa fa-link text-success" data-bs-toggle="tooltip" data-placement="top" title="{% trans %}tooltip_document_shared{% endtrans %}" ></i>{% endif %}</h4>
|
||||
{% if i.AllowShare %}</a>{% endif %}
|
||||
{% if i.directory is defined %}<p>#{{i.directory.id}} - {{i.directory.fullName}} {{i.directory.gender}} {{i.directory.phone}}</p>{% endif %}
|
||||
{% if i.status is defined %}
|
||||
<p>{% trans %}title_status{% endtrans %}: {{ i.status|trans }}</p>
|
||||
{% endif %}
|
||||
{% if i.removingDate is defined %}
|
||||
<p>{% trans %}title_can_be_removed_at{% endtrans %}: {{ i.removingDate|date('_datetime.format'|trans) }}</p>
|
||||
{% endif %}
|
||||
{% if i.numberplate is defined %}
|
||||
<p>{% trans %}title_numberplate{% endtrans %}: {{ i.numberplate }}</p>
|
||||
{% endif %}
|
||||
<p>{% trans %}title_created_by{% endtrans %}: {{i.creator.firstname | u.truncate(2, '.')}} {{i.creator.lastname}}, {{i.creator.mainGroup ? i.creator.mainGroup.shortname : 'No Group'}}, {% trans %}title_created_at{% endtrans %}: {{i.createdAt |date('_datetime.format'|trans)}}</p>
|
||||
</div>
|
||||
{% if shared is not defined %}
|
||||
<div class="col-3">
|
||||
{% include '_cells/documentActions.html.twig' with {'document': i} %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
{{ 'no_data'|trans}}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row my-5">
|
||||
<div class="col">
|
||||
<h3>{% trans %}title_directories_into_folder{% endtrans %}{% if shared is not defined %} <a
|
||||
href="{{ path('folder_directory', {id: document.id}) }}"><span class="badge rounded-pill bg-success"><i
|
||||
class="fa fa-plus"></i> {% trans %}button_add{% endtrans %}</span></a>{% endif %}</h3>
|
||||
<hr>
|
||||
{% if document.directories|length > 0 %}
|
||||
{% set path_directories_uploads = 'uploads/directories/' %}
|
||||
<ul class="list-group">
|
||||
{% for i in document.directories %}
|
||||
<li class="list-group-item list-group-flush">
|
||||
<div class="row">
|
||||
<div class="col-2">
|
||||
{% if i.faceImageSize != 0 %}{% set faceImage = path_directories_uploads ~ '/' ~ i.faceImageName %}{% else %}{% set faceImage = 'img/nophoto.jpg' %}{% endif %}
|
||||
<a data-toggle="lightbox" data-gallery="report" href="{{ asset(faceImage) }}"><img class="img-fluid" style="max-height: 200px;" src="{{ asset(faceImage) }}" alt="{{ i.fullname}}"></a>
|
||||
</div>
|
||||
<div class="col">
|
||||
<h4>#{{i.id}} {{i.fullName}}</h4>
|
||||
<p>{% trans %}title_created_at{% endtrans %}: {{i.createdAt |date('_datetime.format'|trans)}}</p>
|
||||
{% if i.wanted %}<p class="text-danger">{% trans %}title_directory_wanted_light{% endtrans %}</p>{% endif %}
|
||||
{% if i.dead %}<p class="text-warning">{% trans %}title_directory_dead{% endtrans %}</p>{% endif %}
|
||||
</div>
|
||||
{% if shared is not defined %}
|
||||
<div class="col-3">
|
||||
{% include '_cells/directoryActions.html.twig' with {'directory': i} %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
{{ 'no_data'|trans}}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
30
templates/document/types/Gang.html.twig
Normal file
30
templates/document/types/Gang.html.twig
Normal file
@@ -0,0 +1,30 @@
|
||||
<h2>{% trans %}title_informations{% endtrans %}</h2>
|
||||
{{ document.content | raw }}
|
||||
|
||||
{% if document.directories|length > 0 %}
|
||||
<h2>{% trans %}title_directory_into_gang{% endtrans %}</h2><hr>
|
||||
{% for i in document.directories %}
|
||||
{% set path_directories_uploads = 'uploads/directories/' ~ i.id %}
|
||||
<div class="row mb-3">
|
||||
<div class="col-3 border-end">
|
||||
{% if i.faceImageSize != 0 %}{% set faceImage = path_directories_uploads ~ '/' ~ i.faceImageName %}{% else %}{% set faceImage = 'img/nophoto.jpg' %}{% endif %}
|
||||
<a data-toggle="lightbox" data-gallery="report" href="{{ asset(faceImage) }}"><img class="img-fluid" style="max-height: 200px;" src="{{ asset(faceImage) }}" alt="{{ i.fullname}}"></a>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<a href="{{ path('directory_view', {id: i.id}) }}">{{i.fullName}} ( #{{i.id}} )</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="card-text">
|
||||
<ul>
|
||||
<li>{% trans %}title_gender{% endtrans %}: {{i.gender}}</li>
|
||||
<li>{% trans %}title_phone{% endtrans %}: {{i.phone}}</li>
|
||||
</ul>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
2
templates/document/types/Infringement.html.twig
Normal file
2
templates/document/types/Infringement.html.twig
Normal file
@@ -0,0 +1,2 @@
|
||||
<h2>{% trans %}title_informations{% endtrans %}</h2>
|
||||
{{ document.content | raw }}
|
||||
14
templates/document/types/Jail.html.twig
Normal file
14
templates/document/types/Jail.html.twig
Normal file
@@ -0,0 +1,14 @@
|
||||
<ul>
|
||||
<li>{% trans %}title_arrested_at{% endtrans %} : {{ document.arrestedAt|date('_datetime.format'|trans) }}</li>
|
||||
<li>{% trans %}title_jailed_at{% endtrans %} : {{ document.jailedAt|date('_datetime.format'|trans) }}</li>
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<li>{% trans %}title_ask_for_lawyer{% endtrans %} : {{ document.lawyer ? 'yes' : 'no' }}</li>
|
||||
<li>{% trans %}title_ask_for_medic{% endtrans %} : {{ document.medic ? 'yes' : 'no' }}</li>
|
||||
</ul>
|
||||
<hr>
|
||||
<div>
|
||||
<h2>{% trans %}title_informations{% endtrans %}</h2>
|
||||
{{ document.content | raw }}
|
||||
</div>
|
||||
4
templates/document/types/LicenceWithdrawal.html.twig
Normal file
4
templates/document/types/LicenceWithdrawal.html.twig
Normal file
@@ -0,0 +1,4 @@
|
||||
<ul>
|
||||
<li>{% trans %}title_type{% endtrans %} : {{ document.type|trans }}</li>
|
||||
<li>{% trans %}title_until{% endtrans %} : {{ document.until|date('_datetime.format'|trans) }} H</li>
|
||||
</ul>
|
||||
2
templates/document/types/Medical.html.twig
Normal file
2
templates/document/types/Medical.html.twig
Normal file
@@ -0,0 +1,2 @@
|
||||
<h2>{% trans %}title_informations{% endtrans %}</h2>
|
||||
{{ document.content | raw }}
|
||||
1
templates/document/types/Report.html.twig
Normal file
1
templates/document/types/Report.html.twig
Normal file
@@ -0,0 +1 @@
|
||||
{{ document.content | raw }}
|
||||
4
templates/document/types/Sanction.html.twig
Normal file
4
templates/document/types/Sanction.html.twig
Normal file
@@ -0,0 +1,4 @@
|
||||
<p>{% trans %}title_sanction_for{% endtrans %} : <span class="fw-bold">{{ document.user.fullName }}</span></p>
|
||||
|
||||
<p class="text-decoration-underline">{% trans %}title_description{% endtrans %} :</p>
|
||||
<p>{{ document.content | raw }}</p>
|
||||
10
templates/document/types/Stolenvehicle.html.twig
Normal file
10
templates/document/types/Stolenvehicle.html.twig
Normal file
@@ -0,0 +1,10 @@
|
||||
<ul>
|
||||
<li>{% trans %}title_type{% endtrans %}: {{ document.type|trans }}</li>
|
||||
<li>{% trans %}title_numberplate{% endtrans %}: {{ document.numberplate | default('value_no_value'|trans) }}</li>
|
||||
<li>{% trans %}title_model{% endtrans %}: {{ document.model | default('value_no_value'|trans) }}</li>
|
||||
<li>{% trans %}title_color{% endtrans %}: {{ document.color | default('value_no_value'|trans) }}</li>
|
||||
</ul>
|
||||
<h5>{% trans %}title_informations{% endtrans %} : </h5>
|
||||
<div class="p-2">
|
||||
{{ document.content | raw }}
|
||||
</div>
|
||||
1
templates/document/types/Template.html.twig
Normal file
1
templates/document/types/Template.html.twig
Normal file
@@ -0,0 +1 @@
|
||||
{{ document.content | raw }}
|
||||
135
templates/document/view.html.twig
Normal file
135
templates/document/view.html.twig
Normal file
@@ -0,0 +1,135 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{{ ("documentType_" ~ document.getClassShort)|trans }}: {{ document.getTitle }}{% endblock %}
|
||||
{% block subtitle %}#{{ document.id }}: {{ document.getTitle }} {% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
{% set groupLogo = 'img/nologo.png' %}
|
||||
{% if document.mainGroup %}
|
||||
{% if document.mainGroup.imageSize != 0 %}
|
||||
{% set groupLogo = 'uploads/groups/' ~ document.mainGroup.imageName %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-8 mb-5{% if shared is defined %} mx-5 my-2{% endif %}">
|
||||
|
||||
{% if document.archive %}
|
||||
<div class="card prod-p-card bg-primary background-pattern-white">
|
||||
<div class="card-body">
|
||||
<div class="row align-items-center m-b-0">
|
||||
<div class="col">
|
||||
<h6 class="m-b-5 text-white">{% trans %}title_document_archived{% endtrans %}</h6>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<i class="fas fa-archive text-white"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if shared is not defined %}
|
||||
{% if document.AllowShare %}
|
||||
<div class="card prod-p-card bg-danger background-pattern-white">
|
||||
<div class="card-body">
|
||||
<div class="row align-items-center m-b-0">
|
||||
<div class="col">
|
||||
<h6 class="m-b-5 text-white">{% trans %}title_document_shared{% endtrans %}</h6>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<i class="fas fa-exclamation-triangle text-white"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
|
||||
<div class="document-container p-2 mt-2">
|
||||
|
||||
<div class="row align-items-center">
|
||||
<div class="col-12 col-xl-3">
|
||||
<img src="{{ asset(groupLogo) }}" alt="{{document.mainGroup.shortname}}" class="img-fluid document-group-logo">
|
||||
</div>
|
||||
<div class="col">
|
||||
<h1 style="color:beige;">{{document.mainGroup.name}}</h1>
|
||||
<h2 style="color:beige;">{{ ("documentType_" ~ document.getClassShort)|trans }} #{{ document.getId }} : {{ document.getTitle }}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="row p-2">
|
||||
<div class="col-12">
|
||||
{% include 'document/types/' ~ document.getClassShort ~ '.html.twig' with {'document': document} %}
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="row mb-2">
|
||||
<div class="col-12 col-md-6">
|
||||
{% if shared is not defined and history |length > 1 %}
|
||||
<p>{% trans %}title_document_edited{% endtrans %} {{ history |length -1 }} {% trans %}since_its_creation{% endtrans %}. <a href="{{path('document_history', {'id': document.id})}}">{% trans %}button_view_history{% endtrans %}</a></p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-12 col-md-6">
|
||||
{{ document.creator.fullname }}, {% trans %}for{% endtrans %} {{ document.mainGroup.name }} <br>{% trans %}title_created_at{% endtrans %} {{ document.createdAt|date('_datetime.format'|trans) }}
|
||||
{% if shared is not defined %}<span class="float-end">{% include '_cells/documentActions.html.twig' with {'document': document} %}</span> {% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row mt-5">
|
||||
<div class="col">
|
||||
<h3>{% trans %}title_comments{% endtrans %} {% if shared is not defined %}<a href="#" data-bs-toggle="modal" data-bs-target="#addCommentModal"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_add_comment{% endtrans %}</span></a>{% endif %}</h3><hr>
|
||||
|
||||
|
||||
<ul class="timeline">
|
||||
{% for c in document.comments %}
|
||||
<li>
|
||||
{{ c.creator.fullname }} {{c.creator.mainGroup ? c.creator.mainGroup.shortname : 'No Group'}}, {% trans %}title_created_at{% endtrans %} {{ c.createdAt|date('_datetime.format'|trans) }}
|
||||
<hr>
|
||||
{{ c.content | raw }}
|
||||
<span class="float-end">{% if shared is not defined %}{% include '_cells/commentActions.html.twig' with {'comment': c} %}{% endif %}</span>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4">
|
||||
{% if document.directory is defined and document.directory is not null %}
|
||||
<h3>{% trans %}title_directory_linked{% endtrans %}</h3><hr>
|
||||
{% include '_cells/directoryCard.html.twig' with {'directory': document.directory} %}
|
||||
{% endif %}
|
||||
|
||||
{% if document.user is defined and document.user is not null %}
|
||||
<h3>{% trans %}title_user_linked{% endtrans %}</h3><hr>
|
||||
{% include '_cells/userInformations.html.twig' with {'user': document.user} %}
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if shared is not defined %}
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="addCommentModal" tabindex="-1" role="dialog" aria-labelledby="addCommentModalTitle" aria-hidden="true">
|
||||
<div class="modal-dialog modal-dialog-centered modal-xl" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="addCommentModalTitle">{% trans %}title_add_comment{% endtrans %}</h5>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
{{ form(formComment) }}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{% trans %}button_cancel{% endtrans %}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
||||
32
templates/folder/directory.html.twig
Normal file
32
templates/folder/directory.html.twig
Normal file
@@ -0,0 +1,32 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_folder_add_directory{% endtrans%} "{{ folder.title }}"{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-5">
|
||||
{{form(searchForm)}}
|
||||
</div>
|
||||
<div class="col">
|
||||
{% if wanted %}
|
||||
<a href="{{ path('folder_directory', {id: folder.id}) }}" class="btn btn-primary my-1">{% trans %}button_exit_wanted_directories{% endtrans %}</a>
|
||||
{% else %}
|
||||
<a href="{{ path('folder_directory_wanted', {id: folder.id}) }}" class="btn btn-info my-1">{% trans %}button_go_to_wanted_directories{% endtrans %}</a>
|
||||
{% endif %}
|
||||
|
||||
{% if dead %}
|
||||
<a href="{{ path('folder_directory', {id: folder.id}) }}" class="btn btn-primary my-1">{% trans %}button_exit_dead_directories{% endtrans %}</a>
|
||||
{% else %}
|
||||
<a href="{{ path('folder_directory_dead', {id: folder.id}) }}" class="btn btn-info my-1">{% trans %}button_go_to_dead_directories{% endtrans %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-8">
|
||||
{% include '_cells/directoryTable.html.twig' with {'directories': pagination, addtofolder: folder.id} %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ knp_pagination_render(pagination) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
24
templates/folder/document.html.twig
Normal file
24
templates/folder/document.html.twig
Normal file
@@ -0,0 +1,24 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_folder_add_documents{% endtrans%} "{{ folder.title }}"{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-5">{{form(searchForm)}}</div>
|
||||
<div class="col-12 col-md-3">
|
||||
{% if archive %}
|
||||
<a href="{{ path('folder_document', {id: folder.id}) }}" class="btn btn-info">{% trans %}button_go_to_not_archived{% endtrans %}</a>
|
||||
{% else %}
|
||||
<a href="{{ path('folder_document_archive', {id: folder.id}) }}" class="btn btn-primary">{% trans %}button_go_to_archived{% endtrans %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-8"><hr>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': pagination, addtofolder: folder.id } %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ knp_pagination_render(pagination) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
103
templates/form_layout.html.twig
Normal file
103
templates/form_layout.html.twig
Normal file
@@ -0,0 +1,103 @@
|
||||
{% use "bootstrap_5_layout.html.twig" %}
|
||||
{% block permissions_widget %}
|
||||
<div {{ block('widget_container_attributes') }}>
|
||||
{% for group_label, group in choices %}
|
||||
{%- if group is iterable -%}
|
||||
<div class="mt-2">
|
||||
<label class="mb-2"><b>{{ group_label|trans({}, translation_domain) }}</b></label>
|
||||
{% for key, choice in group %}
|
||||
<div>
|
||||
{{- form_widget(form[key]) -}}
|
||||
{{- form_label(form[key]) -}}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
{%- endif -%}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{%- block form_widget_simple -%}
|
||||
{%- set attr = attr | merge({class: (attr.class | default('') ~ ' form-control') | trim}) -%}
|
||||
{{ parent() }}
|
||||
{%- endblock form_widget_simple -%}
|
||||
|
||||
{%- block search_widget -%}
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="fas fa-search"></i></span>
|
||||
{{ block('form_widget_simple') }}
|
||||
<button class="btn btn-outline-secondary" type="submit">{% trans %}button_search{% endtrans %}</button>
|
||||
</div>
|
||||
{%- endblock search_widget -%}
|
||||
|
||||
{%- block email_widget -%}
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="fas fa-envelope-open-text"></i></span>
|
||||
{{ block('form_widget_simple') }}
|
||||
</div>
|
||||
{%- endblock email_widget -%}
|
||||
|
||||
{%- block password_widget -%}
|
||||
{%- set type = type | default('password') -%}
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="fas fa-lock"></i></span>
|
||||
{{ block('form_widget_simple') }}
|
||||
</div>
|
||||
{%- endblock password_widget -%}
|
||||
|
||||
{%- block firstname_widget -%}
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="fas fa-user"></i></span>
|
||||
{{ block('form_widget_simple') }}
|
||||
</div>
|
||||
{%- endblock firstname_widget -%}
|
||||
|
||||
{%- block lastname_widget -%}
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="far fa-user"></i></span>
|
||||
{{ block('form_widget_simple') }}
|
||||
</div>
|
||||
{%- endblock lastname_widget -%}
|
||||
|
||||
{%- block gender_widget -%}
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="fas fa-transgender-alt"></i></span>
|
||||
{{ block('form_widget_simple') }}
|
||||
</div>
|
||||
{%- endblock gender_widget -%}
|
||||
|
||||
{%- block height_widget -%}
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="fas fa-ruler-combined"></i></span>
|
||||
{{ block('form_widget_simple') }}
|
||||
</div>
|
||||
{%- endblock height_widget -%}
|
||||
|
||||
{%- block weight_widget -%}
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="fas fa-weight"></i></span>
|
||||
{{ block('form_widget_simple') }}
|
||||
</div>
|
||||
{%- endblock weight_widget -%}
|
||||
|
||||
{%- block phone_widget -%}
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="fas fa-phone"></i></span>
|
||||
{{ block('form_widget_simple') }}
|
||||
</div>
|
||||
{%- endblock phone_widget -%}
|
||||
|
||||
{%- block group_widget -%}
|
||||
<div class="input-group">
|
||||
<span class="input-group-text"><i class="fas fa-users"></i></span>
|
||||
{{ block('choice_widget') }}
|
||||
</div>
|
||||
{%- endblock group_widget -%}
|
||||
|
||||
{%- block checkbox_widget -%}
|
||||
<div class="form-check p-2">
|
||||
{{ parent() }}
|
||||
</div>
|
||||
{%- endblock checkbox_widget -%}
|
||||
14
templates/group/employee.html.twig
Normal file
14
templates/group/employee.html.twig
Normal file
@@ -0,0 +1,14 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_employee_administration{% endtrans %}: "{{ employee.fullName }}"{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-4">
|
||||
{{form(form)}}
|
||||
</div>
|
||||
<div class="col-lg-4">
|
||||
{% include '_cells/userInformations.html.twig' with {'user': employee} %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
23
templates/group/index.html.twig
Normal file
23
templates/group/index.html.twig
Normal file
@@ -0,0 +1,23 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_group_administration{% endtrans %}{% endblock %}
|
||||
{% block subtitle %}{% trans %}title_group_administration{% endtrans %} {{ app.user.mainGroup.name }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-6">
|
||||
<h3>{% trans %}title_members{% endtrans %}</h3> <hr>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
{% include '_cells/userTable.html.twig' with {'users': group.users} %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-12 col-lg-4">
|
||||
<h3>{% trans %}title_motd{% endtrans %}</h3> <hr>
|
||||
{{form(formMOTD)}}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
91
templates/home/home.html.twig
Normal file
91
templates/home/home.html.twig
Normal file
@@ -0,0 +1,91 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_home{% endtrans %}{% endblock %}
|
||||
{% block subtitle %}{% trans %}subtitle_home{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xl-6 col-md-12">
|
||||
{% if wanted %}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h6>{% trans %}title_wanted_directory{% endtrans %}</h6>
|
||||
<hr>
|
||||
<div class="row">
|
||||
{% for i in wanted %}
|
||||
{% set path_directories_uploads = 'uploads/directories' %}
|
||||
{% if i.faceImageSize != 0 %}{% set faceImage = path_directories_uploads ~ '/' ~ i.faceImageName %}{% else %}{% set faceImage = 'img/nophoto.jpg' %}{% endif %}
|
||||
|
||||
<div class="col-sm-6">
|
||||
<div class="card prod-p-card background-pattern">
|
||||
<div class="card-body">
|
||||
<div class="row align-items-center m-b-0">
|
||||
<div class="col">
|
||||
<h6 class="m-b-5">{% trans %}title_wanted{% endtrans %}</h6>
|
||||
<h3 class="m-b-0"><a href="{{ path('directory_view', {id: i.id}) }}">{{ i.fullname}}</a></h3>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<a data-toggle="lightbox" data-gallery="wanted" data-caption="{% trans %}title_wanted{% endtrans %}: {{ i.fullname }}" href="{{ asset(faceImage) }}"><img class="img-fluid" style="max-height: 100px;" src="{{ asset(faceImage) }}" alt="{{ i.fullname}}"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="row">
|
||||
<h6>{% trans %}title_last_documents{% endtrans %}</h6>
|
||||
<hr>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': documents, 'noaction': true} %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-6 col-md-12">
|
||||
{% if app.user.mainGroup.motd %}
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h6>{% trans %}title_motd{% endtrans %}</h6>
|
||||
<hr>
|
||||
<div class="card">
|
||||
<div class="card-body">{{ app.user.mainGroup.motd | raw }}</div>
|
||||
<div class="card-footer">{% trans %}title_last_update{% endtrans %} : {{ app.user.mainGroup.motdUpdatedAt | date('_datetime.format'|trans) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h6>{% trans %}title_announces{% endtrans %} <a href="{{ path('document_create', {type: 'announce'}) }}"><span class="badge rounded-pill bg-success"><i class="fa fa-plus"></i> {% trans %}button_create{% endtrans %}</span></a></h6>
|
||||
<hr>
|
||||
{% for a in announces %}
|
||||
{% set groupLogo = 'img/nologo.png' %}
|
||||
{% if a.mainGroup %}
|
||||
{% if a.mainGroup.imageSize != 0 %}
|
||||
{% set groupLogo = 'uploads/groups/' ~ a.mainGroup.imageName %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-2 col-md-1"><img src="{{ asset(groupLogo) }}" alt="{{ a.mainGroup.name }} " class="img-icon"></div>
|
||||
<div class="col fw-bold">{{ a.title }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">{{ a.content | raw }}</div>
|
||||
<div class="card-footer">{{ a.creator.fullname }} {% trans %}for{% endtrans %} {{ a.mainGroup.name }} , {% trans %}title_created_at{% endtrans %} {{ a.createdAt|date('_datetime.format'|trans) }} | {% include '_cells/documentActions.html.twig' with {'document': a} %}</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<p class="text-center"><a href="{{ path('document_list', {type: 'announce'}) }}" class="btn btn-primary text-dark btn-bloc">{% trans %}link_more_announces{% endtrans %}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
24
templates/me/index.html.twig
Normal file
24
templates/me/index.html.twig
Normal file
@@ -0,0 +1,24 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_user_profile{% endtrans %}{% endblock %}
|
||||
{% block subtitle %}{% if app.user.mainRank %}{{ app.user.mainRank.shortname }}. {% endif %}{{ app.user.fullName }}{% endblock %}
|
||||
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<h2>{% trans %}title_informations{% endtrans %}</h2>
|
||||
<hr>
|
||||
{{ form(form) }}
|
||||
<hr>
|
||||
<h2>{% trans %}title_actions{% endtrans %}</h2>
|
||||
<a href="{{ path('me_password') }}" class="btn btn-success">{% trans %}button_change_password{% endtrans %}</a>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<h2>{% trans %}title_documents{% endtrans %}</h2>
|
||||
<hr>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': pagination, 'noauthor': true, 'noaction': true} %}
|
||||
<div class="row">{{ knp_pagination_render(pagination) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
15
templates/me/password.html.twig
Normal file
15
templates/me/password.html.twig
Normal file
@@ -0,0 +1,15 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_user_profile{% endtrans %}{% endblock %}
|
||||
{% block subtitle %}{% if app.user.mainRank %}{{ app.user.mainRank.shortname }}. {% endif %}{{ app.user.fullName }}{% endblock %}
|
||||
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<h2>{% trans %}title_password{% endtrans %}</h2>
|
||||
<hr>
|
||||
{{ form(form) }}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
14
templates/notification/list.html.twig
Normal file
14
templates/notification/list.html.twig
Normal file
@@ -0,0 +1,14 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_notification_list{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-8"><hr>
|
||||
{% include '_cells/notificationTable.html.twig' with {'notifications': pagination} %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ knp_pagination_render(pagination) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
31
templates/reset_password/check_email.html.twig
Normal file
31
templates/reset_password/check_email.html.twig
Normal file
@@ -0,0 +1,31 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_password_reset_email_sent{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<!-- [ auth-signin ] start -->
|
||||
<div class="auth-wrapper">
|
||||
<div class="auth-content">
|
||||
<div class="card">
|
||||
<div class="row align-items-center text-center">
|
||||
<div class="col-md-12">
|
||||
<div class="card-body">
|
||||
<img src="{{ asset('img/logo.png') }}" alt="" class="img-fluid mb-4">
|
||||
<h4 class="mb-3 f-w-400">{% trans %}title_email_sent{% endtrans %}</h4>
|
||||
<p>
|
||||
{% trans %}text_reset_password_explanation{% endtrans %}
|
||||
{% trans %}email_text_link_expire_in{% endtrans %} {{ resetToken.expirationMessageKey|trans(resetToken.expirationMessageData, 'ResetPasswordBundle') }}.
|
||||
</p>
|
||||
|
||||
<p class="mb-0 text-muted">{% trans %}no_account{% endtrans %} ? <a href="{{ path('app_register') }}" class="f-w-400">{% trans %}button_register{% endtrans %}</a></p>
|
||||
<p class="mb-2">{% trans %}already_have_account{% endtrans %} ? <a href="{{ path('app_login') }}" class="f-w-400">{% trans %}button_login{% endtrans %}</a></p>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- [ auth-signin ] end -->
|
||||
{% endblock %}
|
||||
31
templates/reset_password/request.html.twig
Normal file
31
templates/reset_password/request.html.twig
Normal file
@@ -0,0 +1,31 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_password_reset{% endtrans %}{% endblock %}
|
||||
{% block body %}
|
||||
<!-- [ auth-signin ] start -->
|
||||
<div class="auth-wrapper">
|
||||
<div class="auth-content">
|
||||
<div class="card">
|
||||
<div class="row align-items-center text-center">
|
||||
<div class="col-md-12">
|
||||
<div class="card-body">
|
||||
<img src="{{ asset('img/logo.png') }}" alt="" class="img-fluid mb-4">
|
||||
<h4 class="mb-3 f-w-400">{% trans %}title_password_reset{% endtrans %}</h4>
|
||||
{% for flashError in app.flashes('reset_password_error') %}
|
||||
<div class="alert alert-danger" role="alert">{{ flashError }}</div>
|
||||
{% endfor %}
|
||||
|
||||
{{ form(requestForm) }}
|
||||
|
||||
<p class="mb-0 text-muted">{% trans %}no_account{% endtrans %} ? <a href="{{ path('app_register') }}" class="f-w-400">{% trans %}button_register{% endtrans %}</a></p>
|
||||
<p class="mb-2">{% trans %}already_have_account{% endtrans %} ? <a href="{{ path('app_login') }}" class="f-w-400">{% trans %}button_login{% endtrans %}</a></p>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- [ auth-signin ] end -->
|
||||
{% endblock %}
|
||||
28
templates/reset_password/reset.html.twig
Normal file
28
templates/reset_password/reset.html.twig
Normal file
@@ -0,0 +1,28 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_password_reset{% endtrans %}{% endblock %}
|
||||
{% block body %}
|
||||
<!-- [ auth-signin ] start -->
|
||||
<div class="auth-wrapper">
|
||||
<div class="auth-content">
|
||||
<div class="card">
|
||||
<div class="row align-items-center text-center">
|
||||
<div class="col-md-12">
|
||||
<div class="card-body">
|
||||
<img src="{{ asset('img/logo.png') }}" alt="" class="img-fluid mb-4">
|
||||
<h4 class="mb-3 f-w-400">{% trans %}title_password_reset{% endtrans %}</h4>
|
||||
|
||||
{{ form(resetForm) }}
|
||||
|
||||
<p class="mb-0 text-muted">{% trans %}no_account{% endtrans %} ? <a href="{{ path('app_register') }}" class="f-w-400">{% trans %}button_register{% endtrans %}</a></p>
|
||||
<p class="mb-2">{% trans %}already_have_account{% endtrans %} ? <a href="{{ path('app_login') }}" class="f-w-400">{% trans %}button_login{% endtrans %}</a></p>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- [ auth-signin ] end -->
|
||||
{% endblock %}
|
||||
33
templates/security/login.html.twig
Normal file
33
templates/security/login.html.twig
Normal file
@@ -0,0 +1,33 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_login{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<!-- [ auth-signin ] start -->
|
||||
<div class="auth-wrapper">
|
||||
<div class="auth-content">
|
||||
<div class="card">
|
||||
<div class="row align-items-center text-center">
|
||||
<div class="col-md-12">
|
||||
<div class="card-body">
|
||||
<img src="{{ asset('img/logo.png') }}" alt="" class="img-fluid mb-4">
|
||||
<h4 class="mb-3 f-w-400">{% trans %}title_login{% endtrans %}</h4>
|
||||
{% if error %}
|
||||
<div class="alert alert-danger">{{ error.messageKey | trans }}</div>
|
||||
{% endif %}
|
||||
|
||||
{{ form(form) }}
|
||||
|
||||
<p class="mb-0 text-muted">{% trans %}no_account{% endtrans %} ? <a href="{{ path('app_register') }}" class="f-w-400">{% trans %}button_register{% endtrans %}</a></p>
|
||||
<p class="mb-0 text-muted">{% trans %}forgot_password{% endtrans %} ? <a href="{{ path('app_forgot_password_request') }}" class="f-w-400">{% trans %}button_reset{% endtrans %}</a></p>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- [ auth-signin ] end -->
|
||||
{% endblock %}
|
||||
25
templates/security/register.html.twig
Normal file
25
templates/security/register.html.twig
Normal file
@@ -0,0 +1,25 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_register{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<!-- [ auth-signup ] start -->
|
||||
<div class="auth-wrapper">
|
||||
<div class="auth-content">
|
||||
<div class="card">
|
||||
<div class="row align-items-center text-center">
|
||||
<div class="col-md-12">
|
||||
<div class="card-body">
|
||||
<img src="{{ asset('img/logo.png') }}" alt="" class="img-fluid mb-4">
|
||||
<h4 class="mb-3 f-w-400">{% trans %}title_register{% endtrans %}</h4>
|
||||
{{ form(form) }}
|
||||
<p class="mb-2">{% trans %}already_have_account{% endtrans %} ? <a href="{{ path('app_login') }}" class="f-w-400">{% trans %}button_login{% endtrans %}</a></p>
|
||||
<p class="mb-0 text-muted">{% trans %}forgot_password{% endtrans %} ? <a href="{{ path('app_forgot_password_request') }}" class="f-w-400">{% trans %}button_reset{% endtrans %}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- [ auth-signup ] end -->
|
||||
{% endblock %}
|
||||
20
templates/user/documents.html.twig
Normal file
20
templates/user/documents.html.twig
Normal file
@@ -0,0 +1,20 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_users_documents{% endtrans %}{% endblock %}
|
||||
{% block subtitle %}{% trans %}title_users_documents{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<h2>{% trans %}title_documents{% endtrans %}</h2>
|
||||
<hr>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': pagination} %}
|
||||
<div class="row">{{ knp_pagination_render(pagination) }}</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>{% trans %}title_informations{% endtrans %}</h2>
|
||||
<hr>
|
||||
{% include '_cells/userInformations.html.twig' with {'user': user} %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
20
templates/user/list.html.twig
Normal file
20
templates/user/list.html.twig
Normal file
@@ -0,0 +1,20 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_users_book{% endtrans %}{% endblock %}
|
||||
{% block subtitle %}{% trans %}title_users_book{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-5">
|
||||
{{form(searchForm)}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
{% include '_cells/userTable.html.twig' with {'users': pagination} %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ knp_pagination_render(pagination) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
20
templates/user/sanctions.html.twig
Normal file
20
templates/user/sanctions.html.twig
Normal file
@@ -0,0 +1,20 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_users_sanctions{% endtrans %}{% endblock %}
|
||||
{% block subtitle %}{% trans %}title_users_sanctions{% endtrans %}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<h2>{% trans %}title_sanctions{% endtrans %}</h2>
|
||||
<hr>
|
||||
{% include '_cells/documentTable.html.twig' with {'documents': pagination} %}
|
||||
<div class="row">{{ knp_pagination_render(pagination) }}</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<h2>{% trans %}title_informations{% endtrans %}</h2>
|
||||
<hr>
|
||||
{% include '_cells/userInformations.html.twig' with {'user': user} %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
22
templates/user/view.html.twig
Normal file
22
templates/user/view.html.twig
Normal file
@@ -0,0 +1,22 @@
|
||||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{% trans %}title_user_profile{% endtrans %}{% endblock %}
|
||||
{% block subtitle %}{{ user.fullName }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-4 mb-5">
|
||||
<h2>{% trans %}title_informations{% endtrans %}</h2>
|
||||
<hr>
|
||||
{% include '_cells/userInformations.html.twig' with {'user': user} %}
|
||||
</div>
|
||||
<div class="col-12 col-lg-4">
|
||||
<h2>{% trans %}title_actions{% endtrans %}</h2>
|
||||
<hr>
|
||||
<p><a href="{{ path('user_view_documents', {'id': user.id}) }}" class="btn btn-success">{% trans %}button_view_user_documents{% endtrans %}</a></p>
|
||||
{% if app.user.hasPermission('group_sanction') %}
|
||||
<p><a href="{{ path('user_view_sanctions', {'id': user.id}) }}" class="btn btn-warning">{% trans %}button_view_user_sanctions{% endtrans %}</a></p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user