diff --git a/assets/app.js b/assets/app.js
index d1d1a0b2..a46ea867 100644
--- a/assets/app.js
+++ b/assets/app.js
@@ -10,13 +10,12 @@ import './styles/app.css';
console.log('Hello World de app.js');
-function labourer() {
- window.location.href = '/admin/labourer/' + document.getElementById('app_admin_labourer').value;
-}
// Attendre le chargement du DOM
document.addEventListener('DOMContentLoaded', () => {
console.log('DOMContentLoaded');
+
+
// Générer une couleur pastel aléatoire
const genererCouleurPastel = () => {
// Utiliser des valeurs plus claires (180-255) pour obtenir des tons pastel
diff --git a/labourage.sh b/labourage.sh
new file mode 100644
index 00000000..ed3197a0
--- /dev/null
+++ b/labourage.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+# Les 10 codes postaux des villes les plus peuplées de France
+codes_postaux=(
+ "75001" # Paris 1er
+ "13001" # Marseille 1er
+ "69001" # Lyon 1er
+ "31000" # Toulouse
+ "06000" # Nice
+ "44000" # Nantes
+ "67000" # Strasbourg
+ "33000" # Bordeaux
+ "59000" # Lille
+ "35000" # Rennes
+)
+
+# Pour chaque code postal
+for code in "${codes_postaux[@]}"; do
+ echo "Traitement du code postal: $code"
+
+ # Faire la requête curl
+ curl -X GET "https://osm-commerces.cipherbliss.com/admin/labourer/$code"
+
+ # Attendre 5 secondes entre chaque requête pour ne pas surcharger le serveur
+ sleep 5
+done
+
+echo "Traitement terminé"
diff --git a/src/Controller/AdminController.php b/src/Controller/AdminController.php
index 3016ef1b..c7094e68 100644
--- a/src/Controller/AdminController.php
+++ b/src/Controller/AdminController.php
@@ -193,6 +193,16 @@ final class AdminController extends AbstractController
// on crée un commerce pour chaque résultat qui reste
foreach ($results as $result) {
$commerce = new Place();
+
+ if (isset($result['tags']['amenity'])) {
+ $commerce->setMainTag('amenity='.$result['tags']['amenity']);
+ }
+ if (isset($result['tags']['shop'])) {
+ $commerce->setMainTag('shop='.$result['tags']['shop']);
+ }
+ if (isset($result['tags']['tourism'])) {
+ $commerce->setMainTag('tourism='.$result['tags']['tourism']);
+ }
$commerce->setOsmId($result['id'])
->setOsmKind($result['type'])
->setName($result['name'])
@@ -248,10 +258,12 @@ final class AdminController extends AbstractController
public function delete_by_zone(string $zip_code): Response
{
$commerces = $this->entityManager->getRepository(Place::class)->findBy(['zip_code' => $zip_code]);
+ $stats = $this->entityManager->getRepository(Stats::class)->findOneBy(['zone' => $zip_code]);
foreach ($commerces as $commerce) {
$this->entityManager->remove($commerce);
}
+ $this->entityManager->remove($stats);
$this->entityManager->flush();
$this->addFlash('success', 'Tous les commerces de la zone '.$zip_code.' ont été supprimés avec succès de OSM Mes commerces, mais pas dans OpenStreetMap.');
diff --git a/src/DataFixtures/HistoryFixtures.php b/src/DataFixtures/HistoryFixtures.php
index 7819eb02..8a3aa87e 100644
--- a/src/DataFixtures/HistoryFixtures.php
+++ b/src/DataFixtures/HistoryFixtures.php
@@ -29,6 +29,7 @@ class HistoryFixtures extends Fixture
->setOptedOut($faker->boolean)
->setDead($faker->boolean)
->setNote($faker->text)
+ ->setMainTag($faker->randomElement(['amenity=cafe', 'shop=supermarket', 'tourism=museum']))
->setModifiedDate($faker->dateTimeBetween('-1 year', 'now'))
->setAskedHumainsSupport($faker->boolean)
->setLastContactAttemptDate($faker->dateTimeBetween('-1 year', 'now'))
diff --git a/src/Entity/Place.php b/src/Entity/Place.php
index 1b3e6855..134e17e5 100644
--- a/src/Entity/Place.php
+++ b/src/Entity/Place.php
@@ -76,6 +76,22 @@ class Place
#[ORM\Column(nullable: true)]
private ?bool $has_note = null;
+ #[ORM\Column(nullable: true)]
+ private ?string $main_tag = null;
+
+ public function getMainTag(): ?string
+ {
+ return $this->main_tag;
+ }
+
+ public function setMainTag(?string $main_tag): static
+ {
+ $this->main_tag = $main_tag;
+
+ return $this;
+ }
+
+
public function getCompletionPercentage(): ?int
{
$completion_percentage = 0;
diff --git a/templates/admin/stats.html.twig b/templates/admin/stats.html.twig
index 06654b68..51237756 100644
--- a/templates/admin/stats.html.twig
+++ b/templates/admin/stats.html.twig
@@ -2,6 +2,11 @@
{% block title %}{{ 'display.stats'|trans }}{% endblock %}
+{% block stylesheets %}
+ {{ parent() }}
+
+{% endblock %}
+
{% block body %}
@@ -24,9 +29,9 @@
{{ stats.getAvecNote() }} commerces avec note renseignée.
-
+
-
Tableau des commerces
+
Tableau des lieux
-{% endblock %}
-{% block javascripts %}
- {{ parent() }}
-
-
+
+
+ sortTable();
+ });
+
{% endblock %}
\ No newline at end of file
diff --git a/templates/public/dashboard.html.twig b/templates/public/dashboard.html.twig
index 3902a327..eb94b7fd 100644
--- a/templates/public/dashboard.html.twig
+++ b/templates/public/dashboard.html.twig
@@ -4,26 +4,31 @@
{% block stylesheets %}
{{ parent() }}
-
+
{% endblock %}
{% block javascripts %}
{{ parent() }}
-
+
{% endblock %}
@@ -100,11 +156,11 @@
Dashboard
-
Statistiques : {{ stats|length }} commerces
-mapDashboard:
+
Statistiques : {{ stats|length }} codes postaux
+
-
+
@@ -140,6 +196,7 @@ mapDashboard:
Nom |
+ Tag |
Email |
Date de modification |
Date de dernier contact |
@@ -154,11 +211,13 @@ mapDashboard:
{% for place in places %}
+
{% if place.name %}
{{ place.name }}
{% else %}
{% endif %} |
+ {{ place.mainTag }} |
{{ place.email }} |
{{ place.modifiedDate | date('Y-m-d H:i:s') }} |
{{ place.lastContactAttemptDate | date('Y-m-d H:i:s') }} |