decidim-conferences 0.17.2 → 0.20.0

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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheet/decidim/conferences/conferences.scss +3 -0
  3. data/app/cells/decidim/conferences/conference_address/show.erb +1 -1
  4. data/app/cells/decidim/conferences/conference_m/footer.erb +1 -1
  5. data/app/cells/decidim/conferences/conference_speaker/show.erb +2 -2
  6. data/app/cells/decidim/conferences/conference_speaker_cell.rb +6 -2
  7. data/app/cells/decidim/conferences/linked_participatory_spaces_cell.rb +6 -0
  8. data/app/cells/decidim/conferences/partner_cell.rb +2 -0
  9. data/app/cells/decidim/conferences/photos_list_cell.rb +1 -0
  10. data/app/cells/decidim/conferences/registration_type_cell.rb +2 -0
  11. data/app/commands/decidim/conferences/admin/confirm_conference_registration.rb +1 -0
  12. data/app/commands/decidim/conferences/admin/create_conference.rb +0 -10
  13. data/app/commands/decidim/conferences/admin/create_conference_admin.rb +1 -0
  14. data/app/commands/decidim/conferences/admin/publish_conference.rb +12 -0
  15. data/app/commands/decidim/conferences/admin/update_conference.rb +6 -2
  16. data/app/commands/decidim/conferences/admin/update_diploma.rb +1 -0
  17. data/app/commands/decidim/conferences/join_conference.rb +2 -0
  18. data/app/commands/decidim/conferences/leave_conference.rb +1 -0
  19. data/app/controllers/decidim/conferences/admin/application_controller.rb +5 -4
  20. data/app/controllers/decidim/conferences/admin/concerns/conference_admin.rb +6 -4
  21. data/app/controllers/decidim/conferences/admin/conference_registrations_controller.rb +3 -1
  22. data/app/controllers/decidim/conferences/admin/conference_speakers_controller.rb +2 -1
  23. data/app/controllers/decidim/conferences/admin/conference_user_roles_controller.rb +2 -1
  24. data/app/controllers/decidim/conferences/admin/conferences_controller.rb +2 -1
  25. data/app/controllers/decidim/conferences/admin/media_links_controller.rb +2 -1
  26. data/app/controllers/decidim/conferences/admin/partners_controller.rb +2 -1
  27. data/app/controllers/decidim/conferences/admin/registration_types_controller.rb +2 -1
  28. data/app/controllers/decidim/conferences/application_controller.rb +6 -5
  29. data/app/controllers/decidim/conferences/conference_program_controller.rb +4 -1
  30. data/app/controllers/decidim/conferences/conference_registrations_controller.rb +1 -0
  31. data/app/controllers/decidim/conferences/conference_speakers_controller.rb +1 -0
  32. data/app/controllers/decidim/conferences/media_controller.rb +1 -0
  33. data/app/controllers/decidim/conferences/registration_types_controller.rb +1 -0
  34. data/app/forms/decidim/conferences/admin/conference_form.rb +4 -0
  35. data/app/forms/decidim/conferences/admin/conference_speaker_form.rb +1 -0
  36. data/app/forms/decidim/conferences/admin/registration_type_form.rb +1 -0
  37. data/app/helpers/decidim/conferences/conference_helper.rb +1 -0
  38. data/app/models/decidim/conference.rb +22 -4
  39. data/app/models/decidim/conference_user_role.rb +1 -0
  40. data/app/permissions/decidim/conferences/permissions.rb +6 -0
  41. data/app/presenters/decidim/conferences/admin_log/value_types/role_presenter.rb +1 -0
  42. data/app/presenters/decidim/log/value_types/conference_presenter.rb +1 -0
  43. data/app/queries/decidim/conferences/admin/admin_users.rb +8 -1
  44. data/app/queries/decidim/conferences/admin/conference_invites.rb +1 -0
  45. data/app/queries/decidim/conferences/admin/conference_speakers.rb +1 -0
  46. data/app/views/decidim/conferences/admin/conference_speakers/index.html.erb +1 -0
  47. data/app/views/decidim/conferences/admin/conference_user_roles/index.html.erb +4 -3
  48. data/app/views/decidim/conferences/admin/conferences/index.html.erb +4 -3
  49. data/app/views/decidim/conferences/admin/partners/index.html.erb +1 -0
  50. data/app/views/decidim/conferences/admin/registration_types/index.html.erb +1 -0
  51. data/app/views/decidim/conferences/admin/send_conference_diploma_mailer/diploma_user.html.erb +1 -1
  52. data/app/views/decidim/conferences/conference_registration_mailer/confirmation.html.erb +1 -1
  53. data/app/views/decidim/conferences/conference_registration_mailer/pending_validation.html.erb +1 -1
  54. data/app/views/decidim/conferences/conferences/_partners.html.erb +1 -1
  55. data/app/views/decidim/conferences/conferences/_promoted_conference.html.erb +1 -1
  56. data/app/views/decidim/conferences/conferences/show.html.erb +3 -3
  57. data/app/views/decidim/conferences/media/index.html.erb +2 -2
  58. data/app/views/layouts/decidim/_conference_hero.html.erb +2 -2
  59. data/app/views/layouts/decidim/diploma.html.erb +2 -2
  60. data/config/locales/ar-SA.yml +1 -0
  61. data/config/locales/ar.yml +589 -0
  62. data/config/locales/ca.yml +1 -0
  63. data/config/locales/cs.yml +56 -55
  64. data/config/locales/de.yml +10 -9
  65. data/config/locales/en.yml +1 -0
  66. data/config/locales/es-MX.yml +1 -0
  67. data/config/locales/es-PY.yml +1 -0
  68. data/config/locales/es.yml +1 -0
  69. data/config/locales/eu.yml +1 -0
  70. data/config/locales/fi-plain.yml +1 -0
  71. data/config/locales/fi.yml +1 -0
  72. data/config/locales/fr.yml +95 -94
  73. data/config/locales/gl.yml +1 -0
  74. data/config/locales/hu.yml +2 -1
  75. data/config/locales/id-ID.yml +1 -0
  76. data/config/locales/it.yml +4 -3
  77. data/config/locales/nl.yml +3 -2
  78. data/config/locales/no.yml +117 -0
  79. data/config/locales/pl.yml +1 -0
  80. data/config/locales/pt-BR.yml +1 -0
  81. data/config/locales/pt.yml +1 -0
  82. data/config/locales/sv.yml +1 -0
  83. data/config/locales/tr-TR.yml +1 -0
  84. data/lib/decidim/conferences/participatory_space.rb +3 -0
  85. data/lib/decidim/conferences/version.rb +1 -1
  86. metadata +22 -20
@@ -11,7 +11,8 @@ module Decidim
11
11
  helper_method :collection, :conference, :meeting_days, :meeting_component
12
12
 
13
13
  def show
14
- raise ActionController::RoutingError, "No meetings for this conference " if meetings.empty?
14
+ raise ActionController::RoutingError, "No meetings for this conference " if meetings.blank?
15
+
15
16
  enforce_permission_to :list, :program
16
17
  redirect_to decidim_conferences.conference_path(current_participatory_space) unless current_user_can_visit_space?
17
18
  end
@@ -20,11 +21,13 @@ module Decidim
20
21
 
21
22
  def meeting_component
22
23
  return if params[:id].blank?
24
+
23
25
  @meeting_component ||= current_participatory_space.components.where(manifest_name: "meetings").find_by(id: params[:id])
24
26
  end
25
27
 
26
28
  def meetings
27
29
  return unless meeting_component.published? || !meeting_component.presence
30
+
28
31
  @meetings ||= Decidim::Meetings::Meeting.where(component: meeting_component).visible_meeting_for(current_user).order(:start_time)
29
32
  end
30
33
 
@@ -65,6 +65,7 @@ module Decidim
65
65
  def redirect_after_path
66
66
  referer = request.headers["Referer"]
67
67
  return redirect_to(conference_path(conference)) if referer =~ /invitation_token/
68
+
68
69
  redirect_back fallback_location: conference_path(conference)
69
70
  end
70
71
  end
@@ -11,6 +11,7 @@ module Decidim
11
11
 
12
12
  def index
13
13
  raise ActionController::RoutingError, "No speakers for this conference " if speakers.empty?
14
+
14
15
  enforce_permission_to :list, :speakers
15
16
  redirect_to decidim_conferences.conference_path(current_participatory_space) unless current_user_can_visit_space?
16
17
  end
@@ -13,6 +13,7 @@ module Decidim
13
13
 
14
14
  def index
15
15
  raise ActionController::RoutingError, "No media_links for this conference " if media_links.empty? && current_participatory_space.attachments.empty?
16
+
16
17
  enforce_permission_to :list, :media_links
17
18
  redirect_to decidim_conferences.conference_path(current_participatory_space) unless current_user_can_visit_space?
18
19
  end
@@ -11,6 +11,7 @@ module Decidim
11
11
 
12
12
  def index
13
13
  raise ActionController::RoutingError, "No registration types for this conference " if registration_types.empty? && current_participatory_space.registrations_enabled.empty?
14
+
14
15
  enforce_permission_to :list, :registration_types
15
16
  redirect_to decidim_conferences.conference_path(current_participatory_space) unless current_user_can_visit_space?
16
17
  end
@@ -62,6 +62,7 @@ module Decidim
62
62
 
63
63
  def processes_for_select
64
64
  return unless Decidim.participatory_space_manifests.map(&:name).include?(:participatory_processes)
65
+
65
66
  @processes_for_select ||= Decidim.find_participatory_space_manifest(:participatory_processes)
66
67
  .participatory_spaces.call(current_organization)&.order(title: :asc)&.map do |process|
67
68
  [
@@ -73,6 +74,7 @@ module Decidim
73
74
 
74
75
  def assemblies_for_select
75
76
  return unless Decidim.participatory_space_manifests.map(&:name).include?(:assemblies)
77
+
76
78
  @assemblies_for_select ||= Decidim.find_participatory_space_manifest(:assemblies)
77
79
  .participatory_spaces.call(current_organization)&.order(title: :asc)&.map do |assembly|
78
80
  [
@@ -84,6 +86,7 @@ module Decidim
84
86
 
85
87
  def consultations_for_select
86
88
  return unless Decidim.participatory_space_manifests.map(&:name).include?(:consultations)
89
+
87
90
  @consultations_for_select ||= Decidim.find_participatory_space_manifest(:consultations)
88
91
  .participatory_spaces.call(current_organization)&.order(title: :asc)&.map do |consultation|
89
92
  [
@@ -98,6 +101,7 @@ module Decidim
98
101
  def available_slots_greater_than_or_equal_to_registrations_count
99
102
  conference = OrganizationConferences.new(current_organization).query.find_by(slug: slug)
100
103
  return true if conference.blank?
104
+
101
105
  errors.add(:available_slots, :invalid) if available_slots < conference.conference_registrations.count
102
106
  end
103
107
 
@@ -50,6 +50,7 @@ module Decidim
50
50
  def conference_meetings
51
51
  meeting_components = current_participatory_space.components.where(manifest_name: "meetings")
52
52
  return unless meeting_components || conference_meeting_ids.delete("").present?
53
+
53
54
  @conference_meetings ||= Decidim::ConferenceMeeting.where(component: meeting_components).where(id: conference_meeting_ids)
54
55
  end
55
56
 
@@ -36,6 +36,7 @@ module Decidim
36
36
  def conference_meetings
37
37
  meeting_components = current_participatory_space.components.where(manifest_name: "meetings")
38
38
  return unless meeting_components || conference_meeting_ids.delete("").present?
39
+
39
40
  @conference_meetings ||= Decidim::ConferenceMeeting.where(component: meeting_components).where(id: conference_meeting_ids)
40
41
  end
41
42
  end
@@ -8,6 +8,7 @@ module Decidim
8
8
  #
9
9
  def render_date(conference)
10
10
  return l(conference.start_date, format: :decidim_with_month_name_short) if conference.start_date == conference.end_date
11
+
11
12
  "#{l(conference.start_date, format: :decidim_with_month_name_short)} - #{l(conference.end_date, format: :decidim_with_month_name_short)}"
12
13
  end
13
14
  end
@@ -16,14 +16,12 @@ module Decidim
16
16
  include Decidim::Traceable
17
17
  include Decidim::Loggable
18
18
  include Decidim::ParticipatorySpaceResourceable
19
+ include Decidim::Searchable
19
20
 
20
21
  belongs_to :organization,
21
22
  foreign_key: "decidim_organization_id",
22
23
  class_name: "Decidim::Organization"
23
- belongs_to :area,
24
- foreign_key: "decidim_area_id",
25
- class_name: "Decidim::Area",
26
- optional: true
24
+
27
25
  has_many :categories,
28
26
  foreign_key: "decidim_participatory_space_id",
29
27
  foreign_type: "decidim_participatory_space_type",
@@ -58,6 +56,18 @@ module Decidim
58
56
  mount_uploader :main_logo, Decidim::Conferences::DiplomaUploader
59
57
  mount_uploader :signature, Decidim::Conferences::DiplomaUploader
60
58
 
59
+ searchable_fields({
60
+ scope_id: :decidim_scope_id,
61
+ participatory_space: :itself,
62
+ A: :title,
63
+ B: :slogan,
64
+ C: :short_description,
65
+ D: [:description, :objectives],
66
+ datetime: :published_at
67
+ },
68
+ index_on_create: ->(_conference) { false },
69
+ index_on_update: ->(conference) { conference.visible? })
70
+
61
71
  # Scope to return only the promoted conferences.
62
72
  #
63
73
  # Returns an ActiveRecord::Relation.
@@ -87,6 +97,7 @@ module Decidim
87
97
 
88
98
  def has_available_slots?
89
99
  return true if available_slots.zero?
100
+
90
101
  available_slots > conference_registrations.count
91
102
  end
92
103
 
@@ -96,7 +107,14 @@ module Decidim
96
107
 
97
108
  def diploma_sent?
98
109
  return false if diploma_sent_at.nil?
110
+
99
111
  true
100
112
  end
113
+
114
+ def closed?
115
+ return false if end_date.blank?
116
+
117
+ end_date < Date.current
118
+ end
101
119
  end
102
120
  end
@@ -24,6 +24,7 @@ module Decidim
24
24
  # Private: check if the process and the user have the same organization
25
25
  def user_and_conference_same_organization
26
26
  return if !conference || !user
27
+
27
28
  errors.add(:conference, :invalid) unless user.organization == conference.organization
28
29
  end
29
30
  end
@@ -30,6 +30,7 @@ module Decidim
30
30
  end
31
31
 
32
32
  return permission_action unless user
33
+
33
34
  if !has_manageable_conferences? && !user.admin?
34
35
  disallow!
35
36
  return permission_action
@@ -94,12 +95,14 @@ module Decidim
94
95
  # Checks if it has any manageable conference, with any possible role.
95
96
  def has_manageable_conferences?(role: :any)
96
97
  return unless user
98
+
97
99
  conferences_with_role_privileges(role).any?
98
100
  end
99
101
 
100
102
  # Whether the user can manage the given conference or not.
101
103
  def can_manage_conference?(role: :any)
102
104
  return unless user
105
+
103
106
  conferences_with_role_privileges(role).include? conference
104
107
  end
105
108
 
@@ -123,6 +126,7 @@ module Decidim
123
126
 
124
127
  return allow! if user&.admin?
125
128
  return allow! if conference.published?
129
+
126
130
  toggle_allow(can_manage_conference?)
127
131
  end
128
132
 
@@ -222,12 +226,14 @@ module Decidim
222
226
  # Everyone can read the conference list
223
227
  def user_can_read_conference_list?
224
228
  return unless read_conference_list_permission_action?
229
+
225
230
  toggle_allow(user.admin? || has_manageable_conferences?)
226
231
  end
227
232
 
228
233
  def user_can_read_current_conference?
229
234
  return unless read_conference_list_permission_action?
230
235
  return if permission_action.subject == :conference_list
236
+
231
237
  toggle_allow(user.admin? || can_manage_conference?)
232
238
  end
233
239
 
@@ -13,6 +13,7 @@ module Decidim
13
13
  # Returns an HTML-safe String.
14
14
  def present
15
15
  return if value.blank?
16
+
16
17
  h.t(value, scope: "decidim.admin.models.conference_user_role.roles", default: value)
17
18
  end
18
19
  end
@@ -14,6 +14,7 @@ module Decidim
14
14
  def present
15
15
  return unless value
16
16
  return h.translated_attribute(conference.title) if conference
17
+
17
18
  I18n.t("not_found", id: value, scope: "decidim.log.value_types.conference_presenter")
18
19
  end
19
20
 
@@ -23,7 +23,7 @@ module Decidim
23
23
  #
24
24
  # Returns an ActiveRecord::Relation.
25
25
  def query
26
- Decidim::User.where(id: organization_admins)
26
+ Decidim::User.where(id: organization_admins).or(conference_user_admins)
27
27
  end
28
28
 
29
29
  private
@@ -33,6 +33,13 @@ module Decidim
33
33
  def organization_admins
34
34
  conference.organization.admins
35
35
  end
36
+
37
+ def conference_user_admins
38
+ conference_user_admin_ids = Decidim::ConferenceUserRole
39
+ .where(conference: conference, role: :admin)
40
+ .pluck(:decidim_user_id)
41
+ Decidim::User.where(id: conference_user_admin_ids)
42
+ end
36
43
  end
37
44
  end
38
45
  end
@@ -36,6 +36,7 @@ module Decidim
36
36
 
37
37
  def filter_by_search(conference_invites)
38
38
  return conference_invites if @query.blank?
39
+
39
40
  conference_invites.joins(:user).where(
40
41
  User.arel_table[:name].lower.matches("%#{@query}%").or(User.arel_table[:email].lower.matches("%#{@query}%"))
41
42
  )
@@ -32,6 +32,7 @@ module Decidim
32
32
 
33
33
  def filter_by_search(conference_speakers)
34
34
  return conference_speakers if @query.blank?
35
+
35
36
  conference_speakers.where("LOWER(full_name) LIKE LOWER(?)", "%#{@query}%")
36
37
  end
37
38
  end
@@ -63,6 +63,7 @@
63
63
  <% end %>
64
64
  </tbody>
65
65
  </table>
66
+ <%= paginate @conference_speakers, theme: "decidim" %>
66
67
  </div>
67
68
  </div>
68
69
  </div>
@@ -25,10 +25,10 @@
25
25
  <% @conference_user_roles.each do |role| %>
26
26
  <tr>
27
27
  <td>
28
- <%= role.user.name %><br />
28
+ <%= role.user.name %><br>
29
29
  </td>
30
30
  <td>
31
- <%= role.user.email %><br />
31
+ <%= role.user.email %><br>
32
32
  </td>
33
33
  <td>
34
34
  <% if role.user.invitation_sent_at %>
@@ -41,7 +41,7 @@
41
41
  <% end %>
42
42
  </td>
43
43
  <td>
44
- <%= t("#{role.role}", scope: "decidim.admin.models.conference_user_role.roles") %><br />
44
+ <%= t("#{role.role}", scope: "decidim.admin.models.conference_user_role.roles") %><br>
45
45
  </td>
46
46
  <td class="table-list__actions">
47
47
  <% if allowed_to?(:invite, :conference_user_role, user_role: role) && role.user.invited_to_sign_up? %>
@@ -60,6 +60,7 @@
60
60
  <% end %>
61
61
  </tbody>
62
62
  </table>
63
+ <%= paginate @conference_user_roles, theme: "decidim" %>
63
64
  </div>
64
65
  </div>
65
66
  </div>
@@ -26,11 +26,11 @@
26
26
  </span>
27
27
  <% end %>
28
28
  <% if allowed_to? :update, :conference, conference: conference %>
29
- <%= link_to translated_attribute(conference.title), edit_conference_path(conference) %><br />
29
+ <%= link_to translated_attribute(conference.title), edit_conference_path(conference) %><br>
30
30
  <% elsif allowed_to? :preview, :conference, conference: conference %>
31
- <%= link_to translated_attribute(conference.title), decidim_conferences.conference_path(conference) %><br />
31
+ <%= link_to translated_attribute(conference.title), decidim_conferences.conference_path(conference) %><br>
32
32
  <% elsif allowed_to? :read, :moderation, conference: conference %>
33
- <%= link_to translated_attribute(conference.title), moderations_path(conference) %><br />
33
+ <%= link_to translated_attribute(conference.title), moderations_path(conference) %><br>
34
34
  <% else %>
35
35
  <%= translated_attribute(conference.title) %>
36
36
  <% end %>
@@ -60,6 +60,7 @@
60
60
  <% end %>
61
61
  </tbody>
62
62
  </table>
63
+ <%= paginate @conferences, theme: "decidim" %>
63
64
  </div>
64
65
  </div>
65
66
  </div>
@@ -51,6 +51,7 @@
51
51
  <% end %>
52
52
  </tbody>
53
53
  </table>
54
+ <%= paginate @partners, theme: "decidim" %>
54
55
  </div>
55
56
  </div>
56
57
  </div>
@@ -60,6 +60,7 @@
60
60
  <% end %>
61
61
  </tbody>
62
62
  </table>
63
+ <%= paginate @registration_types, theme: "decidim" %>
63
64
  </div>
64
65
  </div>
65
66
  </div>
@@ -10,7 +10,7 @@
10
10
  <h3><%= t("decidim.conferences.admin.send_conference_diploma_mailer.diploma_user.certificate_of_attendance") %></h3>
11
11
  <p><%= t("decidim.conferences.admin.send_conference_diploma_mailer.diploma_user.certificate_of_attendance_description", user: @user.name, title: translated_attribute(@conference.title), location: @conference.location, start: l(@conference.start_date, format: :decidim_short), end: l(@conference.end_date, format: :decidim_short) ).html_safe %></p>
12
12
  </div>
13
- <hr class="reset mt-m mb-m" />
13
+ <hr class="reset mt-m mb-m">
14
14
  <div class="diploma__attendance">
15
15
  <strong><%= t("decidim.conferences.admin.send_conference_diploma_mailer.diploma_user.attendance_verified_by") %></strong>
16
16
  <div>
@@ -3,7 +3,7 @@
3
3
  <p><%= t(".details_1", registration_type: translated_attribute(@registration_type.title), price: number_to_currency((@registration_type.price || 0), locale: I18n.locale, unit: Decidim.currency_unit)) %></p>
4
4
 
5
5
  <ul>
6
- <% @registration_type.conference_meetings.each do |conference_meeting| %>
6
+ <% @registration_type.conference_meetings.order(:start_time).each do |conference_meeting| %>
7
7
  <li><%= present(conference_meeting).title %> </li>
8
8
  <% end %>
9
9
  </ul>
@@ -3,7 +3,7 @@
3
3
  <p><%= t(".details", registration_type: translated_attribute(@registration_type.title), price: number_to_currency((@registration_type.price || 0), locale: I18n.locale, unit: Decidim.currency_unit)) %></p>
4
4
 
5
5
  <ul>
6
- <% @registration_type.conference_meetings.each do |conference_meeting| %>
6
+ <% @registration_type.conference_meetings.order(:start_time).each do |conference_meeting| %>
7
7
  <li><%= present(conference_meeting).title %> </li>
8
8
  <% end %>
9
9
  </ul>
@@ -1,7 +1,7 @@
1
1
  <% if conference.partners.any? %>
2
2
  <div id="conference-partners">
3
3
  <% conference.partners.group_by(&:partner_type).each do |partner_type, partners| %>
4
- <hr class="reset mt-none mb-m" />
4
+ <hr class="reset mt-none mb-m">
5
5
  <section class="section">
6
6
  <h1 class="section-heading"><%= t(".#{partner_type.pluralize}") %></h1>
7
7
  <div class="row small-up-2 medium-up-3 card-grid">
@@ -17,7 +17,7 @@
17
17
  <div class="card__content row collapse">
18
18
  <div class="large-6 large-offset-6 columns">
19
19
  <%= link_to conference_path(promoted_conference), class: "button expanded button--sc" do %>
20
- <%= t("conferences.promoted_conference.take_part", scope: "layouts.decidim") %>
20
+ <%= t(promoted_conference.cta_button_text_key, scope: "layouts.decidim.conferences.promoted_conference") %>
21
21
  <% end %>
22
22
  </div>
23
23
  </div>
@@ -22,7 +22,7 @@ edit_link(
22
22
  <h4 class="section-heading"><%= t("conferences.show.introduction", scope: "decidim") %></h4>
23
23
  <%= decidim_sanitize translated_attribute(current_participatory_space.short_description) %>
24
24
  </section>
25
- <hr class="reset mt-none mb-m" />
25
+ <hr class="reset mt-none mb-m">
26
26
  <section class="section">
27
27
  <h4 class="section-heading"><%= t("conferences.show.details", scope: "decidim") %></h4>
28
28
  <%= decidim_sanitize translated_attribute(current_participatory_space.description) %>
@@ -53,7 +53,7 @@ edit_link(
53
53
  <%= render_hook(:conference_venues) %>
54
54
 
55
55
  <% if current_participatory_space.registrations_enabled? %>
56
- <hr class="reset mt-none mb-m" />
56
+ <hr class="reset mt-none mb-m">
57
57
  <section class="section">
58
58
  <h4 class="section-heading"><%= t(".register") %></h4>
59
59
  <% if current_user.present? %>
@@ -72,7 +72,7 @@ edit_link(
72
72
  </section>
73
73
  <% end %>
74
74
 
75
- <hr class="reset mt-none mb-m" />
75
+ <hr class="reset mt-none mb-m">
76
76
 
77
77
  <% unless translated_attribute(current_participatory_space.objectives).blank? %>
78
78
  <section class="section">
@@ -16,7 +16,7 @@ edit_link(
16
16
  <h1 class="section-heading"><%= t("media.index.title", scope: "decidim") %></h1>
17
17
  <p><%= t("media.index.description", scope: "decidim") %></p>
18
18
  </section>
19
- <hr class="reset mt-none mb-s" />
19
+ <hr class="reset mt-none mb-s">
20
20
  <section class="media-links">
21
21
  <ul class="list-reset">
22
22
  <% @media_links.each do |media_link| %>
@@ -24,7 +24,7 @@ edit_link(
24
24
  <% end %>
25
25
  </ul>
26
26
  </section>
27
- <hr class="reset mt-none mb-s" />
27
+ <hr class="reset mt-none mb-s">
28
28
  <% end %>
29
29
  <%= attachments_for_conference current_participatory_space %>
30
30
  </div>