154 lines
7.3 KiB
Twig
154 lines
7.3 KiB
Twig
{% extends 'base.html.twig' %}
|
|
|
|
{% block body %}
|
|
<div class="w-100 h-100 p-5 m-auto">
|
|
{% for type, messages in app.flashes %}
|
|
{% for message in messages %}
|
|
<div class="alert alert-{{ type }}">
|
|
{{ message }}
|
|
</div>
|
|
{% endfor %}
|
|
{% endfor %}
|
|
<div class="col d-flex justify-content-between align-items-center">
|
|
<div class="d-flex ">
|
|
{% if organization.logoUrl %}
|
|
<img src="{{ asset(organization.logoUrl) }}" alt="Organization logo"
|
|
class="rounded-circle" style="width:40px; height:40px;">
|
|
{% endif %}
|
|
<h1 class="mb-4 ms-3">{{ organization.name|title }} - Dashboard</h1>
|
|
</div>
|
|
<div class="d-flex gap-2">
|
|
{% if is_granted("ROLE_SUPER_ADMIN") %}
|
|
<a href="{{ path('organization_edit', {'id': organization.id}) }}" class="btn btn-primary">Gérer
|
|
l'organisation</a>
|
|
<form method="POST" action="{{ path('organization_delete', {'id': organization.id}) }}"
|
|
onsubmit="return confirm('Vous allez supprimer cette organisation, êtes vous sûre?');"
|
|
style="display: inline-block;">
|
|
<button class="btn btn-secondary" type="submit">Supprimer l'organisation</button>
|
|
</form>
|
|
{% if organization.active %}
|
|
<form method="POST" action="{{ path('organization_deactivate', {'id': organization.id}) }}"
|
|
onsubmit="return confirm('Vous allez désactiver cette organisation, êtes vous sûre?');"
|
|
style="display: inline-block;">
|
|
<button class="btn btn-warning" type="submit">Désactiver l'organisation</button>
|
|
</form>
|
|
{% else %}
|
|
<form method="POST" action="{{ path('organization_activate', {'id': organization.id}) }}"
|
|
onsubmit="return confirm('Vous allez re-activer cette organisation, êtes vous sûre?');"
|
|
style="display: inline-block;">
|
|
<button class="btn btn-primary" type="submit">Activer l'organisation</button>
|
|
</form>
|
|
{% endif %}
|
|
{% elseif is_granted("ROLE_ADMIN") %}
|
|
<a href="{{ path('organization_edit', {'id': organization.id}) }}" class="btn btn-primary">Gérer mon
|
|
organisation</a>
|
|
{% endif %}
|
|
</div>
|
|
|
|
</div>
|
|
{# single row so that activity and users tabs are next to each other #}
|
|
<div class="row">
|
|
{# User tables #}
|
|
<div class="col-9">
|
|
<div class="row mb-3 d-flex gap-2 ">
|
|
<div class="col mb-3 card no-header-bg">
|
|
<div class="card-header d-flex justify-content-between align-items-center">
|
|
<h2>
|
|
Nouveaux utilisateurs
|
|
</h2>
|
|
<a href="{{ path('user_new', {'organizationId': organization.id}) }}"
|
|
class="btn btn-primary">Ajouter un utilisateur</a>
|
|
</div>
|
|
<div class="card-body">
|
|
<div id="tabulator-userListSmall" data-controller="user"
|
|
data-user-aws-value="{{ aws_url }}"
|
|
data-user-new-value="true"
|
|
data-user-list-small-value="true"
|
|
data-user-org-id-value="{{ organization.id }}">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col mb-3 card no-header-bg">
|
|
<div class="card-header">
|
|
<h2>
|
|
Administrateurs
|
|
</h2>
|
|
</div>
|
|
<div class="card-body">
|
|
<div id="tabulator-userListSmallAdmin" data-controller="user"
|
|
data-user-aws-value="{{ aws_url }}"
|
|
data-user-admin-value="true"
|
|
data-user-list-small-value="true"
|
|
data-user-org-id-value="{{ organization.id }}">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3 card no-header-bg">
|
|
<div class="card-header">
|
|
<h2>
|
|
Mes utilisateurs
|
|
</h2>
|
|
</div>
|
|
<div class="card-body">
|
|
<div id="tabulator-userListOrganization" data-controller="user"
|
|
data-user-aws-value="{{ aws_url }}"
|
|
data-user-statut-value="true"
|
|
data-user-list-organization-value="true"
|
|
data-user-org-id-value="{{ organization.id }}">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{# APPLICATION ROW #}
|
|
{# TODO: Weird gap not going away #}
|
|
<div class="row mb-3 ">
|
|
{% for application in applications %}
|
|
<div class="col-6 mb-3">
|
|
{% include 'application/appSmall.html.twig' with {
|
|
application: application
|
|
} %}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{# Activities col #}
|
|
<div class="col-3 m-auto">
|
|
<div class="card border-0"
|
|
data-controller="organization"
|
|
data-organization-activities-value = "true"
|
|
data-organization-id-value="{{ organization.id }}">
|
|
|
|
<div class="card-header d-flex justify-content-between align-items-center border-0">
|
|
<h3>Activité récente</h3>
|
|
|
|
<button class="btn btn-sm btn-outline-secondary" data-action="organization#loadActivities">
|
|
<i class="fas fa-sync"></i> Rafraîchir
|
|
</button>
|
|
</div>
|
|
|
|
<div class="card-body bg-light">
|
|
<div class="d-flex flex-column" data-organization-target="activityList">
|
|
<div class="text-center text-muted p-5">
|
|
<span class="spinner-border" aria-hidden="true"></span>
|
|
</div>
|
|
</div>
|
|
|
|
{# Empty state #}
|
|
<div class="d-none" data-organization-target="emptyMessage">
|
|
<div class="alert alert-light text-center shadow-sm">Aucune activité récente.</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{% endblock %}
|
|
|
|
|