decidim-conferences 0.18.1 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) 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_speaker/show.erb +2 -2
  5. data/app/cells/decidim/conferences/conference_speaker_cell.rb +6 -2
  6. data/app/cells/decidim/conferences/linked_participatory_spaces_cell.rb +6 -0
  7. data/app/cells/decidim/conferences/partner_cell.rb +2 -0
  8. data/app/cells/decidim/conferences/photos_list_cell.rb +1 -0
  9. data/app/cells/decidim/conferences/registration_type_cell.rb +2 -0
  10. data/app/commands/decidim/conferences/admin/confirm_conference_registration.rb +1 -0
  11. data/app/commands/decidim/conferences/admin/create_conference.rb +0 -10
  12. data/app/commands/decidim/conferences/admin/create_conference_admin.rb +1 -0
  13. data/app/commands/decidim/conferences/admin/publish_conference.rb +12 -0
  14. data/app/commands/decidim/conferences/admin/update_conference.rb +6 -2
  15. data/app/commands/decidim/conferences/admin/update_diploma.rb +1 -0
  16. data/app/commands/decidim/conferences/join_conference.rb +2 -0
  17. data/app/commands/decidim/conferences/leave_conference.rb +1 -0
  18. data/app/controllers/decidim/conferences/admin/conference_registrations_controller.rb +1 -0
  19. data/app/controllers/decidim/conferences/conference_program_controller.rb +4 -1
  20. data/app/controllers/decidim/conferences/conference_registrations_controller.rb +1 -0
  21. data/app/controllers/decidim/conferences/conference_speakers_controller.rb +1 -0
  22. data/app/controllers/decidim/conferences/media_controller.rb +1 -0
  23. data/app/controllers/decidim/conferences/registration_types_controller.rb +1 -0
  24. data/app/forms/decidim/conferences/admin/conference_form.rb +4 -0
  25. data/app/forms/decidim/conferences/admin/conference_speaker_form.rb +1 -0
  26. data/app/forms/decidim/conferences/admin/registration_type_form.rb +1 -0
  27. data/app/helpers/decidim/conferences/conference_helper.rb +1 -0
  28. data/app/models/decidim/conference.rb +4 -4
  29. data/app/models/decidim/conference_user_role.rb +1 -0
  30. data/app/permissions/decidim/conferences/permissions.rb +6 -0
  31. data/app/presenters/decidim/conferences/admin_log/value_types/role_presenter.rb +1 -0
  32. data/app/presenters/decidim/log/value_types/conference_presenter.rb +1 -0
  33. data/app/queries/decidim/conferences/admin/conference_invites.rb +1 -0
  34. data/app/queries/decidim/conferences/admin/conference_speakers.rb +1 -0
  35. data/app/views/decidim/conferences/admin/conference_user_roles/index.html.erb +3 -3
  36. data/app/views/decidim/conferences/admin/conferences/index.html.erb +3 -3
  37. data/app/views/decidim/conferences/admin/send_conference_diploma_mailer/diploma_user.html.erb +1 -1
  38. data/app/views/decidim/conferences/conferences/_partners.html.erb +1 -1
  39. data/app/views/decidim/conferences/conferences/show.html.erb +3 -3
  40. data/app/views/decidim/conferences/media/index.html.erb +2 -2
  41. data/app/views/layouts/decidim/_conference_hero.html.erb +2 -2
  42. data/app/views/layouts/decidim/diploma.html.erb +2 -2
  43. data/lib/decidim/conferences/participatory_space.rb +1 -0
  44. data/lib/decidim/conferences/version.rb +1 -1
  45. metadata +18 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41bc0fa1704dd82d8cbcb8773eb1a78133f74bb2bb2cbba68e40a9b8c13bb272
4
- data.tar.gz: bbee0a2a4056e90c206a1d4654881a198672de960f455f18f93fb363da796687
3
+ metadata.gz: a350885d8989dcbed020295a179753dd257966cc6ea5234188a5257dc506d1c6
4
+ data.tar.gz: b28820eefb620c35d49d9caabae092c086397940793d510aad55d10c61148278
5
5
  SHA512:
6
- metadata.gz: f1191337a66f032b2dab9a6cbb2af64fc2a36ef663a365820efdec4a648e2bcc2596ec15196ca2b949dd258e2eb15bde180b5923655c6132f4a03ec9a3b6d7e8
7
- data.tar.gz: 7fc54160090e4aa6fe2a4b41a028af34174d200a4be356ec264a7d2396ab919c579bc6410d284fdbc4b040c33055b7421ff7dc877c2e5303721ce2ef7183d58f
6
+ metadata.gz: 33434c66f9cbf62b02131047146097f0283b1e3cd9dc7a5bb11f41ca42589c8de7ceb30349ab23b19738b30286960f3c7f3aa30a1598b6ee08c5a74262a0b7b9
7
+ data.tar.gz: e1902107434422ba5f6527297db272b71cb536810e90fbbef7a5cb1d82575f956b4af61fc30e3519d3488ae06928d5dddb00606e8f6e9f05a4b2945c47553007
@@ -0,0 +1,3 @@
1
+ .conference--date{
2
+ cursor: default;
3
+ }
@@ -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
- link_to t(".go_to_twitter"), "https://twitter.com/#{model.twitter_handle}", target: "_blank"
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
- link_to model.personal_url || model.user.personal_url, target: "_blank", class: "card-link" do
74
+
75
+ link_to model.personal_url || model.user.personal_url, target: "_blank", class: "card-link", rel: "noopener" do
72
76
  "#{icon "external-link"}" "&nbsp;#{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
@@ -10,6 +10,7 @@ module Decidim
10
10
 
11
11
  def show
12
12
  return unless model.any?
13
+
13
14
  render
14
15
  end
15
16
  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
@@ -20,6 +20,7 @@ module Decidim
20
20
  def call
21
21
  @conference_registration.with_lock do
22
22
  return broadcast(:invalid) unless can_join_conference?
23
+
23
24
  confirm_registration
24
25
  send_email_confirmation
25
26
  send_notification_confirmation
@@ -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
@@ -91,6 +91,7 @@ module Decidim
91
91
 
92
92
  def invitation_instructions
93
93
  return "invite_admin" if form.role == "admin"
94
+
94
95
  "invite_collaborator"
95
96
  end
96
97
 
@@ -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? && @conference.registrations_enabled?
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
@@ -20,6 +20,7 @@ module Decidim
20
20
  def call
21
21
  @conference.with_lock do
22
22
  return broadcast(:invalid) if form.invalid?
23
+
23
24
  update_conference_diploma
24
25
  Decidim.traceability.perform_action!(:update_diploma, @conference, form.current_user) do
25
26
  @conference
@@ -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
 
@@ -23,6 +23,7 @@ module Decidim
23
23
  @conference.with_lock do
24
24
  return broadcast(:invalid) unless registration
25
25
  return broadcast(:invalid) unless meetings_registrations
26
+
26
27
  destroy_registration
27
28
  destroy_meeting_registration
28
29
  end
@@ -52,6 +52,7 @@ module Decidim
52
52
 
53
53
  def conference_registration
54
54
  return if params[:id].blank?
55
+
55
56
  @conference_registration ||= conference.conference_registrations.find_by(id: params[:id])
56
57
  end
57
58
  end
@@ -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
@@ -20,10 +20,7 @@ module Decidim
20
20
  belongs_to :organization,
21
21
  foreign_key: "decidim_organization_id",
22
22
  class_name: "Decidim::Organization"
23
- belongs_to :area,
24
- foreign_key: "decidim_area_id",
25
- class_name: "Decidim::Area",
26
- optional: true
23
+
27
24
  has_many :categories,
28
25
  foreign_key: "decidim_participatory_space_id",
29
26
  foreign_type: "decidim_participatory_space_type",
@@ -87,6 +84,7 @@ module Decidim
87
84
 
88
85
  def has_available_slots?
89
86
  return true if available_slots.zero?
87
+
90
88
  available_slots > conference_registrations.count
91
89
  end
92
90
 
@@ -96,11 +94,13 @@ module Decidim
96
94
 
97
95
  def diploma_sent?
98
96
  return false if diploma_sent_at.nil?
97
+
99
98
  true
100
99
  end
101
100
 
102
101
  def closed?
103
102
  return false if end_date.blank?
103
+
104
104
  end_date < Date.current
105
105
  end
106
106
  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
 
@@ -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
@@ -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? %>
@@ -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 %>
@@ -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>
@@ -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">
@@ -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>
@@ -19,10 +19,10 @@
19
19
  <div class="row">
20
20
  <div class="row column medium-8 text-left mt-m">
21
21
  <div class="column medium-6">
22
- <button type="button" class="button hollow light expanded">
22
+ <div class="conference--date button hollow light expanded">
23
23
  <%= participatory_space_helpers.render_date(current_participatory_space) %>
24
24
  <%= current_participatory_space.location %>
25
- </button>
25
+ </div>
26
26
  </div>
27
27
  <% if current_participatory_space.registrations_enabled? %>
28
28
  <div class="column medium-3 end">
@@ -1,8 +1,8 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="<%= I18n.locale %>" class="no-js">
3
3
  <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
- <meta name="viewport" content="width=device-width" />
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
+ <meta name="viewport" content="width=device-width">
6
6
  <%= wicked_pdf_stylesheet_link_tag "decidim/conference-diploma" %>
7
7
  </head>
8
8
  <body>
@@ -3,6 +3,7 @@
3
3
  Decidim.register_participatory_space(:conferences) do |participatory_space|
4
4
  participatory_space.icon = "decidim/conferences/conference.svg"
5
5
  participatory_space.model_class_name = "Decidim::Conference"
6
+ participatory_space.stylesheet = "decidim/conferences/conferences"
6
7
 
7
8
  participatory_space.participatory_spaces do |organization|
8
9
  Decidim::Conferences::OrganizationConferences.new(organization).query
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-conferences version.
5
5
  module Conferences
6
6
  def self.version
7
- "0.18.1"
7
+ "0.19.0"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-conferences
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.1
4
+ version: 0.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isaac Massot Gil
@@ -16,84 +16,84 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.18.1
19
+ version: 0.19.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.18.1
26
+ version: 0.19.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: decidim-meetings
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 0.18.1
33
+ version: 0.19.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 0.18.1
40
+ version: 0.19.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: wicked_pdf
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '1.4'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '1.4'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: wkhtmltopdf-binary
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '0.12'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '0.12'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: decidim-admin
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 0.18.1
75
+ version: 0.19.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 0.18.1
82
+ version: 0.19.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: decidim-dev
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 0.18.1
89
+ version: 0.19.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 0.18.1
96
+ version: 0.19.0
97
97
  description: Conferences component for decidim.
98
98
  email:
99
99
  - isaac.mg@coditramuntana.com
@@ -110,6 +110,7 @@ files:
110
110
  - app/assets/javascripts/decidim/conferences/admin/conference_speakers.js.es6
111
111
  - app/assets/javascripts/decidim/conferences/admin/conferences.js.es6
112
112
  - app/assets/javascripts/decidim/conferences/conferences.js.es6
113
+ - app/assets/stylesheet/decidim/conferences/conferences.scss
113
114
  - app/cells/decidim/conferences/conference_address/show.erb
114
115
  - app/cells/decidim/conferences/conference_address_cell.rb
115
116
  - app/cells/decidim/conferences/conference_cell.rb