Просмотр исходного кода

Add geographic area information

theenglishway (time) 4 лет назад
Родитель
Сommit
386898d5d6

+ 4 - 2
lib/vaccins/location_store.ex

@@ -7,6 +7,7 @@ defmodule Vaccins.LocationStore do
       :id,
       :name,
       :location,
+      :geographic_area,
       :availability_query,
       :booking_page,
       :provider,
@@ -56,6 +57,7 @@ defmodule Vaccins.LocationStore do
     embedded_schema do
       field(:name, :string)
       field(:location, :string)
+      field(:geographic_area, :string)
       field(:booking_page, :string)
       field(:raw_query, :string)
     end
@@ -64,8 +66,8 @@ defmodule Vaccins.LocationStore do
     def changeset(location \\ %__MODULE__{}, attrs),
       do:
         location
-        |> cast(attrs, [:name, :location, :booking_page, :raw_query])
-        |> validate_required([:name, :location, :booking_page, :raw_query])
+        |> cast(attrs, [:name, :location, :booking_page, :geographic_area, :raw_query])
+        |> validate_required([:name, :location, :booking_page, :geographic_area, :raw_query])
 
     def to_query_params(%__MODULE__{raw_query: raw}) do
       raw

+ 4 - 0
lib/vaccins_web/live/index_live.html.leex

@@ -43,6 +43,10 @@
     <%= text_input f, :location %>
     <%= error_tag f, :location %>
 
+    <%= label f, :geographic_area %>
+    <%= text_input f, :geographic_area %>
+    <%= error_tag f, :geographic_area %>
+
     <%= label f, :booking_page %>
     <%= url_input f, :booking_page %>
     <%= error_tag f, :booking_page %>

+ 2 - 0
lib/vaccins_web/live/location_component.ex

@@ -63,6 +63,7 @@ defmodule VaccinsWeb.LocationComponent do
   def render(assigns = %{render_as: :table_row}) do
     ~L"""
       <td><%= @location.name %></td>
+      <td><%= @location.geographic_area %></td>
       <td><%= @location.location %></td>
       <td><%= if @last_refresh_date, do: @last_refresh_date |> Time.to_string() %></td>
       <td><%= render_status(assigns) %></td>
@@ -76,6 +77,7 @@ defmodule VaccinsWeb.LocationComponent do
   def render_table_header(is_local?),
     do: ~E"""
       <th>Nom</th>
+      <th>Zone</th>
       <th>Lieu</th>
       <th>Dernier refresh</th>
       <th>Status</th>

+ 25 - 0
location_store.json

@@ -8,6 +8,7 @@
       "visit_motive_ids": "2551398"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/paris/centre-de-vaccination-mairie-du-7eme-paris?speciality_id=5494",
+    "geographic_area": "Paris",
     "id": "Centre de Vaccination du 7eme arrondissement de Paris - Gymnase Camou",
     "location": "Paris 7e",
     "name": "Centre de Vaccination du 7eme arrondissement de Paris - Gymnase Camou",
@@ -22,6 +23,7 @@
       "visit_motive_ids": "2784131"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/paris/centre-de-vaccination-covid-19-des-sapeurs-pompiers-de-paris?pid=practice-175265",
+    "geographic_area": "Paris",
     "id": "Caserne de Massena",
     "location": "Paris 13e",
     "name": "Caserne de Massena",
@@ -36,6 +38,7 @@
       "visit_motive_ids": "2732706"
     },
     "booking_page": "https://www.doctolib.fr/centre-de-sante/paris/centre-covid19-paris-5",
+    "geographic_area": "Paris",
     "id": "Centre Covid Paris 5",
     "location": "Paris 5e",
     "name": "Centre Covid Paris 5",
@@ -50,6 +53,7 @@
       "visit_motive_ids": "2551602"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/pantin/centre-de-vaccination-covid-pantin?pid=practice-165023?speciality_id=5494",
+    "geographic_area": "Proche Banlieue Est",
     "id": "Centre Municipal de Santé / Espace Cocteau",
     "location": "Pantin",
     "name": "Centre Municipal de Santé / Espace Cocteau",
@@ -64,6 +68,7 @@
       "visit_motive_ids": "2535227"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/saint-mande/centre-de-vaccinations-covid-saint-mande?speciality_id=5494",
+    "geographic_area": "Proche Banlieue Est",
     "id": "Centre culturel CRESCO",
     "location": "Saint-Mandé",
     "name": "Centre culturel CRESCO",
@@ -78,6 +83,7 @@
       "visit_motive_ids": "2549915-2549920"
     },
     "booking_page": "https://www.doctolib.fr/centre-de-sante/paris/centre-de-vaccination-covid-19-ville-de-paris?pid=practice-164926",
+    "geographic_area": "Paris",
     "id": "Centre de Vaccination - Le 104",
     "location": "Paris 19e",
     "name": "Centre de Vaccination - Le 104",
@@ -92,6 +98,7 @@
       "visit_motive_ids": "2549915"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/paris/centre-de-vaccination-covid-19-ville-de-paris?pid=practice-164812",
+    "geographic_area": "Paris",
     "id": "Centre de Vaccination - Mairie Paris Centre",
     "location": "Paris 3e",
     "name": "Centre de Vaccination - Mairie Paris Centre",
@@ -106,6 +113,7 @@
       "visit_motive_ids": "2549915-2549920"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/paris/centre-de-vaccination-covid-19-ville-de-paris?pid=practice-176642",
+    "geographic_area": "Paris",
     "id": "Centre de Vaccination - Mairie du 10e",
     "location": "Paris 10e",
     "name": "Centre de Vaccination - Mairie du 10e",
@@ -120,6 +128,7 @@
       "visit_motive_ids": "2549915"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/paris/centre-de-vaccination-covid-19-ville-de-paris?pid=practice-164924",
+    "geographic_area": "Paris",
     "id": "Centre de Vaccination - Mairie du 13e",
     "location": "Paris 13e",
     "name": "Centre de Vaccination - Mairie du 13e",
@@ -134,6 +143,7 @@
       "visit_motive_ids": "2549915-2549920"
     },
     "booking_page": "https://www.doctolib.fr/centre-de-sante/paris/centre-de-vaccination-covid-19-ville-de-paris?pid=practice-166459",
+    "geographic_area": "Paris",
     "id": "Centre de Vaccination - Paris 20e",
     "location": "Paris 20e",
     "name": "Centre de Vaccination - Paris 20e",
@@ -148,6 +158,7 @@
       "visit_motive_ids": "2549915"
     },
     "booking_page": "https://www.doctolib.fr/centre-de-sante/paris/centre-de-vaccination-covid-19-ville-de-paris",
+    "geographic_area": "Paris",
     "id": "Centre de Vaccination - Salle Olympe de Gouges",
     "location": "Paris 11e",
     "name": "Centre de Vaccination - Salle Olympe de Gouges",
@@ -162,6 +173,7 @@
       "visit_motive_ids": "2836421"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-vaccinations-internationales/paris/centre-de-vaccination-covid-19-paris-17eme?pid=practice-176666",
+    "geographic_area": "Paris",
     "id": "Centre de Vaccination Covid-19 - Paris 17e",
     "location": "Paris 17e",
     "name": "Centre de Vaccination Covid-19 - Paris 17e",
@@ -176,6 +188,7 @@
       "visit_motive_ids": "2816532"
     },
     "booking_page": "https://www.doctolib.fr/centre-de-sante/paris/ars-idf-centre-covisan-cpts-paris-18",
+    "geographic_area": "Paris",
     "id": "Centre de Vaccination Covid-19 Mairie 18e",
     "location": "Paris 18e",
     "name": "Centre de Vaccination Covid-19 Mairie 18e",
@@ -190,6 +203,7 @@
       "visit_motive_ids": "2549915"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/paris/centre-de-vaccination-covid-19-ville-de-paris?pid=practice-175177",
+    "geographic_area": "Paris",
     "id": "Centre de vaccination Aubrac",
     "location": "Paris 12e",
     "name": "Centre de vaccination Aubrac",
@@ -204,6 +218,7 @@
       "visit_motive_ids": "2735278"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/saint-denis/centre-de-vaccination-covid-19-stade-de-france?pid=practice-179894",
+    "geographic_area": "Proche Banlieue Nord",
     "id": "Centre de vaccination COVID-19 - Stade de France",
     "location": "Saint-Denis",
     "name": "Centre de vaccination COVID-19 - Stade de France",
@@ -218,6 +233,7 @@
       "visit_motive_ids": "2743304"
     },
     "booking_page": "https://www.doctolib.fr/centre-de-sante/fontenay-sous-bois/centre-de-vaccination-covid-19-fontenay-sous-bois",
+    "geographic_area": "Banlieue Est",
     "id": "Centre de vaccination Covid-19 - Fontenay-sous-bois",
     "location": "Fontenay-sous-Bois",
     "name": "Centre de vaccination Covid-19 - Fontenay-sous-bois",
@@ -232,6 +248,7 @@
       "visit_motive_ids": "2724670"
     },
     "booking_page": "https://www.doctolib.fr/hopital-public/saint-mande/centre-de-vaccination-covid-19-hopital-des-armees-begin",
+    "geographic_area": "Proche Banlieue Est",
     "id": "Centre de vaccination Covid-19 - Hôpital des Armées Bégin",
     "location": "Saint-Mandé",
     "name": "Centre de vaccination Covid-19 - Hôpital des Armées Bégin",
@@ -246,6 +263,7 @@
       "visit_motive_ids": "2696672"
     },
     "booking_page": "https://www.doctolib.fr/centre-de-sante/ivry-sur-seine/centre-de-vaccination-covid-19-ivry-sur-seine",
+    "geographic_area": "Proche Banlieue Sud",
     "id": "Centre de vaccination Covid-19 - Ivry-sur-Seine",
     "location": "Ivry-sur-Seine",
     "name": "Centre de vaccination Covid-19 - Ivry-sur-Seine",
@@ -260,6 +278,7 @@
       "visit_motive_ids": "2659881-2659885"
     },
     "booking_page": "https://www.doctolib.fr/centre-de-sante/aubervilliers/centre-de-vaccination-covid-19-de-la-ville-d-aubervilliers",
+    "geographic_area": "Proche Banlieue Nord",
     "id": "Centre de vaccination Covid-19 Aubervilliers",
     "location": "Aubervilliers",
     "name": "Centre de vaccination Covid-19 Aubervilliers",
@@ -274,6 +293,7 @@
       "visit_motive_ids": "2769759"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/montrouge/centre-de-vaccination-covid-19-de-montrouge?pid=practice-182609",
+    "geographic_area": "Proche Banlieue Sud",
     "id": "Centre de vaccination Covid-19 de Montrouge",
     "location": "Montrouge",
     "name": "Centre de vaccination Covid-19 de Montrouge",
@@ -288,6 +308,7 @@
       "visit_motive_ids": "2762599"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/paris/centre-de-vaccination-mutualite-gymnase-des-patriarches?pid=practice-178114",
+    "geographic_area": "Paris",
     "id": "Centre de vaccination Mutualité - Gymnase des Patriarches",
     "location": "Paris 5e",
     "name": "Centre de vaccination Mutualité - Gymnase des Patriarches",
@@ -302,6 +323,7 @@
       "visit_motive_ids": "2678589"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/montreuil/centre-de-vaccination-de-la-ville-de-montreuil?pid=practice-175106",
+    "geographic_area": "Proche Banlieue Est",
     "id": "Centre de vaccination de la ville de Montreuil",
     "location": "Montreuil",
     "name": "Centre de vaccination de la ville de Montreuil",
@@ -316,6 +338,7 @@
       "visit_motive_ids": "2770771"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/nogent-sur-marne/accueil-ambulatoire-de-recours-ville-de-nogent-sur-marne-adp94?pid=practice-123104",
+    "geographic_area": "Banlieue Est",
     "id": "Centre de vaccination et dépistage Covid-19 - Nogent et le Perreux sur Marne",
     "location": "Nogent-sur-Marne",
     "name": "Centre de vaccination et dépistage Covid-19 - Nogent et le Perreux sur Marne",
@@ -330,6 +353,7 @@
       "visit_motive_ids": "2840463"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-vaccinations-internationales/paris/centre-de-vaccination-covid-19-paris-8e?speciality_id=5494",
+    "geographic_area": "Paris",
     "id": "Mairie du 8ème arrondissement de Paris",
     "location": "Paris 8e",
     "name": "Mairie du 8ème arrondissement de Paris",
@@ -344,6 +368,7 @@
       "visit_motive_ids": "2823401"
     },
     "booking_page": "https://partners.doctolib.fr/centre-de-sante/paris/vaccinodrome-covid-19-porte-de-versailles?pid=practice-185273",
+    "geographic_area": "Paris",
     "id": "Vaccinodrome Covid-19 - Porte de Versailles",
     "location": "Paris 15e",
     "name": "Vaccinodrome Covid-19 - Porte de Versailles",