134 lines
8.2 KiB
Twig
134 lines
8.2 KiB
Twig
{% extends 'base.html.twig' %}
|
|
|
|
{% block title %}Demandes pour {{ city.name }}{% endblock %}
|
|
|
|
{% block stylesheets %}
|
|
{{ parent() }}
|
|
<link href='{{ asset('css/city-sidebar.css') }}' rel='stylesheet' />
|
|
{% endblock %}
|
|
|
|
{% block body %}
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<!-- Sidebar de navigation -->
|
|
<div class="col-12">
|
|
{% include 'admin/_city_sidebar.html.twig' with {'stats': city, 'active_menu': 'city_demandes'} %}
|
|
</div>
|
|
|
|
<!-- Contenu principal -->
|
|
<div class="col-md-9 col-lg-10 main-content">
|
|
<div class="p-4">
|
|
<div class="row mb-4">
|
|
<div class="col-md-8">
|
|
<h1>Demandes pour {{ city.name }}</h1>
|
|
<p class="text-muted">
|
|
Code INSEE: {{ city.zone }}
|
|
</p>
|
|
</div>
|
|
{# <div class="col-md-4 text-end">#}
|
|
{# <a href="{{ path('app_public_rss_city_demandes', {'insee_code': city.zone}) }}" class="btn btn-warning" target="_blank">#}
|
|
{# <i class="bi bi-rss"></i> Flux RSS#}
|
|
{# </a>#}
|
|
{# </div>#}
|
|
</div>
|
|
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h2>
|
|
Liste des demandes ({{ demandes|length }})
|
|
</h2>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="table-responsive">
|
|
<table class="table table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th>ID</th>
|
|
<th>Nom du commerce</th>
|
|
<th>Date de création</th>
|
|
<th>Statut</th>
|
|
<th>OSM</th>
|
|
<th>Dernière tentative de contact</th>
|
|
{% if is_granted('ROLE_ADMIN') %}
|
|
<th>Actions</th>
|
|
{% endif %}
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for demande in demandes %}
|
|
<tr>
|
|
<td>{{ demande.id }}</td>
|
|
<td>{{ demande.query }}</td>
|
|
<td>{{ demande.createdAt ? demande.createdAt|date('Y-m-d H:i:s') : '' }}</td>
|
|
<td>
|
|
<span class="badge
|
|
{% if demande.status == 'new' %}bg-primary
|
|
{% elseif demande.status == 'email_provided' %}bg-info
|
|
{% elseif demande.status == 'ready' %}bg-success
|
|
{% elseif demande.status == 'email_sent' %}bg-success
|
|
{% elseif demande.status == 'email_failed' %}bg-danger
|
|
{% elseif demande.status == 'email_opened' %}bg-warning
|
|
{% elseif demande.status == 'edit_form_opened' %}bg-warning
|
|
{% elseif demande.status == 'place_modified' %}bg-success
|
|
{% elseif demande.status == 'linked_to_place' %}bg-success
|
|
{% else %}bg-secondary{% endif %}">
|
|
{{ demande.status }}
|
|
</span>
|
|
</td>
|
|
<td>
|
|
{% if demande.osmObjectType and demande.osmId %}
|
|
<a href="https://www.openstreetmap.org/{{ demande.osmObjectType }}/{{ demande.osmId }}" target="_blank" title="Voir sur OpenStreetMap">
|
|
<i class="bi bi-globe"></i> {{ demande.osmObjectType }}/{{ demande.osmId }}
|
|
</a>
|
|
{% if demande.placeUuid %}
|
|
<br>
|
|
<a href="{{ path('app_public_edit_by_osm', {'osm_kind': demande.osmObjectType, 'osm_id': demande.osmId}) }}" title="Éditer la place">
|
|
<i class="bi bi-pencil-square"></i> Éditer
|
|
</a>
|
|
{% endif %}
|
|
{% else %}
|
|
-
|
|
{% endif %}
|
|
</td>
|
|
<td>{{ demande.lastContactAttempt ? demande.lastContactAttempt|date('Y-m-d H:i:s') : '' }}</td>
|
|
{% if is_granted('ROLE_ADMIN') %}
|
|
<td>
|
|
<div class="btn-group" role="group">
|
|
<a href="{{ path('app_admin_demande_edit', {'id': demande.id}) }}" class="btn btn-sm btn-primary">
|
|
<i class="bi bi-pencil"></i> Éditer
|
|
</a>
|
|
{% if demande.place %}
|
|
<a href="{{ path('app_admin_demande_send_email', {'id': demande.id}) }}" class="btn btn-sm btn-success">
|
|
<i class="bi bi-envelope"></i> Envoyer un email
|
|
</a>
|
|
{% endif %}
|
|
</div>
|
|
</td>
|
|
{% endif %}
|
|
</tr>
|
|
{% else %}
|
|
<tr>
|
|
<td colspan="{% if is_granted('ROLE_ADMIN') %}7{% else %}6{% endif %}" class="text-center">Aucune demande trouvée pour cette ville</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-4">
|
|
<p class="text-muted">
|
|
<i class="bi bi-info-circle"></i> Les demandes sont des requêtes de modification de commerces sur OpenStreetMap pour la ville de {{ city.name }}.
|
|
</p>
|
|
<p>
|
|
<a href="{{ path('app_public_cities') }}" class="btn btn-outline-secondary">
|
|
<i class="bi bi-arrow-left"></i> Retour à la liste des villes
|
|
</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|