decidim-conferences 0.18.0 → 0.20.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheet/decidim/conferences/conferences.scss +3 -0
- data/app/cells/decidim/conferences/conference_address/show.erb +1 -1
- data/app/cells/decidim/conferences/conference_speaker/show.erb +2 -2
- data/app/cells/decidim/conferences/conference_speaker_cell.rb +6 -2
- data/app/cells/decidim/conferences/linked_participatory_spaces_cell.rb +6 -0
- data/app/cells/decidim/conferences/partner_cell.rb +2 -0
- data/app/cells/decidim/conferences/photos_list_cell.rb +1 -0
- data/app/cells/decidim/conferences/registration_type_cell.rb +2 -0
- data/app/commands/decidim/conferences/admin/confirm_conference_registration.rb +1 -0
- data/app/commands/decidim/conferences/admin/create_conference.rb +0 -10
- data/app/commands/decidim/conferences/admin/create_conference_admin.rb +1 -0
- data/app/commands/decidim/conferences/admin/publish_conference.rb +12 -0
- data/app/commands/decidim/conferences/admin/update_conference.rb +6 -2
- data/app/commands/decidim/conferences/admin/update_diploma.rb +1 -0
- data/app/commands/decidim/conferences/join_conference.rb +2 -0
- data/app/commands/decidim/conferences/leave_conference.rb +1 -0
- data/app/controllers/decidim/conferences/admin/conference_registrations_controller.rb +3 -1
- data/app/controllers/decidim/conferences/admin/conference_speakers_controller.rb +2 -1
- data/app/controllers/decidim/conferences/admin/conference_user_roles_controller.rb +2 -1
- data/app/controllers/decidim/conferences/admin/conferences_controller.rb +2 -1
- data/app/controllers/decidim/conferences/admin/media_links_controller.rb +2 -1
- data/app/controllers/decidim/conferences/admin/partners_controller.rb +2 -1
- data/app/controllers/decidim/conferences/admin/registration_types_controller.rb +2 -1
- data/app/controllers/decidim/conferences/conference_program_controller.rb +4 -1
- data/app/controllers/decidim/conferences/conference_registrations_controller.rb +1 -0
- data/app/controllers/decidim/conferences/conference_speakers_controller.rb +1 -0
- data/app/controllers/decidim/conferences/media_controller.rb +1 -0
- data/app/controllers/decidim/conferences/registration_types_controller.rb +1 -0
- data/app/forms/decidim/conferences/admin/conference_form.rb +4 -0
- data/app/forms/decidim/conferences/admin/conference_speaker_form.rb +1 -0
- data/app/forms/decidim/conferences/admin/registration_type_form.rb +1 -0
- data/app/helpers/decidim/conferences/conference_helper.rb +1 -0
- data/app/models/decidim/conference.rb +17 -4
- data/app/models/decidim/conference_user_role.rb +1 -0
- data/app/permissions/decidim/conferences/permissions.rb +6 -0
- data/app/presenters/decidim/conferences/admin_log/value_types/role_presenter.rb +1 -0
- data/app/presenters/decidim/log/value_types/conference_presenter.rb +1 -0
- data/app/queries/decidim/conferences/admin/conference_invites.rb +1 -0
- data/app/queries/decidim/conferences/admin/conference_speakers.rb +1 -0
- data/app/views/decidim/conferences/admin/conference_speakers/index.html.erb +1 -0
- data/app/views/decidim/conferences/admin/conference_user_roles/index.html.erb +4 -3
- data/app/views/decidim/conferences/admin/conferences/index.html.erb +4 -3
- data/app/views/decidim/conferences/admin/partners/index.html.erb +1 -0
- data/app/views/decidim/conferences/admin/registration_types/index.html.erb +1 -0
- data/app/views/decidim/conferences/admin/send_conference_diploma_mailer/diploma_user.html.erb +1 -1
- data/app/views/decidim/conferences/conference_registration_mailer/confirmation.html.erb +1 -1
- data/app/views/decidim/conferences/conference_registration_mailer/pending_validation.html.erb +1 -1
- data/app/views/decidim/conferences/conferences/_partners.html.erb +1 -1
- data/app/views/decidim/conferences/conferences/show.html.erb +3 -3
- data/app/views/decidim/conferences/media/index.html.erb +2 -2
- data/app/views/layouts/decidim/_conference_hero.html.erb +2 -2
- data/app/views/layouts/decidim/diploma.html.erb +2 -2
- data/config/locales/ar.yml +5 -2
- data/config/locales/cs.yml +55 -55
- data/config/locales/de.yml +10 -10
- data/config/locales/el-GR.yml +1 -0
- data/config/locales/fr.yml +94 -94
- data/config/locales/hu.yml +1 -1
- data/config/locales/is-IS.yml +1 -0
- data/config/locales/it.yml +3 -3
- data/config/locales/nl.yml +2 -2
- data/config/locales/no.yml +571 -0
- data/lib/decidim/conferences/participatory_space.rb +3 -0
- data/lib/decidim/conferences/version.rb +1 -1
- metadata +23 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 073cb7b12f74449977cfec9e2d7adb06068471c034cd41bfd4d7bfb18a34e178
|
4
|
+
data.tar.gz: 5f10e62f54d3a8511f565ef53c7b2d50ab49f1e75da0df5f89f35056efb36284
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ab470eaa1b17bbd6cee13c6238fe492abd41f2888728dde9c650c7ac595b5af7852532740626726b457ca81933519c4673fcb66c81295d303ca2a65cb221145
|
7
|
+
data.tar.gz: 3a7469d214456fb69eb48eeeb0afe2656df021d630dba27dc97beac8eafd751960f047dcbcbb6816f4f2db20ae795a48295fd356c51c16ff32814984619eec53
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div class="mb-s">
|
2
2
|
<% if model.respond_to? :location %>
|
3
3
|
<div>
|
4
|
-
<strong><%= translated_attribute model.location %></strong><br
|
4
|
+
<strong><%= translated_attribute model.location %></strong><br>
|
5
5
|
</div>
|
6
6
|
<% end %>
|
7
7
|
<div class="text-medium"><%= model.address %></div>
|
@@ -67,14 +67,14 @@
|
|
67
67
|
<% end %>
|
68
68
|
</div>
|
69
69
|
<% if meetings.present? %>
|
70
|
-
<hr class="reset mt-none mb-s"
|
70
|
+
<hr class="reset mt-none mb-s">
|
71
71
|
<div class="row">
|
72
72
|
<div class="column medium-12">
|
73
73
|
<div class="bio-acts">Speaking at</div>
|
74
74
|
|
75
75
|
<ul class="list-reset">
|
76
76
|
<% meetings.each do |meeting| %>
|
77
|
-
<%= meeting_title meeting %> <br
|
77
|
+
<%= meeting_title meeting %> <br>
|
78
78
|
<% end %>
|
79
79
|
</ul>
|
80
80
|
</div>
|
@@ -41,6 +41,7 @@ module Decidim
|
|
41
41
|
|
42
42
|
def avatar
|
43
43
|
return model.user.avatar if model.user.present?
|
44
|
+
|
44
45
|
model.avatar
|
45
46
|
end
|
46
47
|
|
@@ -58,17 +59,20 @@ module Decidim
|
|
58
59
|
|
59
60
|
def short_bio
|
60
61
|
return unless model.short_bio.presence
|
62
|
+
|
61
63
|
translated_attribute model.short_bio
|
62
64
|
end
|
63
65
|
|
64
66
|
def twitter_handle
|
65
67
|
return unless model.twitter_handle.presence
|
66
|
-
|
68
|
+
|
69
|
+
link_to t(".go_to_twitter"), "https://twitter.com/#{model.twitter_handle}", target: "_blank", rel: "noopener"
|
67
70
|
end
|
68
71
|
|
69
72
|
def personal_url
|
70
73
|
return unless model.personal_url.presence || (model.user.presence && model.user.personal_url.presence)
|
71
|
-
|
74
|
+
|
75
|
+
link_to model.personal_url || model.user.personal_url, target: "_blank", class: "card-link", rel: "noopener" do
|
72
76
|
"#{icon "external-link"}" " #{t(".personal_website")}"
|
73
77
|
end
|
74
78
|
end
|
@@ -20,22 +20,28 @@ module Decidim
|
|
20
20
|
|
21
21
|
def conference_participatory_processes
|
22
22
|
return unless Decidim.participatory_space_manifests.map(&:name).include?(:participatory_processes)
|
23
|
+
|
23
24
|
processes = model.linked_participatory_space_resources(:participatory_processes, "included_participatory_processes")
|
24
25
|
return unless processes.any?
|
26
|
+
|
25
27
|
processes
|
26
28
|
end
|
27
29
|
|
28
30
|
def conference_assemblies
|
29
31
|
return unless Decidim.participatory_space_manifests.map(&:name).include?(:assemblies)
|
32
|
+
|
30
33
|
assemblies = model.linked_participatory_space_resources(:assemblies, "included_assemblies")
|
31
34
|
return unless assemblies.any?
|
35
|
+
|
32
36
|
assemblies
|
33
37
|
end
|
34
38
|
|
35
39
|
def conference_consultations
|
36
40
|
return unless Decidim.participatory_space_manifests.map(&:name).include?(:consultations)
|
41
|
+
|
37
42
|
consultations = model.linked_participatory_space_resources(:consultations, "included_consultations")
|
38
43
|
return unless consultations.any?
|
44
|
+
|
39
45
|
consultations
|
40
46
|
end
|
41
47
|
|
@@ -12,11 +12,13 @@ module Decidim
|
|
12
12
|
|
13
13
|
def name
|
14
14
|
return unless model.name.presence
|
15
|
+
|
15
16
|
"<div class='text-medium'> #{model.name} </div>"
|
16
17
|
end
|
17
18
|
|
18
19
|
def logo
|
19
20
|
return unless model.logo.presence
|
21
|
+
|
20
22
|
"<div class='card p-m flex--cc'> #{image_tag model.logo.medium.url} </div>"
|
21
23
|
end
|
22
24
|
end
|
@@ -27,6 +27,7 @@ module Decidim
|
|
27
27
|
|
28
28
|
def price
|
29
29
|
return I18n.t("free", scope: "decidim.conferences.conference.show") if model.price.blank?
|
30
|
+
|
30
31
|
number_to_currency(model.price, locale: I18n.locale, unit: Decidim.currency_unit)
|
31
32
|
end
|
32
33
|
|
@@ -44,6 +45,7 @@ module Decidim
|
|
44
45
|
|
45
46
|
def i18n_join_text
|
46
47
|
return I18n.t("registration", scope: "decidim.conferences.conference.show") if conference.has_available_slots?
|
48
|
+
|
47
49
|
I18n.t("no_slots_available", scope: "decidim.conferences.conference.show")
|
48
50
|
end
|
49
51
|
end
|
@@ -29,7 +29,6 @@ module Decidim
|
|
29
29
|
link_consultations
|
30
30
|
|
31
31
|
broadcast(:ok, conference)
|
32
|
-
send_notification
|
33
32
|
else
|
34
33
|
form.errors.add(:hero_image, conference.errors[:hero_image]) if conference.errors.include? :hero_image
|
35
34
|
form.errors.add(:banner_image, conference.errors[:banner_image]) if conference.errors.include? :banner_image
|
@@ -81,15 +80,6 @@ module Decidim
|
|
81
80
|
end
|
82
81
|
end
|
83
82
|
|
84
|
-
def send_notification
|
85
|
-
Decidim::EventsManager.publish(
|
86
|
-
event: "decidim.events.conferences.registrations_enabled",
|
87
|
-
event_class: Decidim::Conferences::ConferenceRegistrationsEnabledEvent,
|
88
|
-
resource: conference,
|
89
|
-
followers: conference.followers
|
90
|
-
)
|
91
|
-
end
|
92
|
-
|
93
83
|
def participatory_processes
|
94
84
|
@participatory_processes ||= conference.participatory_space_sibling_scope(:participatory_processes).where(id: @form.participatory_processes_ids)
|
95
85
|
end
|
@@ -28,11 +28,23 @@ module Decidim
|
|
28
28
|
end
|
29
29
|
|
30
30
|
broadcast(:ok)
|
31
|
+
send_notification
|
31
32
|
end
|
32
33
|
|
33
34
|
private
|
34
35
|
|
35
36
|
attr_reader :conference, :current_user
|
37
|
+
|
38
|
+
def send_notification
|
39
|
+
return unless conference.registrations_enabled?
|
40
|
+
|
41
|
+
Decidim::EventsManager.publish(
|
42
|
+
event: "decidim.events.conferences.registrations_enabled",
|
43
|
+
event_class: Decidim::Conferences::ConferenceRegistrationsEnabledEvent,
|
44
|
+
resource: conference,
|
45
|
+
followers: conference.followers
|
46
|
+
)
|
47
|
+
end
|
36
48
|
end
|
37
49
|
end
|
38
50
|
end
|
@@ -23,6 +23,7 @@ module Decidim
|
|
23
23
|
# Returns nothing.
|
24
24
|
def call
|
25
25
|
return broadcast(:invalid) if form.invalid?
|
26
|
+
|
26
27
|
update_conference
|
27
28
|
link_participatory_processes
|
28
29
|
link_assemblies
|
@@ -99,7 +100,9 @@ module Decidim
|
|
99
100
|
end
|
100
101
|
|
101
102
|
def should_notify_followers_registrations_enabled?
|
102
|
-
@conference.previous_changes["registrations_enabled"].present? &&
|
103
|
+
@conference.previous_changes["registrations_enabled"].present? &&
|
104
|
+
@conference.registrations_enabled? &&
|
105
|
+
@conference.published?
|
103
106
|
end
|
104
107
|
|
105
108
|
def send_notification_update_conference
|
@@ -112,7 +115,8 @@ module Decidim
|
|
112
115
|
end
|
113
116
|
|
114
117
|
def should_notify_followers_update_conference?
|
115
|
-
important_attributes.any? { |attr| @conference.previous_changes[attr].present? }
|
118
|
+
important_attributes.any? { |attr| @conference.previous_changes[attr].present? } &&
|
119
|
+
@conference.published?
|
116
120
|
end
|
117
121
|
|
118
122
|
def important_attributes
|
@@ -22,6 +22,7 @@ module Decidim
|
|
22
22
|
def call
|
23
23
|
conference.with_lock do
|
24
24
|
return broadcast(:invalid) unless can_join_conference?
|
25
|
+
|
25
26
|
create_registration
|
26
27
|
create_meetings_registrations
|
27
28
|
accept_invitation
|
@@ -77,6 +78,7 @@ module Decidim
|
|
77
78
|
def notify_admin_over_percentage
|
78
79
|
return send_notification_over(0.5) if occupied_slots_over?(0.5)
|
79
80
|
return send_notification_over(0.8) if occupied_slots_over?(0.8)
|
81
|
+
|
80
82
|
send_notification_over(1.0) if occupied_slots_over?(1.0)
|
81
83
|
end
|
82
84
|
|
@@ -9,13 +9,14 @@ module Decidim
|
|
9
9
|
#
|
10
10
|
class ConferenceRegistrationsController < Decidim::Conferences::Admin::ApplicationController
|
11
11
|
include Concerns::ConferenceAdmin
|
12
|
+
include Decidim::Paginable
|
12
13
|
|
13
14
|
helper_method :conference
|
14
15
|
|
15
16
|
def index
|
16
17
|
enforce_permission_to :read_conference_registrations, :conference, conference: conference
|
17
18
|
|
18
|
-
@conference_registrations = Decidim::Conferences::ConferenceRegistration.where(conference: conference)
|
19
|
+
@conference_registrations = paginate(Decidim::Conferences::ConferenceRegistration.where(conference: conference))
|
19
20
|
end
|
20
21
|
|
21
22
|
def export
|
@@ -52,6 +53,7 @@ module Decidim
|
|
52
53
|
|
53
54
|
def conference_registration
|
54
55
|
return if params[:id].blank?
|
56
|
+
|
55
57
|
@conference_registration ||= conference.conference_registrations.find_by(id: params[:id])
|
56
58
|
end
|
57
59
|
end
|
@@ -8,13 +8,14 @@ module Decidim
|
|
8
8
|
class ConferenceSpeakersController < Decidim::Conferences::Admin::ApplicationController
|
9
9
|
helper Decidim::Conferences::Admin::ConferenceSpeakersHelper
|
10
10
|
include Concerns::ConferenceAdmin
|
11
|
+
include Decidim::Paginable
|
11
12
|
|
12
13
|
def index
|
13
14
|
enforce_permission_to :index, :conference_speaker
|
14
15
|
|
15
16
|
@query = params[:q]
|
16
17
|
|
17
|
-
@conference_speakers = Decidim::Conferences::Admin::ConferenceSpeakers.for(collection, @query)
|
18
|
+
@conference_speakers = paginate(Decidim::Conferences::Admin::ConferenceSpeakers.for(collection, @query))
|
18
19
|
end
|
19
20
|
|
20
21
|
def new
|
@@ -7,10 +7,11 @@ module Decidim
|
|
7
7
|
#
|
8
8
|
class ConferenceUserRolesController < Decidim::Conferences::Admin::ApplicationController
|
9
9
|
include Concerns::ConferenceAdmin
|
10
|
+
include Decidim::Paginable
|
10
11
|
|
11
12
|
def index
|
12
13
|
enforce_permission_to :index, :conference_user_role
|
13
|
-
@conference_user_roles = collection
|
14
|
+
@conference_user_roles = paginate(collection)
|
14
15
|
end
|
15
16
|
|
16
17
|
def new
|
@@ -8,10 +8,11 @@ module Decidim
|
|
8
8
|
class ConferencesController < Decidim::Conferences::Admin::ApplicationController
|
9
9
|
helper_method :current_conference, :current_participatory_space
|
10
10
|
layout "decidim/admin/conferences"
|
11
|
+
include Decidim::Paginable
|
11
12
|
|
12
13
|
def index
|
13
14
|
enforce_permission_to :read, :conference_list
|
14
|
-
@conferences = collection
|
15
|
+
@conferences = paginate(collection)
|
15
16
|
end
|
16
17
|
|
17
18
|
def new
|
@@ -6,11 +6,12 @@ module Decidim
|
|
6
6
|
# Controller that allows managing conference media links.
|
7
7
|
class MediaLinksController < Decidim::Conferences::Admin::ApplicationController
|
8
8
|
include Concerns::ConferenceAdmin
|
9
|
+
include Decidim::Paginable
|
9
10
|
|
10
11
|
def index
|
11
12
|
enforce_permission_to :index, :media_link
|
12
13
|
|
13
|
-
@media_links = collection
|
14
|
+
@media_links = paginate(collection)
|
14
15
|
end
|
15
16
|
|
16
17
|
def new
|
@@ -7,11 +7,12 @@ module Decidim
|
|
7
7
|
#
|
8
8
|
class PartnersController < Decidim::Conferences::Admin::ApplicationController
|
9
9
|
include Concerns::ConferenceAdmin
|
10
|
+
include Decidim::Paginable
|
10
11
|
|
11
12
|
def index
|
12
13
|
enforce_permission_to :index, :partner
|
13
14
|
|
14
|
-
@partners = collection
|
15
|
+
@partners = paginate(collection)
|
15
16
|
end
|
16
17
|
|
17
18
|
def new
|
@@ -8,11 +8,12 @@ module Decidim
|
|
8
8
|
class RegistrationTypesController < Decidim::Conferences::Admin::ApplicationController
|
9
9
|
include Concerns::ConferenceAdmin
|
10
10
|
include Decidim::ApplicationHelper
|
11
|
+
include Decidim::Paginable
|
11
12
|
|
12
13
|
def index
|
13
14
|
enforce_permission_to :index, :registration_type
|
14
15
|
|
15
|
-
@registration_types = collection
|
16
|
+
@registration_types = paginate(collection)
|
16
17
|
end
|
17
18
|
|
18
19
|
def new
|
@@ -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.
|
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
|
|
@@ -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
|