decidim-meetings 0.18.1 → 0.19.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.
- checksums.yaml +4 -4
- data/app/cells/decidim/meetings/content_blocks/upcoming_events/show.erb +1 -1
- data/app/cells/decidim/meetings/content_blocks/upcoming_events_cell.rb +1 -0
- data/app/cells/decidim/meetings/join_meeting_button_cell.rb +2 -0
- data/app/cells/decidim/meetings/meeting_m_cell.rb +1 -0
- data/app/cells/decidim/meetings/meetings_map/show.erb +2 -2
- data/app/cells/decidim/meetings/meetings_map_cell.rb +1 -0
- data/app/commands/decidim/meetings/admin/update_minutes.rb +1 -0
- data/app/commands/decidim/meetings/admin/update_registrations.rb +1 -0
- data/app/commands/decidim/meetings/join_meeting.rb +1 -0
- data/app/commands/decidim/meetings/leave_meeting.rb +1 -0
- data/app/controllers/decidim/meetings/meetings_controller.rb +4 -2
- data/app/forms/decidim/meetings/admin/meeting_form.rb +4 -0
- data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +1 -0
- data/app/forms/decidim/meetings/admin/validate_registration_code_form.rb +1 -0
- data/app/helpers/decidim/meetings/admin/application_helper.rb +1 -0
- data/app/models/decidim/meetings/meeting.rb +2 -0
- data/app/presenters/decidim/meetings/admin_log/value_types/organizer_presenter.rb +2 -1
- data/app/presenters/decidim/meetings/meeting_presenter.rb +2 -0
- data/app/queries/decidim/meetings/admin/invites.rb +1 -0
- data/app/queries/decidim/meetings/metrics/meetings_metric_manage.rb +1 -0
- data/app/serializers/decidim/meetings/registration_serializer.rb +1 -0
- data/app/services/decidim/meetings/calendar/base_calendar.rb +1 -0
- data/app/views/decidim/meetings/_calendar_modal.html.erb +1 -1
- data/app/views/decidim/meetings/admin/meetings/_form.html.erb +2 -2
- data/app/views/decidim/meetings/admin/meetings/index.html.erb +1 -1
- data/app/views/decidim/meetings/meetings/_meeting_agenda.html.erb +1 -1
- data/app/views/decidim/meetings/meetings/_meeting_minutes.html.erb +4 -4
- data/app/views/decidim/meetings/meetings/show.html.erb +0 -3
- data/app/views/decidim/participatory_spaces/_conference_venues.html.erb +1 -1
- data/config/locales/fr.yml +2 -2
- data/config/locales/nl.yml +2 -2
- data/lib/decidim/meetings/test/factories.rb +1 -1
- data/lib/decidim/meetings/version.rb +1 -1
- metadata +19 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d0207852bd8f1cbfc88f230a458885bd8f0ee18b8eae8b05cf00c8d443e3dd89
|
4
|
+
data.tar.gz: b7c0a7214101781fda90accbee4daeae9b101c1335135e1bd8556d93f239ef0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d529759af2ec9b392c4f794110d2826a46cda8de3a6433810b8cdb73699fa08b13b2517fa9c44639490e257f3a7fc964d6c1fc583d1defcc4dfbee9297740a5f
|
7
|
+
data.tar.gz: 901ceb505e213473256ac444dce2b75d81a27f8e84867b3b3d806ba394963aa2c22496ed882d69da4802a0824590ee1ccd86f6a4f3c90c575e8b7bc5e3af0686
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<% if geolocation_enabled? %>
|
12
12
|
<%= cell "decidim/meetings/meetings_map", upcoming_events %>
|
13
13
|
<% else %>
|
14
|
-
<% upcoming_events.
|
14
|
+
<% (upcoming_events - upcoming_events.first(4)).each do |event| %>
|
15
15
|
<%= card_for event, size: :s %>
|
16
16
|
<% end %>
|
17
17
|
<% end %>
|
@@ -23,6 +23,7 @@ module Decidim
|
|
23
23
|
|
24
24
|
def button_classes
|
25
25
|
return "button expanded button--sc" if big_button?
|
26
|
+
|
26
27
|
"button card__button button--sc small"
|
27
28
|
end
|
28
29
|
|
@@ -36,6 +37,7 @@ module Decidim
|
|
36
37
|
|
37
38
|
def i18n_join_text
|
38
39
|
return I18n.t("join", scope: "decidim.meetings.meetings.show") if model.has_available_slots?
|
40
|
+
|
39
41
|
I18n.t("no_slots_available", scope: "decidim.meetings.meetings.show")
|
40
42
|
end
|
41
43
|
|
@@ -14,8 +14,8 @@
|
|
14
14
|
<div class="address card__extra">
|
15
15
|
<div class="address__icon">{{html icon}}</div>
|
16
16
|
<div class="address__details">
|
17
|
-
<strong>{{html location}}</strong><br
|
18
|
-
<span>${address}</span><br
|
17
|
+
<strong>{{html location}}</strong><br>
|
18
|
+
<span>${address}</span><br>
|
19
19
|
<span>{{html locationHints}}</span>
|
20
20
|
</div>
|
21
21
|
</div>
|
@@ -11,10 +11,11 @@ module Decidim
|
|
11
11
|
helper_method :meetings, :meeting, :registration, :search
|
12
12
|
|
13
13
|
def index
|
14
|
-
return unless search.results.
|
14
|
+
return unless search.results.blank? && params.dig("filter", "date") != "past"
|
15
15
|
|
16
16
|
@past_meetings = search_klass.new(search_params.merge(date: "past"))
|
17
|
-
|
17
|
+
|
18
|
+
if @past_meetings.results.present?
|
18
19
|
params[:filter] ||= {}
|
19
20
|
params[:filter][:date] = "past"
|
20
21
|
@forced_past_meetings = true
|
@@ -24,6 +25,7 @@ module Decidim
|
|
24
25
|
|
25
26
|
def show
|
26
27
|
return if meeting.current_user_can_visit_meeting?(current_user)
|
28
|
+
|
27
29
|
flash[:alert] = I18n.t("meeting.not_allowed", scope: "decidim.meetings")
|
28
30
|
redirect_to action: "index"
|
29
31
|
end
|
@@ -47,6 +47,9 @@ module Decidim
|
|
47
47
|
end
|
48
48
|
|
49
49
|
self.decidim_category_id = model.categorization.decidim_category_id if model.categorization
|
50
|
+
presenter = MeetingPresenter.new(model)
|
51
|
+
self.title = presenter.title(all_locales: true)
|
52
|
+
self.description = presenter.description(all_locales: true)
|
50
53
|
end
|
51
54
|
|
52
55
|
def services_to_persist
|
@@ -79,6 +82,7 @@ module Decidim
|
|
79
82
|
|
80
83
|
def category
|
81
84
|
return unless current_component
|
85
|
+
|
82
86
|
@category ||= categories.find_by(id: decidim_category_id)
|
83
87
|
end
|
84
88
|
|
@@ -75,6 +75,7 @@ module Decidim
|
|
75
75
|
|
76
76
|
def has_available_slots?
|
77
77
|
return true if available_slots.zero?
|
78
|
+
|
78
79
|
(available_slots - reserved_slots) > registrations.count
|
79
80
|
end
|
80
81
|
|
@@ -127,6 +128,7 @@ module Decidim
|
|
127
128
|
|
128
129
|
def organizer_belongs_to_organization
|
129
130
|
return if !organizer || !organization
|
131
|
+
|
130
132
|
errors.add(:organizer, :invalid) unless organizer.organization == organization
|
131
133
|
end
|
132
134
|
|
@@ -16,6 +16,7 @@ module Decidim
|
|
16
16
|
def present
|
17
17
|
return unless value
|
18
18
|
return present_organizer if organizer
|
19
|
+
|
19
20
|
I18n.t("not_found", id: value, scope: "decidim.meetings.admin_log.meeting.value_types.organizer_presenter")
|
20
21
|
end
|
21
22
|
|
@@ -37,7 +38,7 @@ module Decidim
|
|
37
38
|
data: {
|
38
39
|
tooltip: true,
|
39
40
|
"disable-hover": false
|
40
|
-
}
|
41
|
+
}, rel: "noopener"
|
41
42
|
)
|
42
43
|
end
|
43
44
|
|
@@ -8,6 +8,7 @@ module Decidim
|
|
8
8
|
class MeetingPresenter < SimpleDelegator
|
9
9
|
include Decidim::TranslationsHelper
|
10
10
|
include Decidim::ResourceHelper
|
11
|
+
include Decidim::SanitizeHelper
|
11
12
|
|
12
13
|
def meeting
|
13
14
|
__getobj__
|
@@ -17,6 +18,7 @@ module Decidim
|
|
17
18
|
return unless meeting
|
18
19
|
|
19
20
|
handle_locales(meeting.title, all_locales) do |content|
|
21
|
+
content = decidim_html_escape(content)
|
20
22
|
renderer = Decidim::ContentRenderers::HashtagRenderer.new(content)
|
21
23
|
renderer.render(links: links).html_safe
|
22
24
|
end
|
@@ -14,6 +14,7 @@ module Decidim
|
|
14
14
|
@registry = []
|
15
15
|
cumulative.each do |key, cumulative_value|
|
16
16
|
next if cumulative_value.zero?
|
17
|
+
|
17
18
|
quantity_value = quantity[key] || 0
|
18
19
|
category_id, space_type, space_id = key
|
19
20
|
record = Decidim::Metric.find_or_initialize_by(day: @day.to_s, metric_type: @metric_name,
|
@@ -4,11 +4,11 @@
|
|
4
4
|
</div>
|
5
5
|
<div class="card-section">
|
6
6
|
<div class="row column hashtags__container">
|
7
|
-
<%= form.translated :text_field, :title, autofocus: true, class: "js-hashtags", hashtaggable: true
|
7
|
+
<%= form.translated :text_field, :title, autofocus: true, class: "js-hashtags", hashtaggable: true %>
|
8
8
|
</div>
|
9
9
|
|
10
10
|
<div class="row column hashtags__container">
|
11
|
-
<%= form.translated :editor, :description, hashtaggable: true
|
11
|
+
<%= form.translated :editor, :description, hashtaggable: true %>
|
12
12
|
</div>
|
13
13
|
|
14
14
|
<div class="row column">
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<strong class="text-uppercase"><%= translated_attribute(agenda_item.title) %></strong>
|
11
11
|
<span class="text-small"><%= display_duration_agenda_items(agenda_item.id, index, agenda_items_times) %></span>
|
12
12
|
</h5>
|
13
|
-
<hr class="reset m-none mb-s"
|
13
|
+
<hr class="reset m-none mb-s">
|
14
14
|
<p><%= translated_attribute(agenda_item.description).html_safe %></p>
|
15
15
|
|
16
16
|
<% if agenda_item.agenda_item_children.presence %>
|
@@ -18,11 +18,11 @@
|
|
18
18
|
<div class="card--list__item">
|
19
19
|
<div class="card--list__text">
|
20
20
|
<div>
|
21
|
-
<%= link_to meeting.minutes.video_url, meeting.minutes.video_url, target: "_blank" %>
|
21
|
+
<%= link_to meeting.minutes.video_url, meeting.minutes.video_url, target: "_blank", rel: "noopener" %>
|
22
22
|
</div>
|
23
23
|
</div>
|
24
24
|
<div class="card--list__data">
|
25
|
-
<%= link_to meeting.minutes.video_url, target: "_blank", class: "card--list__data__icon" do %>
|
25
|
+
<%= link_to meeting.minutes.video_url, target: "_blank", class: "card--list__data__icon", rel: "noopener" do %>
|
26
26
|
<%= icon "external-link" %>
|
27
27
|
<% end %>
|
28
28
|
</div>
|
@@ -32,11 +32,11 @@
|
|
32
32
|
<div class="card--list__item">
|
33
33
|
<div class="card--list__text">
|
34
34
|
<div>
|
35
|
-
<%= link_to meeting.minutes.audio_url, meeting.minutes.audio_url, target: "_blank" %>
|
35
|
+
<%= link_to meeting.minutes.audio_url, meeting.minutes.audio_url, target: "_blank", rel: "noopener" %>
|
36
36
|
</div>
|
37
37
|
</div>
|
38
38
|
<div class="card--list__data">
|
39
|
-
<%= link_to meeting.minutes.audio_url, target: "_blank", class: "card--list__data__icon" do %>
|
39
|
+
<%= link_to meeting.minutes.audio_url, target: "_blank", class: "card--list__data__icon", rel: "noopener" do %>
|
40
40
|
<%= icon "external-link" %>
|
41
41
|
<% end %>
|
42
42
|
</div>
|
data/config/locales/fr.yml
CHANGED
@@ -437,10 +437,10 @@ fr:
|
|
437
437
|
upcoming_meeting: Prochaine rencontre
|
438
438
|
resource_links:
|
439
439
|
meetings_through_proposals:
|
440
|
-
meeting_result: '
|
440
|
+
meeting_result: 'Résultats associés :'
|
441
441
|
result_meeting: 'Rencontres associées :'
|
442
442
|
proposals_from_meeting:
|
443
|
-
meeting_proposal: 'Propositions
|
443
|
+
meeting_proposal: 'Propositions créées lors de cette rencontre :'
|
444
444
|
proposal_meeting: 'Rencontres associées :'
|
445
445
|
devise:
|
446
446
|
mailer:
|
data/config/locales/nl.yml
CHANGED
@@ -427,12 +427,12 @@ nl:
|
|
427
427
|
participatory_process_groups:
|
428
428
|
highlighted_meetings:
|
429
429
|
past_meetings: Vorige events
|
430
|
-
upcoming_meetings:
|
430
|
+
upcoming_meetings: Aankomende vergaderingen
|
431
431
|
participatory_spaces:
|
432
432
|
highlighted_meetings:
|
433
433
|
past_meetings: Vorige events
|
434
434
|
see_all: Alles zien (%{count})
|
435
|
-
upcoming_meetings:
|
435
|
+
upcoming_meetings: Aankomende vergaderingen
|
436
436
|
upcoming_meeting_for_card:
|
437
437
|
upcoming_meeting: Aankomende vergadering
|
438
438
|
resource_links:
|
@@ -42,7 +42,7 @@ FactoryBot.define do
|
|
42
42
|
closing_report { generate_localized_title }
|
43
43
|
attendees_count { rand(50) }
|
44
44
|
contributions_count { rand(50) }
|
45
|
-
attending_organizations { Array.new(3) { Faker::GameOfThrones.house }.join(", ") }
|
45
|
+
attending_organizations { Array.new(3) { Faker::TvShows::GameOfThrones.house }.join(", ") }
|
46
46
|
closed_at { Time.current }
|
47
47
|
end
|
48
48
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-meetings
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
@@ -46,56 +46,56 @@ dependencies:
|
|
46
46
|
requirements:
|
47
47
|
- - '='
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.
|
49
|
+
version: 0.19.0
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - '='
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: 0.
|
56
|
+
version: 0.19.0
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
58
|
name: decidim-forms
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - '='
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: 0.
|
63
|
+
version: 0.19.0
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - '='
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 0.
|
70
|
+
version: 0.19.0
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: httparty
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
75
|
- - "~>"
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: 0.
|
77
|
+
version: '0.17'
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: 0.
|
84
|
+
version: '0.17'
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: icalendar
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
89
|
- - "~>"
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: '2.
|
91
|
+
version: '2.5'
|
92
92
|
type: :runtime
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - "~>"
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: '2.
|
98
|
+
version: '2.5'
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: jquery-tmpl-rails
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
@@ -116,14 +116,14 @@ dependencies:
|
|
116
116
|
requirements:
|
117
117
|
- - "~>"
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version: '1.
|
119
|
+
version: '1.1'
|
120
120
|
type: :runtime
|
121
121
|
prerelease: false
|
122
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
124
|
- - "~>"
|
125
125
|
- !ruby/object:Gem::Version
|
126
|
-
version: '1.
|
126
|
+
version: '1.1'
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
128
|
name: searchlight
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,56 +144,56 @@ dependencies:
|
|
144
144
|
requirements:
|
145
145
|
- - '='
|
146
146
|
- !ruby/object:Gem::Version
|
147
|
-
version: 0.
|
147
|
+
version: 0.19.0
|
148
148
|
type: :development
|
149
149
|
prerelease: false
|
150
150
|
version_requirements: !ruby/object:Gem::Requirement
|
151
151
|
requirements:
|
152
152
|
- - '='
|
153
153
|
- !ruby/object:Gem::Version
|
154
|
-
version: 0.
|
154
|
+
version: 0.19.0
|
155
155
|
- !ruby/object:Gem::Dependency
|
156
156
|
name: decidim-assemblies
|
157
157
|
requirement: !ruby/object:Gem::Requirement
|
158
158
|
requirements:
|
159
159
|
- - '='
|
160
160
|
- !ruby/object:Gem::Version
|
161
|
-
version: 0.
|
161
|
+
version: 0.19.0
|
162
162
|
type: :development
|
163
163
|
prerelease: false
|
164
164
|
version_requirements: !ruby/object:Gem::Requirement
|
165
165
|
requirements:
|
166
166
|
- - '='
|
167
167
|
- !ruby/object:Gem::Version
|
168
|
-
version: 0.
|
168
|
+
version: 0.19.0
|
169
169
|
- !ruby/object:Gem::Dependency
|
170
170
|
name: decidim-dev
|
171
171
|
requirement: !ruby/object:Gem::Requirement
|
172
172
|
requirements:
|
173
173
|
- - '='
|
174
174
|
- !ruby/object:Gem::Version
|
175
|
-
version: 0.
|
175
|
+
version: 0.19.0
|
176
176
|
type: :development
|
177
177
|
prerelease: false
|
178
178
|
version_requirements: !ruby/object:Gem::Requirement
|
179
179
|
requirements:
|
180
180
|
- - '='
|
181
181
|
- !ruby/object:Gem::Version
|
182
|
-
version: 0.
|
182
|
+
version: 0.19.0
|
183
183
|
- !ruby/object:Gem::Dependency
|
184
184
|
name: decidim-participatory_processes
|
185
185
|
requirement: !ruby/object:Gem::Requirement
|
186
186
|
requirements:
|
187
187
|
- - '='
|
188
188
|
- !ruby/object:Gem::Version
|
189
|
-
version: 0.
|
189
|
+
version: 0.19.0
|
190
190
|
type: :development
|
191
191
|
prerelease: false
|
192
192
|
version_requirements: !ruby/object:Gem::Requirement
|
193
193
|
requirements:
|
194
194
|
- - '='
|
195
195
|
- !ruby/object:Gem::Version
|
196
|
-
version: 0.
|
196
|
+
version: 0.19.0
|
197
197
|
description: A meetings component for decidim's participatory spaces.
|
198
198
|
email:
|
199
199
|
- josepjaume@gmail.com
|