decidim-comparative_stats 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE-AGPLv3.txt +661 -0
  3. data/README.md +187 -0
  4. data/Rakefile +40 -0
  5. data/app/assets/config/admin/comparative_stats_manifest.css +4 -0
  6. data/app/assets/config/admin/comparative_stats_manifest.js +2 -0
  7. data/app/assets/config/comparative_stats_manifest.css +4 -0
  8. data/app/assets/config/comparative_stats_manifest.js +2 -0
  9. data/app/assets/images/bcn-logo.png +0 -0
  10. data/app/assets/images/decidim/comparative_stats/icon.svg +1 -0
  11. data/app/assets/images/platoniq-logo.png +0 -0
  12. data/app/assets/javascripts/decidim/comparative_stats/geocoded_events.js.es6 +94 -0
  13. data/app/assets/javascripts/decidim/comparative_stats/graphs.js.es6 +13 -0
  14. data/app/assets/stylesheets/decidim/comparative_stats/geocoded_events.scss +23 -0
  15. data/app/assets/stylesheets/decidim/comparative_stats/graphs.scss +6 -0
  16. data/app/assets/stylesheets/decidim/comparative_stats/widget.scss +8 -0
  17. data/app/cells/decidim/comparative_stats/metric_piecharts/show.erb +14 -0
  18. data/app/cells/decidim/comparative_stats/metric_piecharts_cell.rb +39 -0
  19. data/app/cells/decidim/comparative_stats/metric_timelines/show.erb +14 -0
  20. data/app/cells/decidim/comparative_stats/metric_timelines_cell.rb +23 -0
  21. data/app/cells/decidim/comparative_stats/participatory_processes_timeline/show.erb +55 -0
  22. data/app/cells/decidim/comparative_stats/participatory_processes_timeline_cell.rb +51 -0
  23. data/app/cells/decidim/comparative_stats/participatory_spaces_geocoded_events/show.erb +55 -0
  24. data/app/cells/decidim/comparative_stats/participatory_spaces_geocoded_events_cell.rb +108 -0
  25. data/app/commands/decidim/comparative_stats/admin/create_endpoint.rb +46 -0
  26. data/app/commands/decidim/comparative_stats/admin/destroy_endpoint.rb +43 -0
  27. data/app/commands/decidim/comparative_stats/admin/update_endpoint.rb +47 -0
  28. data/app/controllers/decidim/comparative_stats/admin/application_controller.rb +16 -0
  29. data/app/controllers/decidim/comparative_stats/admin/endpoints_controller.rb +83 -0
  30. data/app/controllers/decidim/comparative_stats/admin/graphs_controller.rb +16 -0
  31. data/app/controllers/decidim/comparative_stats/widgets_controller.rb +31 -0
  32. data/app/forms/decidim/comparative_stats/admin/endpoint_form.rb +26 -0
  33. data/app/helpers/decidim/comparative_stats/application_helper.rb +27 -0
  34. data/app/models/decidim/comparative_stats/application_record.rb +10 -0
  35. data/app/models/decidim/comparative_stats/endpoint.rb +22 -0
  36. data/app/permissions/decidim/comparative_stats/admin/permissions.rb +24 -0
  37. data/app/presenters/decidim/comparative_stats/admin_log/endpoint_presenter.rb +46 -0
  38. data/app/views/decidim/comparative_stats/admin/endpoints/_form.html.erb +7 -0
  39. data/app/views/decidim/comparative_stats/admin/endpoints/edit.html.erb +16 -0
  40. data/app/views/decidim/comparative_stats/admin/endpoints/index.html.erb +66 -0
  41. data/app/views/decidim/comparative_stats/admin/endpoints/new.html.erb +16 -0
  42. data/app/views/decidim/comparative_stats/admin/graphs/show.html.erb +15 -0
  43. data/app/views/decidim/comparative_stats/widgets/_all.html.erb +1 -0
  44. data/app/views/decidim/comparative_stats/widgets/_embed.html.erb +7 -0
  45. data/app/views/decidim/comparative_stats/widgets/_embed_modal.html.erb +27 -0
  46. data/app/views/decidim/comparative_stats/widgets/_global_stats.html.erb +4 -0
  47. data/app/views/decidim/comparative_stats/widgets/_global_stats_timeline.html.erb +4 -0
  48. data/app/views/decidim/comparative_stats/widgets/_processes_timeline.html.erb +4 -0
  49. data/app/views/decidim/comparative_stats/widgets/_spaces_geocoded_events.html.erb +5 -0
  50. data/app/views/decidim/comparative_stats/widgets/_tabs.html.erb +19 -0
  51. data/app/views/decidim/comparative_stats/widgets/show.html.erb +1 -0
  52. data/app/views/layouts/decidim/admin/comparative_stats.html.erb +28 -0
  53. data/app/views/layouts/decidim/comparative_stats/widget.html.erb +22 -0
  54. data/config/i18n-tasks.yml +10 -0
  55. data/config/locales/ca.yml +57 -0
  56. data/config/locales/cs.yml +57 -0
  57. data/config/locales/en.yml +64 -0
  58. data/config/locales/es.yml +57 -0
  59. data/db/migrate/20191219104548_create_decidim_comparative_stats_endpoints.rb +13 -0
  60. data/db/migrate/20200122072955_add_name_version_to_comparative_stats_endpoints.rb +8 -0
  61. data/db/migrate/20200130203914_rename_version_field_in_comparative_stats_endpoints.rb +7 -0
  62. data/db/seeds.rb +42 -0
  63. data/lib/decidim/comparative_stats.rb +22 -0
  64. data/lib/decidim/comparative_stats/admin.rb +10 -0
  65. data/lib/decidim/comparative_stats/admin_engine.rb +50 -0
  66. data/lib/decidim/comparative_stats/api_fetcher.rb +93 -0
  67. data/lib/decidim/comparative_stats/cached_http_adapter.rb +23 -0
  68. data/lib/decidim/comparative_stats/engine.rb +34 -0
  69. data/lib/decidim/comparative_stats/queries/global_events.graphql +84 -0
  70. data/lib/decidim/comparative_stats/queries/global_history_metrics.graphql +10 -0
  71. data/lib/decidim/comparative_stats/queries/global_metrics.graphql +6 -0
  72. data/lib/decidim/comparative_stats/queries/name_and_version.graphql +6 -0
  73. data/lib/decidim/comparative_stats/queries/participatory_processes.graphql +12 -0
  74. data/lib/decidim/comparative_stats/queries/v022/global_events.graphql +76 -0
  75. data/lib/decidim/comparative_stats/test/factories.rb +13 -0
  76. data/lib/decidim/comparative_stats/version.rb +10 -0
  77. data/vendor/assets/images/draw/layers-2x.png +0 -0
  78. data/vendor/assets/images/draw/layers.png +0 -0
  79. data/vendor/assets/images/draw/marker-icon-2x.png +0 -0
  80. data/vendor/assets/images/draw/marker-icon.png +0 -0
  81. data/vendor/assets/images/draw/marker-shadow.png +0 -0
  82. data/vendor/assets/images/draw/spritesheet-2x.png +0 -0
  83. data/vendor/assets/images/draw/spritesheet.png +0 -0
  84. data/vendor/assets/images/draw/spritesheet.svg +156 -0
  85. data/vendor/assets/images/images/layers-2x.png +0 -0
  86. data/vendor/assets/images/images/layers.png +0 -0
  87. data/vendor/assets/images/images/marker-icon-2x.png +0 -0
  88. data/vendor/assets/images/images/marker-icon.png +0 -0
  89. data/vendor/assets/images/images/marker-shadow.png +0 -0
  90. data/vendor/assets/javascripts/leaflet.js +5 -0
  91. metadata +234 -0
@@ -0,0 +1,7 @@
1
+ <div class="row">
2
+ <div class="column">
3
+ <div style="padding:1em">
4
+ <%= embed_modal_for decidim_comparative_stats.widget_url(graph: embed, format: :html) %>
5
+ </div>
6
+ </div>
7
+ </div>
@@ -0,0 +1,27 @@
1
+ <div class="grid-x">
2
+ <div class="cell small-3">
3
+ <button class="share-link link text-center" data-open="processEmbed">
4
+ <%= t("embed_link", scope: "decidim.shared.embed_modal") %>
5
+ <%= icon "code", class: "icon--after" %>
6
+ </button>
7
+
8
+ </div>
9
+ <div class="cell auto">
10
+ <%= link_to url, class: "share-link link", target: :_blank do %>
11
+ <%= t(".fullscreen") %>
12
+ <%= icon "eye", class: "icon--after" %>
13
+ <% end %>
14
+ </div>
15
+ </div>
16
+
17
+ <div class="reveal reveal--embed" id="processEmbed" data-reveal>
18
+ <div class="reveal__header">
19
+ <h3 class="reveal__title"><%= t("embed", scope: "decidim.shared.embed_modal") %>:</h3>
20
+ <button class="close-button" data-close aria-label="<%= t("close_window", scope: "decidim.shared.embed_modal") %>" type="button">
21
+ <span aria-hidden="true">&times;</span>
22
+ </button>
23
+ </div>
24
+ <p class="embed__code">
25
+ <%= embed_code %>
26
+ </p>
27
+ </div>
@@ -0,0 +1,4 @@
1
+ <%= javascript_include_tag "https://www.gstatic.com/charts/loader.js" %>
2
+ <%= javascript_include_tag "decidim/comparative_stats/graphs" %>
3
+
4
+ <%= cell("decidim/comparative_stats/metric_piecharts", active_endpoints) %>
@@ -0,0 +1,4 @@
1
+ <%= javascript_include_tag "https://www.gstatic.com/charts/loader.js" %>
2
+ <%= javascript_include_tag "decidim/comparative_stats/graphs" %>
3
+
4
+ <%= cell("decidim/comparative_stats/metric_timelines", active_endpoints) %>
@@ -0,0 +1,4 @@
1
+ <%= javascript_include_tag "https://www.gstatic.com/charts/loader.js" %>
2
+ <%= javascript_include_tag "decidim/comparative_stats/graphs" %>
3
+
4
+ <%= cell("decidim/comparative_stats/participatory_processes_timeline", active_endpoints) %>
@@ -0,0 +1,5 @@
1
+ <%= stylesheet_link_tag "decidim/map" %>
2
+ <%= stylesheet_link_tag "decidim/comparative_stats/geocoded_events" %>
3
+ <%= javascript_include_tag "decidim/comparative_stats/geocoded_events" %>
4
+
5
+ <%= cell("decidim/comparative_stats/participatory_spaces_geocoded_events", active_endpoints) %>
@@ -0,0 +1,19 @@
1
+ <%= stylesheet_link_tag "decidim/comparative_stats/graphs" %>
2
+
3
+ <ul class="tabs" id="charts-tabs">
4
+ <% available_graphs.each do |graph| %>
5
+ <li class="tabs-title"><%= link_to t(".#{graph}"), graphs_path(graph: graph), aria: { selected: is_active_link?(graphs_path(graph: graph)) } %></li>
6
+ <% end %>
7
+ </ul>
8
+
9
+ <div class="tabs-content" id="charts-tabs-content">
10
+ <div class="tabs-panel is-active">
11
+ <% if available_graphs.include? params[:graph].to_sym %>
12
+ <%= render partial: "decidim/comparative_stats/widgets/embed", object: params[:graph] %>
13
+
14
+ <%= render partial: "decidim/comparative_stats/widgets/#{params[:graph]}" %>
15
+ <% else %>
16
+ <p><%= t ".choose_valid_graph" %></p>
17
+ <% end %>
18
+ </div>
19
+ </div>
@@ -0,0 +1 @@
1
+ <%= render partial: "decidim/comparative_stats/widgets/#{params[:graph]}" %>
@@ -0,0 +1,28 @@
1
+ <% content_for :secondary_nav do %>
2
+ <div class="secondary-nav secondary-nav--subnav">
3
+ <ul>
4
+ <% if allowed_to?(:index, :endpoint) %>
5
+ <li <% if is_active_link?(decidim_admin_comparative_stats.endpoints_path) %> class="is-active" <% end %>>
6
+ <%= aria_selected_link_to I18n.t("menu.endpoints", scope: "decidim.comparative_stats.admin"), decidim_admin_comparative_stats.endpoints_path %>
7
+ </li>
8
+ <% end %>
9
+ <% if allowed_to?(:index, :graph) %>
10
+ <li <% if is_active_link?(decidim_admin_comparative_stats.graphs_path) %> class="is-active" <% end %>>
11
+ <%= aria_selected_link_to I18n.t("menu.graphs", scope: "decidim.comparative_stats.admin"), decidim_admin_comparative_stats.graphs_path %>
12
+ </li>
13
+ <% end %>
14
+ </ul>
15
+ </div>
16
+ <% end %>
17
+
18
+ <%= render "layouts/decidim/admin/application" do %>
19
+ <div class="process-title">
20
+ <div class="process-title-content">
21
+ <%= link_to t("decidim.admin.menu.comparative_stats"), decidim_admin_comparative_stats.endpoints_path, target: "_blank" %>
22
+ </div>
23
+ </div>
24
+
25
+ <div class="process-content">
26
+ <%= yield %>
27
+ </div>
28
+ <% end %>
@@ -0,0 +1,22 @@
1
+ <!DOCTYPE html>
2
+ <html class="no-js">
3
+ <head>
4
+ <title><%= decidim_page_title %></title>
5
+ <%= csrf_meta_tags %>
6
+ <%= stylesheet_link_tag "application" %>
7
+ <%= stylesheet_link_tag "decidim/comparative_stats/widget" %>
8
+ <%= javascript_include_tag "application" %>
9
+
10
+ </head>
11
+
12
+ <body class="widget">
13
+
14
+ <%= yield %>
15
+
16
+ <div class="organization">
17
+ <%= render partial: "layouts/decidim/logo", locals: { organization: current_organization } %>
18
+ </div>
19
+
20
+ <%= javascript_include_tag "decidim/widget" %>
21
+ </body>
22
+ </html>
@@ -0,0 +1,10 @@
1
+ ---
2
+
3
+ base_locale: en
4
+ locales: [en]
5
+
6
+ ignore_unused:
7
+ - "decidim.components.comparative_stats.name"
8
+
9
+ ignore_missing:
10
+ - decidim.participatory_processes.scopes.global
@@ -0,0 +1,57 @@
1
+ ca:
2
+ decidim:
3
+ admin:
4
+ menu:
5
+ comparative_stats: Estadístiques comparatives
6
+ comparative_stats:
7
+ admin:
8
+ endpoints:
9
+ create:
10
+ error: L'enllaç de l'API no s'ha afegit. Comproveu que sigui una URL vàlida de l'API Decidim
11
+ success: The API endpoint has been added successfully
12
+ edit:
13
+ title: Edita l'enllaç a l'API Decidim
14
+ update: Comprova i actualitza l'enllaç
15
+ index:
16
+ active: Actiu
17
+ endpoint: Destinació
18
+ name: Nom
19
+ no_endpoints: Sembla que encara no heu afegit cap enllaç de l'API Decidim!
20
+ title: Punts de l'API Decidim
21
+ version: Versió
22
+ new:
23
+ create: Comprova i afegeix l'enllaç
24
+ subtitle: Afegeix una URL de Decidim vàlida que apunti a la seva API. Per exemple, "https://www.decidim.barcelona/api"
25
+ title: Afegeix un nou punt de l'API Decidim
26
+ update:
27
+ error: L'enllaç de l'API no s'ha actualitzat. Comproveu que sigui una URL vàlida de l'API Decidim
28
+ success: The API endpoint has been updated successfully
29
+ graphs:
30
+ show:
31
+ no_endpoints: Sembla que no teniu cap enllaç a l'Api Decidim actiu. Afegeix-ne i activa'n alguns primer!
32
+ title: Gestiona gràfiques multi-instàncies
33
+ menu:
34
+ endpoints: Gestiona els enllaços de l'API
35
+ graphs: Gestiona les gràfiques
36
+ admin_log:
37
+ endpoint:
38
+ create: "%{user_name} ha creat el punt API %{resource_name}"
39
+ delete: "%{user_name} ha esborrat el membre %{resource_name} de l'enllaç API %{space_name}"
40
+ update: "%{user_name} ha actualitzat el punt API %{resource_name}"
41
+ endpoints:
42
+ add: Afegeix una URL de Decidim
43
+ metrics:
44
+ users:
45
+ title: Usuaris registrats
46
+ widgets:
47
+ embed_modal:
48
+ fullscreen: Mostrar en pantalla completa
49
+ tabs:
50
+ choose_valid_graph: No s'ha especificat cap gràfic vàlid. Trieu-ne un i torneu-ho a provar
51
+ global_stats: Estadístiques globals
52
+ global_stats_timeline: Línia de temps d'estadístiques globals
53
+ processes_timeline: Línia de temps dels processos
54
+ spaces_geocoded_events: Mapes agregats
55
+ components:
56
+ comparative_stats:
57
+ name: Estadístiques comparatives
@@ -0,0 +1,57 @@
1
+ cs:
2
+ decidim:
3
+ admin:
4
+ menu:
5
+ comparative_stats: Srovnávací statistiky
6
+ comparative_stats:
7
+ admin:
8
+ endpoints:
9
+ create:
10
+ error: Koncový bod API nebyl přidán. Ověřte, zda je platná URL pro Decidim API
11
+ success: The API endpoint has been added successfully
12
+ edit:
13
+ title: Upravit koncový bod API Decidim
14
+ update: Zkontrolovat a aktualizovat koncový bod
15
+ index:
16
+ active: Aktivní
17
+ endpoint: Koncový bod
18
+ name: Název
19
+ no_endpoints: Zdá se, že jste ještě nepřidali žádný koncový bod API Decidim!
20
+ title: API Decidim koncové body
21
+ version: Verze
22
+ new:
23
+ create: Zkontrolovat a přidat koncový bod
24
+ subtitle: Přidat platnou URL pro instalaci Decidim odkazující na její API. Například "https://www.decidim.barcelona/api"
25
+ title: Přidat koncový bod API Decidim
26
+ update:
27
+ error: Koncový bod API nebyl aktualizován. Ověřte, zda je platná URL pro Decidim API
28
+ success: The API endpoint has been updated successfully
29
+ graphs:
30
+ show:
31
+ no_endpoints: Vypadá to, že jste ještě neměli žádný aktivní koncový bod. Prosím, nejprve přidejte a aktivujte nějaké koncové body!
32
+ title: Spravovat grafy křížového nájemce
33
+ menu:
34
+ endpoints: Spravovat koncové body API
35
+ graphs: Spravovat grafy
36
+ admin_log:
37
+ endpoint:
38
+ create: "%{user_name} vytvořil koncový bod API %{resource_name}"
39
+ delete: "%{user_name} odstranil %{resource_name} člena z %{space_name} API koncového bodu"
40
+ update: "%{user_name} aktualizoval koncový bod API %{resource_name}"
41
+ endpoints:
42
+ add: Přidat URL Decidim
43
+ metrics:
44
+ users:
45
+ title: Registrovaní uživatelé
46
+ widgets:
47
+ embed_modal:
48
+ fullscreen: Zobrazit na celou obrazovku
49
+ tabs:
50
+ choose_valid_graph: Nebyl zadán žádný platný graf. Vyberte prosím jeden a zkuste to znovu
51
+ global_stats: Globální statistiky
52
+ global_stats_timeline: Časová osa globálních statistik
53
+ processes_timeline: Procesy časové osy
54
+ spaces_geocoded_events: Souhrnné mapy
55
+ components:
56
+ comparative_stats:
57
+ name: Srovnávací statistiky
@@ -0,0 +1,64 @@
1
+ ---
2
+ en:
3
+ decidim:
4
+ admin:
5
+ menu:
6
+ comparative_stats: Comparative Stats
7
+ comparative_stats:
8
+ admin:
9
+ endpoints:
10
+ create:
11
+ error: The API endpoint has not been added. Please verify that is a valid
12
+ Decidim API url
13
+ success: The API endpoint has been added successfully
14
+ edit:
15
+ title: Edit a Decidim API endpoint
16
+ update: Check and update endpoint
17
+ index:
18
+ active: Active
19
+ endpoint: Endpoint
20
+ name: Name
21
+ no_endpoints: It seems that you haven't add any Decidim API endpoint yet!
22
+ title: API Decidim enpoints
23
+ version: Version
24
+ new:
25
+ create: Check and add endpoint
26
+ subtitle: Add a valid Decidim installation URL that points to its API.
27
+ For instance "https://www.decidim.barcelona/api"
28
+ title: Add a Decidim API endpoint
29
+ update:
30
+ error: The API endpoint has not been updated. Please verify that is a
31
+ valid Decidim API url
32
+ success: The API endpoint has been updated successfully
33
+ graphs:
34
+ show:
35
+ no_endpoints: It looks that you haven't any active endpoint yer. Please
36
+ add and activate some Endpoints first!
37
+ title: Manage cross-tenant graphs
38
+ menu:
39
+ endpoints: Manage API endpoints
40
+ graphs: Manage Graphs
41
+ admin_log:
42
+ endpoint:
43
+ create: "%{user_name} created the %{resource_name} API endpoint"
44
+ delete: "%{user_name} removed the %{resource_name} member from the %{space_name}
45
+ API endpoint"
46
+ update: "%{user_name} updated the %{resource_name} API endpoint"
47
+ endpoints:
48
+ add: Add a Decidim URL
49
+ metrics:
50
+ users:
51
+ title: Registered users
52
+ widgets:
53
+ embed_modal:
54
+ fullscreen: View in fullscreen
55
+ tabs:
56
+ choose_valid_graph: No valid graph specified. Please choose one and try
57
+ again
58
+ global_stats: Global stats
59
+ global_stats_timeline: Global stats timeline
60
+ processes_timeline: Processes timeline
61
+ spaces_geocoded_events: Aggregated maps
62
+ components:
63
+ comparative_stats:
64
+ name: ComparativeStats
@@ -0,0 +1,57 @@
1
+ es:
2
+ decidim:
3
+ admin:
4
+ menu:
5
+ comparative_stats: Estadísticas comparativas
6
+ comparative_stats:
7
+ admin:
8
+ endpoints:
9
+ create:
10
+ error: El endpoint de la API no ha sido añadido. Por favor verifique que es una url válida de la API de Decidim
11
+ success: The API endpoint has been added successfully
12
+ edit:
13
+ title: Editar un endpoint de la API de Decidim
14
+ update: Comprobar y actualizar endpoint
15
+ index:
16
+ active: Activo
17
+ endpoint: Endpoint
18
+ name: Nombre
19
+ no_endpoints: '¡Parece que aún no has añadido ningún endpoint de la API de Decidim!'
20
+ title: Endpoints de la API Decidim
21
+ version: Versión
22
+ new:
23
+ create: Comprobar y añadir endpoint
24
+ subtitle: Añade una URL de una instancia de Decidim válida que apunte a su API. Por ejemplo "https://www.decidim.barcelona/api"
25
+ title: Añadir un endpoint de la API de Decidim
26
+ update:
27
+ error: El endpoint de la API no ha sido añadido. Por favor verifique que es una url válida de la API de Decidim
28
+ success: The API endpoint has been updated successfully
29
+ graphs:
30
+ show:
31
+ no_endpoints: Parece que no tienes ningún endpoint activo. ¡Por favor, añade y activa algunos endpoints primero!
32
+ title: Administrar gráficos multi-instancia
33
+ menu:
34
+ endpoints: Administrar endpoints de la API
35
+ graphs: Administrar Gráficos
36
+ admin_log:
37
+ endpoint:
38
+ create: "%{user_name} ha creado el API endpoint %{resource_name}"
39
+ delete: "%{user_name} ha eliminado el miembro %{resource_name} del API endpoint %{space_name}"
40
+ update: "%{user_name} ha actualizado el API endpoint %{resource_name}"
41
+ endpoints:
42
+ add: Añadir una URL de Decidim
43
+ metrics:
44
+ users:
45
+ title: Usuarios registrados
46
+ widgets:
47
+ embed_modal:
48
+ fullscreen: Ver en pantalla completa
49
+ tabs:
50
+ choose_valid_graph: No se ha especificado un gráfico válido. Por favor, elija uno e inténtalo de nuevo
51
+ global_stats: Estadísticas Globales
52
+ global_stats_timeline: Línea de tiempo de estadísticas globales
53
+ processes_timeline: Línea de tiempo de procesos
54
+ spaces_geocoded_events: Mapas agregados
55
+ components:
56
+ comparative_stats:
57
+ name: Estadísticas comparativas
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDecidimComparativeStatsEndpoints < ActiveRecord::Migration[5.2]
4
+ def change
5
+ create_table :decidim_comparative_stats_endpoints do |t|
6
+ t.string :endpoint
7
+ t.boolean :active
8
+ t.references :decidim_organization, null: false, foreign_key: true, index: { name: "decidim_comparative_stats_constraint_organization" }
9
+
10
+ t.timestamps
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddNameVersionToComparativeStatsEndpoints < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_comparative_stats_endpoints, :name, :string
6
+ add_column :decidim_comparative_stats_endpoints, :version, :string
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RenameVersionFieldInComparativeStatsEndpoints < ActiveRecord::Migration[5.2]
4
+ def change
5
+ rename_column :decidim_comparative_stats_endpoints, :version, :api_version
6
+ end
7
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ if !Rails.env.production? || ENV["SEED"]
4
+ print "Creating seeds for comparative_stats...\n" unless Rails.env.test?
5
+
6
+ organization = Decidim::Organization.first
7
+
8
+ # Set the htmleditor on to facilitate development
9
+ admin_user = Decidim::User.find_by(
10
+ organization: organization,
11
+ email: "admin@example.org"
12
+ )
13
+
14
+ # add enpoints bcn - helsinki
15
+ Decidim.traceability.create!(
16
+ Decidim::ComparativeStats::Endpoint,
17
+ admin_user,
18
+ endpoint: "http://localhost:3000/api",
19
+ name: organization.name,
20
+ api_version: Decidim.version,
21
+ organization: organization,
22
+ active: true
23
+ )
24
+ Decidim.traceability.create!(
25
+ Decidim::ComparativeStats::Endpoint,
26
+ admin_user,
27
+ endpoint: "https://www.decidim.barcelona/api",
28
+ name: "Decidim Barcelona",
29
+ api_version: "0.22.0",
30
+ organization: organization,
31
+ active: true
32
+ )
33
+ Decidim.traceability.create!(
34
+ Decidim::ComparativeStats::Endpoint,
35
+ admin_user,
36
+ endpoint: "https://omastadi.hel.fi/api",
37
+ name: "City of Helsinki participationary platform",
38
+ api_version: "0.23.1",
39
+ organization: organization,
40
+ active: false
41
+ )
42
+ end