decidim-debates 0.27.6 → 0.28.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/debates/debate_activity_cell.rb +1 -12
  3. data/app/cells/decidim/debates/debate_card_metadata_cell.rb +43 -0
  4. data/app/cells/decidim/debates/debate_cell.rb +6 -1
  5. data/app/cells/decidim/debates/debate_l_cell.rb +49 -0
  6. data/app/cells/decidim/debates/debate_s_cell.rb +21 -0
  7. data/app/commands/decidim/debates/admin/close_debate.rb +1 -1
  8. data/app/commands/decidim/debates/close_debate.rb +1 -1
  9. data/app/commands/decidim/debates/create_debate.rb +13 -4
  10. data/app/commands/decidim/debates/update_debate.rb +15 -2
  11. data/app/controllers/decidim/debates/admin/debate_closes_controller.rb +2 -2
  12. data/app/controllers/decidim/debates/admin/debates_controller.rb +5 -5
  13. data/app/controllers/decidim/debates/debates_controller.rb +7 -8
  14. data/app/events/decidim/debates/close_debate_event.rb +1 -1
  15. data/app/events/decidim/debates/create_debate_event.rb +15 -1
  16. data/app/forms/decidim/debates/admin/close_debate_form.rb +1 -1
  17. data/app/forms/decidim/debates/close_debate_form.rb +2 -2
  18. data/app/forms/decidim/debates/debate_form.rb +2 -2
  19. data/app/helpers/decidim/debates/application_helper.rb +42 -17
  20. data/app/jobs/decidim/debates/hide_all_created_by_author_job.rb +13 -0
  21. data/app/jobs/decidim/debates/settings_change_job.rb +2 -2
  22. data/app/models/decidim/debates/debate.rb +4 -4
  23. data/app/packs/entrypoints/decidim_debates.js +2 -0
  24. data/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_commented_debates.svg +42 -1
  25. data/app/permissions/decidim/debates/permissions.rb +0 -6
  26. data/app/presenters/decidim/debates/admin_log/debate_presenter.rb +2 -2
  27. data/app/views/decidim/debates/admin/debate_closes/edit.html.erb +26 -14
  28. data/app/views/decidim/debates/admin/debates/_form.html.erb +40 -39
  29. data/app/views/decidim/debates/admin/debates/edit.html.erb +16 -6
  30. data/app/views/decidim/debates/admin/debates/index.html.erb +60 -58
  31. data/app/views/decidim/debates/admin/debates/new.html.erb +16 -6
  32. data/app/views/decidim/debates/debates/_close_debate_modal.html.erb +22 -11
  33. data/app/views/decidim/debates/debates/_debates.html.erb +5 -6
  34. data/app/views/decidim/debates/debates/_form.html.erb +10 -19
  35. data/app/views/decidim/debates/debates/edit.html.erb +16 -20
  36. data/app/views/decidim/debates/debates/index.html.erb +19 -23
  37. data/app/views/decidim/debates/debates/index.js.erb +3 -4
  38. data/app/views/decidim/debates/debates/new.html.erb +16 -20
  39. data/app/views/decidim/debates/debates/show.html.erb +106 -109
  40. data/app/views/decidim/debates/versions/show.html.erb +14 -5
  41. data/config/locales/ar.yml +7 -17
  42. data/config/locales/bg.yml +0 -33
  43. data/config/locales/ca.yml +14 -35
  44. data/config/locales/cs.yml +13 -34
  45. data/config/locales/de.yml +14 -35
  46. data/config/locales/el.yml +10 -28
  47. data/config/locales/en.yml +13 -34
  48. data/config/locales/es-MX.yml +12 -33
  49. data/config/locales/es-PY.yml +13 -34
  50. data/config/locales/es.yml +15 -36
  51. data/config/locales/eu.yml +16 -37
  52. data/config/locales/fi-plain.yml +12 -33
  53. data/config/locales/fi.yml +12 -33
  54. data/config/locales/fr-CA.yml +14 -35
  55. data/config/locales/fr.yml +14 -35
  56. data/config/locales/ga-IE.yml +0 -15
  57. data/config/locales/gl.yml +7 -16
  58. data/config/locales/hu.yml +13 -32
  59. data/config/locales/id-ID.yml +7 -15
  60. data/config/locales/is-IS.yml +3 -9
  61. data/config/locales/it.yml +7 -31
  62. data/config/locales/ja.yml +13 -37
  63. data/config/locales/lb.yml +7 -25
  64. data/config/locales/lt.yml +14 -29
  65. data/config/locales/lv.yml +6 -17
  66. data/config/locales/nl.yml +7 -28
  67. data/config/locales/no.yml +7 -31
  68. data/config/locales/pl.yml +14 -33
  69. data/config/locales/pt-BR.yml +7 -39
  70. data/config/locales/pt.yml +7 -31
  71. data/config/locales/ro-RO.yml +10 -29
  72. data/config/locales/ru.yml +3 -12
  73. data/config/locales/sk.yml +6 -17
  74. data/config/locales/sl.yml +0 -3
  75. data/config/locales/sr-CS.yml +0 -6
  76. data/config/locales/sv.yml +11 -31
  77. data/config/locales/tr-TR.yml +6 -35
  78. data/config/locales/uk.yml +3 -12
  79. data/config/locales/zh-CN.yml +7 -29
  80. data/config/locales/zh-TW.yml +9 -28
  81. data/lib/decidim/debates/component.rb +4 -88
  82. data/lib/decidim/debates/engine.rb +29 -7
  83. data/lib/decidim/debates/seeds.rb +104 -0
  84. data/lib/decidim/debates/test/factories.rb +19 -14
  85. data/lib/decidim/debates/version.rb +1 -1
  86. metadata +31 -33
  87. data/app/cells/decidim/debates/debate_m/data.erb +0 -10
  88. data/app/cells/decidim/debates/debate_m/footer.erb +0 -10
  89. data/app/cells/decidim/debates/debate_m/multiple_dates.erb +0 -17
  90. data/app/cells/decidim/debates/debate_m/open_date.erb +0 -7
  91. data/app/cells/decidim/debates/debate_m/single_date.erb +0 -9
  92. data/app/cells/decidim/debates/debate_m/tags.erb +0 -1
  93. data/app/cells/decidim/debates/debate_m_cell.rb +0 -86
  94. data/app/controllers/decidim/debates/widgets_controller.rb +0 -29
  95. data/app/views/decidim/debates/debates/_count.html.erb +0 -1
  96. data/app/views/decidim/debates/debates/_filters.html.erb +0 -34
  97. data/app/views/decidim/debates/debates/_filters_small_view.html.erb +0 -18
  98. data/config/locales/he-IL.yml +0 -1
  99. data/decidim-debates.gemspec +0 -32
@@ -1,86 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Debates
5
- # This cell renders the Medium (:m) debate card
6
- # for an given instance of a Debate
7
- class DebateMCell < Decidim::CardMCell
8
- include DebateCellsHelper
9
-
10
- def date
11
- render
12
- end
13
-
14
- def has_state?
15
- model.closed?
16
- end
17
-
18
- def badge_name
19
- I18n.t("decidim.debates.debates.closed") if model.closed?
20
- end
21
-
22
- def state_classes
23
- return ["muted"] if model.closed?
24
-
25
- super
26
- end
27
-
28
- def presenter
29
- present(model)
30
- end
31
-
32
- private
33
-
34
- def title
35
- presenter.title(html_escape: true)
36
- end
37
-
38
- def body
39
- decidim_sanitize_editor(present(model).description)
40
- end
41
-
42
- def description
43
- strip_tags(body).truncate(200, separator: /\s/)
44
- end
45
-
46
- def resource_icon
47
- icon "debates", class: "icon--big"
48
- end
49
-
50
- def spans_multiple_dates?
51
- start_date != end_date
52
- end
53
-
54
- def has_actions?
55
- false
56
- end
57
-
58
- def debate_date
59
- return render(:open_date) unless start_date && end_date
60
- return render(:multiple_dates) if spans_multiple_dates?
61
-
62
- render(:single_date)
63
- end
64
-
65
- def formatted_start_time
66
- model.start_time.strftime("%H:%M")
67
- end
68
-
69
- def formatted_end_time
70
- model.end_time.strftime("%H:%M")
71
- end
72
-
73
- def start_date
74
- return unless model.start_time
75
-
76
- model.start_time.to_date
77
- end
78
-
79
- def end_date
80
- return unless model.end_time
81
-
82
- model.end_time.to_date
83
- end
84
- end
85
- end
86
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Debates
5
- class WidgetsController < Decidim::WidgetsController
6
- helper Debates::ApplicationHelper
7
-
8
- def show
9
- enforce_permission_to :embed, :debate, debate: model if model
10
-
11
- super
12
- end
13
-
14
- private
15
-
16
- def model
17
- @model ||= Debate.not_hidden.where(component: current_component).find(params[:debate_id])
18
- end
19
-
20
- def iframe_url
21
- @iframe_url ||= debate_widget_url(model)
22
- end
23
-
24
- def permission_class_chain
25
- [Decidim::Debates::Permissions]
26
- end
27
- end
28
- end
29
- end
@@ -1 +0,0 @@
1
- <%= t(".debates_count", count: paginated_debates.total_count) %>
@@ -1,34 +0,0 @@
1
- <%= render partial: "decidim/shared/filter_form_help", locals: { skip_to_id: "debates" } %>
2
-
3
- <%= filter_form_for filter do |form| %>
4
- <div class="filters__section">
5
- <div class="filters__search">
6
- <div class="input-group">
7
- <%= form.search_field :search_text_cont, label: false, class: "input-group-field", placeholder: t(".search"), title: t(".search"), "aria-label": t(".search"), data: { disable_dynamic_change: true } %>
8
- <div class="input-group-button">
9
- <button type="submit" class="button" aria-controls="debates">
10
- <%= icon "magnifying-glass", aria_label: t(".search"), role: "img" %>
11
- </button>
12
- </div>
13
- </div>
14
- </div>
15
- </div>
16
-
17
- <%= form.check_boxes_tree :with_any_state, filter_debates_state_values, legend_title: t(".state"), "aria-controls": "debates" %>
18
-
19
- <% if current_component.has_subscopes? %>
20
- <%= form.check_boxes_tree :with_any_scope, filter_scopes_values, legend_title: t(".scope"), "aria-controls": "debates" %>
21
- <% end %>
22
-
23
- <% if current_participatory_space.categories.any? %>
24
- <%= form.check_boxes_tree :with_any_category, filter_categories_values, legend_title: t(".category"), "aria-controls": "debates" %>
25
- <% end %>
26
-
27
- <%= form.check_boxes_tree :with_any_origin, filter_origin_values, legend_title: t(".origin"), "aria-controls": "debates" %>
28
-
29
- <% if current_user %>
30
- <%= form.collection_radio_buttons :activity, activity_filter_values, :first, :last, { legend_title: t(".activity") }, "aria-controls": "debates" %>
31
- <% end %>
32
-
33
- <%= hidden_field_tag :order, order, id: nil, class: "order_filter" %>
34
- <% end %>
@@ -1,18 +0,0 @@
1
- <div class="filters-controls hide-for-mediumlarge">
2
- <button data-open="filter-box" class="filters-controls__trigger" aria-controls="filter-box" aria-haspopup="dialog">
3
- <%= t ".filter" %>
4
- <%= icon "caret-bottom", class: "icon--small float-right", aria_label: t(".unfold"), role: "img" %>
5
- </button>
6
- </div>
7
-
8
- <div class="reveal" id="filter-box" data-reveal role="dialog" aria-modal="true" aria-labelledby="filter-box-label">
9
- <div class="reveal__header">
10
- <h3 id="filter-box-label" class="reveal__title"><%= t ".filter_by" %>:</h3>
11
- <button class="close-button" data-close aria-label="<%= t(".close_modal") %>" type="button">
12
- <span aria-hidden="true">&times;</span>
13
- </button>
14
- </div>
15
- <div class="filters">
16
- <%= render partial: "filters", locals: { type: :small } %>
17
- </div>
18
- </div>
@@ -1 +0,0 @@
1
- he:
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- $LOAD_PATH.push File.expand_path("lib", __dir__)
4
-
5
- require "decidim/debates/version"
6
-
7
- # Describe your gem and declare its dependencies:
8
- Gem::Specification.new do |s|
9
- s.version = Decidim::Debates.version
10
- s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva", "Genis Matutes Pujol"]
11
- s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com", "genis.matutes@gmail.com"]
12
- s.license = "AGPL-3.0"
13
- s.homepage = "https://github.com/decidim/decidim"
14
- s.required_ruby_version = "~> 3.0.0"
15
-
16
- s.name = "decidim-debates"
17
- s.summary = "Decidim debates module"
18
- s.description = "A debates component for decidim's participatory spaces."
19
-
20
- s.files = Dir.chdir(__dir__) do
21
- `git ls-files -z`.split("\x0").select do |f|
22
- (File.expand_path(f) == __FILE__) ||
23
- f.start_with?(*%w(app/ config/ db/ lib/ Rakefile README.md))
24
- end
25
- end
26
-
27
- s.add_dependency "decidim-comments", Decidim::Debates.version
28
- s.add_dependency "decidim-core", Decidim::Debates.version
29
-
30
- s.add_development_dependency "decidim-admin", Decidim::Debates.version
31
- s.add_development_dependency "decidim-dev", Decidim::Debates.version
32
- end