decidim-conferences 0.27.5 → 0.27.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 98a81bd733a850a73a9c9cbd536bc8496069fbeaff54977c565e35025a2e882e
4
- data.tar.gz: 90f1cc1a169cc532b88b743dda0560997f9f31d57291c0d46b7f436d6b409151
3
+ metadata.gz: f990463601532e4094c6e48d320b2ffe7cf676b543d5f04f25c404a672155791
4
+ data.tar.gz: 549647d6ae77fbe7fc8b3da611fbffee2fa2207883fbf2eb7ba94bed2249e035
5
5
  SHA512:
6
- metadata.gz: 7c92d693c990153d68b3b43d236ab011fa59f6d3ee3af05dd278458c6e92712c9a64ce805be50b1d0294748af6f98df196437995c4c4f51ace4c5d8ae38da627
7
- data.tar.gz: 62a28b10eb414cb37916f8d75f42d532efc0a5266ae7846acf263f9b7ffa4d77adf65454f46a57c68401816b8cce5141ee984ad8ad8b7531b5b586a7dc0eef61
6
+ metadata.gz: d3380d366d793e4fad98d62cffddc759599116ae3bb1d2fe3173ed0a3af9128c756e15d40bbe55fe8168b2c9d88d780dc9e51ae9bde00e12c35473bd65cdec1d
7
+ data.tar.gz: 849829b9cbe2d0c3977e2de24a6c25bb5769f15a40ec17b83b05ec2a7df5f852b845673425e924cf6225e74c26b27a310112f36b50578af746c4c7036985e7a0
@@ -1,11 +1,11 @@
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><%= decidim_escape_translated model.location %></strong><br>
5
5
  </div>
6
6
  <% end %>
7
7
  <div class="text-medium"><%= model.address %></div>
8
8
  <% if model.respond_to? :location_hints %>
9
- <div class="text-medium"><%= translated_attribute model.location_hints %></div>
9
+ <div class="text-medium"><%= decidim_escape_translated model.location_hints %></div>
10
10
  <% end %>
11
11
  </div>
@@ -14,10 +14,6 @@ module Decidim
14
14
 
15
15
  private
16
16
 
17
- def title
18
- decidim_html_escape(super)
19
- end
20
-
21
17
  def has_image?
22
18
  true
23
19
  end
@@ -60,7 +60,7 @@ module Decidim
60
60
  def short_bio
61
61
  return unless model.short_bio.presence
62
62
 
63
- translated_attribute model.short_bio
63
+ decidim_escape_translated model.short_bio
64
64
  end
65
65
 
66
66
  def twitter_handle
@@ -10,7 +10,7 @@
10
10
  <div aria-hidden="true" class="card__image-top"
11
11
  style="background-image:url('<%= conference.attached_uploader(:hero_image).path %>')"></div>
12
12
  <div class="card__content">
13
- <span class="card__title card__link"><%= translated_attribute conference.title %></span>
13
+ <span class="card__title card__link"><%= decidim_escape_translated conference.title %></span>
14
14
  </div>
15
15
  <% end %>
16
16
  </div>
@@ -26,7 +26,7 @@ module Decidim
26
26
  end
27
27
 
28
28
  def title
29
- translated_attribute model.title
29
+ decidim_escape_translated model.title
30
30
  end
31
31
 
32
32
  def short_description
@@ -5,10 +5,16 @@ module Decidim
5
5
  class ConferenceWidgetsController < Decidim::WidgetsController
6
6
  helper Decidim::SanitizeHelper
7
7
 
8
+ def show
9
+ enforce_permission_to :embed, :conference, conference: model if model
10
+
11
+ super
12
+ end
13
+
8
14
  private
9
15
 
10
16
  def model
11
- @model ||= Conference.find_by(slug: params[:conference_slug])
17
+ @model ||= Conference.where(organization: current_organization).published.find_by(slug: params[:conference_slug])
12
18
  end
13
19
 
14
20
  def current_participatory_space
@@ -18,6 +24,10 @@ module Decidim
18
24
  def iframe_url
19
25
  @iframe_url ||= conference_conference_widget_url(model)
20
26
  end
27
+
28
+ def permission_class_chain
29
+ ::Decidim.permissions_registry.chain_for(::Decidim::Conferences::ApplicationController)
30
+ end
21
31
  end
22
32
  end
23
33
  end
@@ -4,6 +4,7 @@ module Decidim
4
4
  module Conferences
5
5
  class ConferenceRegistrationNotificationEvent < Decidim::Events::BaseEvent
6
6
  include Decidim::Events::NotificationEvent
7
+ include Decidim::SanitizeHelper
7
8
 
8
9
  def notification_title
9
10
  I18n.t("notification_title", **i18n_options).html_safe
@@ -12,10 +13,19 @@ module Decidim
12
13
  def i18n_options
13
14
  {
14
15
  resource_title: resource_title,
16
+ resource_path: resource_path,
15
17
  resource_url: resource_url,
16
18
  scope: event_name
17
19
  }
18
20
  end
21
+
22
+ def resource_title
23
+ return unless resource
24
+
25
+ title = decidim_sanitize_translated(resource.title)
26
+
27
+ Decidim::ContentProcessor.render_without_format(title, links: false).html_safe
28
+ end
19
29
  end
20
30
  end
21
31
  end
@@ -16,6 +16,7 @@ module Decidim
16
16
  if permission_action.scope == :public
17
17
  public_list_conferences_action?
18
18
  public_read_conference_action?
19
+ public_embed_conference_action?
19
20
  public_list_speakers_action?
20
21
  public_list_program_action?
21
22
  public_list_media_links_action?
@@ -131,6 +132,16 @@ module Decidim
131
132
  toggle_allow(can_manage_conference?)
132
133
  end
133
134
 
135
+ def public_embed_conference_action?
136
+ return unless permission_action.action == :embed &&
137
+ [:conference, :participatory_space].include?(permission_action.subject) &&
138
+ conference
139
+
140
+ return disallow! unless conference.published?
141
+
142
+ allow!
143
+ end
144
+
134
145
  def public_list_speakers_action?
135
146
  return unless permission_action.action == :list &&
136
147
  permission_action.subject == :speakers
@@ -3,7 +3,7 @@
3
3
  <%= start_time.to_s(:time) %> - <%= end_time.to_s(:time) %>
4
4
  </div>
5
5
  <div class="column medium-10 programme-title">
6
- <%= link_to present(meeting).title, resource_locator(meeting).path %>
6
+ <%= link_to decidim_sanitize(present(meeting).title), resource_locator(meeting).path %>
7
7
  </div>
8
8
  </div>
9
9
  <div class="row">
@@ -58,6 +58,7 @@ ar:
58
58
  conference_meeting_ids: الاجتماعات ذات الصلة
59
59
  full_name: الاسم الكامل
60
60
  position: المنصب
61
+ twitter_handle: معرّف X
61
62
  user_id: المستخدم
62
63
  conference_user_role:
63
64
  email: البريد الإلكتروني
@@ -440,6 +441,7 @@ ar:
440
441
  invalid: حدثت مشكلة أثناء مغادرة هذا المؤتمر.
441
442
  success: لقد تركت المؤتمر بنجاح.
442
443
  conference_speaker:
444
+ go_to_twitter: الذهاب إلى X
443
445
  more_info: مزيد من المعلومات
444
446
  personal_website: موقع الويب الشخصي
445
447
  show:
@@ -6,3 +6,87 @@ bg:
6
6
  assemblies_ids: Свързани събрания
7
7
  banner_image: Банер изображение
8
8
  consultations_ids: Свързани консултации
9
+ errors:
10
+ models:
11
+ conference_registration_invite:
12
+ attributes:
13
+ email:
14
+ already_invited: На този имейл вече е изпратена покана
15
+ decidim:
16
+ admin:
17
+ actions:
18
+ new_conference: Нова конференция
19
+ conferences:
20
+ index:
21
+ not_published: Не публикувано
22
+ menu:
23
+ conferences_submenu:
24
+ info: Информация
25
+ conferences:
26
+ admin:
27
+ conference_invites:
28
+ index:
29
+ filter:
30
+ accepted: Прието
31
+ all: Всички
32
+ rejected: Отхвърлен
33
+ filter_by: Филтрирай по
34
+ new:
35
+ explanation: Участникът ще бъде поканен да се присъедини към конференция. Дори имейлът му да не е регистриран, той също ще бъде поканен в организацията.
36
+ conference:
37
+ show:
38
+ free: Свободно
39
+ conference_program:
40
+ program_meeting:
41
+ content: Съдържание
42
+ streaming: Стриймване
43
+ show:
44
+ day: Ден
45
+ conference_registrations:
46
+ create:
47
+ unauthorized: Трябва да влезете в акаунта си, преди да се регистрирате за конференцията.
48
+ decline_invitation:
49
+ unauthorized: Трябва да влезете в акаунта си, преди да откажете поканата.
50
+ conference_speaker_cell:
51
+ twitter_handle:
52
+ go_to_twitter: Към Twitter
53
+ conferences:
54
+ show:
55
+ make_conference_registration: 'Регистрирайте се за конференцията:'
56
+ mailer:
57
+ conference_registration_mailer:
58
+ confirmation:
59
+ subject: Регистрацията Ви за конференцията е потвърдена
60
+ pending_validation:
61
+ subject: Регистрацията Ви за конференцията очаква потвърждение
62
+ pages:
63
+ home:
64
+ highlighted_conferences:
65
+ active_conferences: Активни конференции
66
+ conferences_button_title: Връзка към страницата „Конференции“, на която се показват всички конференции
67
+ photo:
68
+ image:
69
+ attributes:
70
+ alt: Медийно изображение
71
+ show:
72
+ close_modal: Затвори прозореца
73
+ photo: Изображение
74
+ photos_list:
75
+ show:
76
+ related_photos: Изображения
77
+ shared:
78
+ conference_user_login:
79
+ already_account: Имате ли вече профил в CivilPower?
80
+ new_user: Нов потребител?
81
+ sign_in: Влезте в профила си, за да се регистрирате за конференцията
82
+ sign_up: Създайте си профил в CivilPower, за да се регистрирате за конференцията
83
+ show:
84
+ related_consultations: Свързани консултации
85
+ log:
86
+ value_types:
87
+ conference_presenter:
88
+ not_found: 'Конференцията не бе намерена в базата данни (Идент. №: %{id})'
89
+ layouts:
90
+ decidim:
91
+ conferences_nav:
92
+ conference_menu_item: Информация
@@ -546,7 +546,7 @@ ca:
546
546
  notification_title: La teva inscripció a jornada <a href="%{resource_url}">%{resource_title}</a> està pendent de confirmació.
547
547
  conference_registrations_over_percentage:
548
548
  email_intro: Les places ocupades per a la jornada "%{resource_title}" superen el %{percentage}%.
549
- email_outro: Has rebut aquesta notificació perquè ets administradora de l'espai participatiu de la jornada.
549
+ email_outro: Has rebut aquesta notificació perquè administres l'espai participatiu de la jornada.
550
550
  email_subject: Les places ocupades per a la jornada "%{resource_title}" superen el %{percentage}%
551
551
  notification_title: Les places ocupades per a la jornada <a href="%{resource_path}">%{resource_title}</a> superen el %{percentage}%.
552
552
  conference_updated:
@@ -94,7 +94,7 @@ fi:
94
94
  send_diplomas: Lähetä läsnäolotodistukset
95
95
  conference_copies:
96
96
  new:
97
- copy: Kopio
97
+ copy: Kopioi
98
98
  select: Valitse, mitkä tiedot haluat kopioida
99
99
  title: Kopioi konferenssi
100
100
  conference_publications:
@@ -0,0 +1 @@
1
+ he:
@@ -62,6 +62,7 @@ hu:
62
62
  personal_url: Személyes URL-cím
63
63
  position: Pozíció
64
64
  short_bio: Rövid önéletrajz
65
+ twitter_handle: X kezelő
65
66
  user_id: Felhasználó
66
67
  conference_user_role:
67
68
  email: Email
@@ -500,6 +501,7 @@ hu:
500
501
  highlighted_conferences:
501
502
  active_conferences: Aktív konferenciák
502
503
  conferences_button_title: Link a Konferenciák oldalra, ahol az összes konferencia látható
504
+ see_all_conferences: Az összes konferencia megtekintése
503
505
  photo:
504
506
  image:
505
507
  attributes:
@@ -341,7 +341,9 @@ ja:
341
341
  select_user: 参加者を選択
342
342
  index:
343
343
  filter:
344
+ accepted: 承認済み
344
345
  all: すべて
346
+ rejected: 却下済み
345
347
  sent: 送信済み
346
348
  filter_by: フィルター
347
349
  invite_attendee: 参加者の招待
@@ -452,6 +452,7 @@ lv:
452
452
  home:
453
453
  highlighted_conferences:
454
454
  active_conferences: Aktīvās konferences
455
+ conferences_button_title: Saite uz lapu Konferences, kurā norādītas visas konferences
455
456
  photo:
456
457
  image:
457
458
  attributes:
@@ -29,6 +29,7 @@ pl:
29
29
  show_statistics: Pokaż statystyki
30
30
  sign_date: Data podpisania
31
31
  signature: Podpis
32
+ signature_name: Nazwa podpisu
32
33
  slogan: Slogan
33
34
  slug: URL slug
34
35
  start_date: Data rozpoczęcia
@@ -320,6 +320,9 @@ pt-BR:
320
320
  title: caixas de som
321
321
  conferences:
322
322
  admin:
323
+ conference_copies:
324
+ form:
325
+ slug_help: 'Os slugs de URL são usados ​​para gerar as URLs que apontam para esta conferência. Aceita apenas letras, números e traços e deve começar com uma letra. Exemplo: %{url}'
323
326
  conference_invites:
324
327
  create:
325
328
  error: Houve um problema ao convidar o usuário para participar da conferência.
@@ -361,6 +364,7 @@ pt-BR:
361
364
  registrations_count:
362
365
  one: Houve 1 registro.
363
366
  other: Houve %{count} inscrições.
367
+ slug_help: 'Os slugs de URL são usados ​​para gerar as URLs que apontam para esta conferência. Aceita apenas letras, números e traços e deve começar com uma letra. Exemplo: %{url}'
364
368
  diplomas:
365
369
  edit:
366
370
  save: Salve 
@@ -369,6 +373,7 @@ pt-BR:
369
373
  invite:
370
374
  decline: Recusar convite '%{conference_title}'
371
375
  invited_existing_user_to_join_a_conference: "%{invited_by} convidou você para participar de uma conferência em %{application}. Você pode recusar ou aceitá-lo através dos links abaixo."
376
+ invited_user_to_join_a_conference: "%{invited_by} convidou você a participar de uma reunião em %{application}. Você pode aceitá-lo através do link abaixo."
372
377
  registration: Registro para '%{conference_title}'
373
378
  partners:
374
379
  index:
@@ -419,13 +424,16 @@ pt-BR:
419
424
  create:
420
425
  invalid: Houve um problema em participar desta conferência.
421
426
  success: Você ingressou na conferência com sucesso.
427
+ unauthorized: Você precisa fazer login antes de se registrar na conferência.
422
428
  decline_invitation:
423
429
  invalid: Houve um problema ao recusar o convite.
424
430
  success: Você recusou o convite com sucesso.
431
+ unauthorized: Você precisa fazer login antes de recusar o convite.
425
432
  destroy:
426
433
  invalid: Houve um problema ao sair desta conferência.
427
434
  success: Você saiu da conferência com sucesso.
428
435
  conference_speaker:
436
+ go_to_twitter: Ir para X
429
437
  more_info: mais informações
430
438
  personal_website: Site pessoal
431
439
  show:
@@ -490,6 +498,7 @@ pt-BR:
490
498
  highlighted_conferences:
491
499
  active_conferences: Conferências ativas
492
500
  conferences_button_title: Link para a página de Conferências exibindo todas as conferências
501
+ see_all_conferences: Veja todas as conferências
493
502
  photo:
494
503
  image:
495
504
  attributes:
@@ -456,6 +456,7 @@ sk:
456
456
  home:
457
457
  highlighted_conferences:
458
458
  active_conferences: Aktívne konferencie
459
+ conferences_button_title: Odkaz na stránku Konferencie, zobrazujúcu všetky konferencie
459
460
  photo:
460
461
  image:
461
462
  attributes:
@@ -7,6 +7,10 @@ sr:
7
7
  roles:
8
8
  valuator: Procenjivač
9
9
  conferences:
10
+ pages:
11
+ home:
12
+ highlighted_conferences:
13
+ conferences_button_title: Veza ka strani Konferencije koja prikazuje sve konferencije
10
14
  photo:
11
15
  image:
12
16
  attributes:
@@ -448,6 +448,7 @@ tr:
448
448
  home:
449
449
  highlighted_conferences:
450
450
  active_conferences: Aktif konferanslar
451
+ conferences_button_title: Tüm konferansları görüntüleyen Konferanslar sayfasına bağlantı
451
452
  see_all_conferences: Tüm Konferanslar
452
453
  photo:
453
454
  image:
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path("lib", __dir__)
4
+
5
+ require "decidim/conferences/version"
6
+
7
+ Gem::Specification.new do |s|
8
+ s.version = Decidim::Conferences.version
9
+ s.authors = ["Isaac Massot Gil"]
10
+ s.email = ["isaac.mg@coditramuntana.com"]
11
+ s.license = "AGPL-3.0"
12
+ s.homepage = "https://github.com/decidim/decidim"
13
+ s.required_ruby_version = "~> 3.0.0"
14
+
15
+ s.name = "decidim-conferences"
16
+ s.summary = "Decidim conferences module"
17
+ s.description = "Conferences component for decidim."
18
+
19
+ s.files = Dir.chdir(__dir__) do
20
+ `git ls-files -z`.split("\x0").select do |f|
21
+ (File.expand_path(f) == __FILE__) ||
22
+ f.start_with?(*%w(app/ config/ db/ lib/ Rakefile README.md))
23
+ end
24
+ end
25
+
26
+ s.add_dependency "decidim-core", Decidim::Conferences.version
27
+ s.add_dependency "decidim-meetings", Decidim::Conferences.version
28
+ s.add_dependency "wicked_pdf", "~> 2.1"
29
+ s.add_dependency "wkhtmltopdf-binary", "~> 0.12"
30
+
31
+ s.add_development_dependency "decidim-admin", Decidim::Conferences.version
32
+ s.add_development_dependency "decidim-dev", Decidim::Conferences.version
33
+ end
@@ -91,7 +91,7 @@ module Decidim
91
91
  initializer "decidim_conferences.admin_conferences_components_menu" do
92
92
  Decidim.menu :admin_conferences_components_menu do |menu|
93
93
  current_participatory_space.components.each do |component|
94
- caption = translated_attribute(component.name)
94
+ caption = decidim_escape_translated(component.name)
95
95
  if component.primary_stat.present?
96
96
  caption += content_tag(:span, component.primary_stat, class: component.primary_stat.zero? ? "component-counter component-counter--off" : "component-counter")
97
97
  end
@@ -10,12 +10,15 @@ FactoryBot.define do
10
10
  end
11
11
 
12
12
  factory :conference, class: "Decidim::Conference" do
13
- title { generate_localized_title }
13
+ transient do
14
+ skip_injection { false }
15
+ end
16
+ title { generate_localized_title(:conference_title, skip_injection: skip_injection) }
14
17
  slug { generate(:conference_slug) }
15
- slogan { generate_localized_title }
16
- short_description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
17
- description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
18
- objectives { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
18
+ slogan { generate_localized_title(:conference_slogan, skip_injection: skip_injection) }
19
+ short_description { generate_localized_description(:conference_short_description, skip_injection: skip_injection) }
20
+ description { generate_localized_description(:conference_description, skip_injection: skip_injection) }
21
+ objectives { generate_localized_description(:conference_objectives, skip_injection: skip_injection) }
19
22
  organization
20
23
  hero_image { Decidim::Dev.test_file("city.jpeg", "image/jpeg") } # Keep after organization
21
24
  banner_image { Decidim::Dev.test_file("city2.jpeg", "image/jpeg") } # Keep after organization
@@ -24,7 +27,7 @@ FactoryBot.define do
24
27
  show_statistics { true }
25
28
  start_date { 1.month.ago }
26
29
  end_date { 1.month.ago + 3.days }
27
- registration_terms { generate_localized_title }
30
+ registration_terms { generate_localized_title(:conference_registration_terms, skip_injection: skip_injection) }
28
31
 
29
32
  trait :promoted do
30
33
  promoted { true }
@@ -47,14 +50,18 @@ FactoryBot.define do
47
50
  end
48
51
 
49
52
  factory :conference_user_role, class: "Decidim::ConferenceUserRole" do
53
+ transient do
54
+ skip_injection { false }
55
+ end
50
56
  user
51
- conference { create :conference, organization: user.organization }
57
+ conference { create :conference, organization: user.organization, skip_injection: skip_injection }
52
58
  role { "admin" }
53
59
  end
54
60
 
55
61
  factory :conference_admin, parent: :user, class: "Decidim::User" do
56
62
  transient do
57
- conference { create(:conference) }
63
+ skip_injection { false }
64
+ conference { create(:conference, skip_injection: skip_injection) }
58
65
  end
59
66
 
60
67
  organization { conference.organization }
@@ -64,13 +71,15 @@ FactoryBot.define do
64
71
  create :conference_user_role,
65
72
  user: user,
66
73
  conference: evaluator.conference,
67
- role: :admin
74
+ role: :admin,
75
+ skip_injection: evaluator.skip_injection
68
76
  end
69
77
  end
70
78
 
71
79
  factory :conference_moderator, parent: :user, class: "Decidim::User" do
72
80
  transient do
73
- conference { create(:conference) }
81
+ skip_injection { false }
82
+ conference { create(:conference, skip_injection: skip_injection) }
74
83
  end
75
84
 
76
85
  organization { conference.organization }
@@ -80,13 +89,15 @@ FactoryBot.define do
80
89
  create :conference_user_role,
81
90
  user: user,
82
91
  conference: evaluator.conference,
83
- role: :moderator
92
+ role: :moderator,
93
+ skip_injection: evaluator.skip_injection
84
94
  end
85
95
  end
86
96
 
87
97
  factory :conference_collaborator, parent: :user, class: "Decidim::User" do
88
98
  transient do
89
- conference { create(:conference) }
99
+ skip_injection { false }
100
+ conference { create(:conference, skip_injection: skip_injection) }
90
101
  end
91
102
 
92
103
  organization { conference.organization }
@@ -96,13 +107,15 @@ FactoryBot.define do
96
107
  create :conference_user_role,
97
108
  user: user,
98
109
  conference: evaluator.conference,
99
- role: :collaborator
110
+ role: :collaborator,
111
+ skip_injection: evaluator.skip_injection
100
112
  end
101
113
  end
102
114
 
103
115
  factory :conference_valuator, parent: :user, class: "Decidim::User" do
104
116
  transient do
105
- conference { create(:conference) }
117
+ skip_injection { false }
118
+ conference { create(:conference, skip_injection: skip_injection) }
106
119
  end
107
120
 
108
121
  organization { conference.organization }
@@ -112,17 +125,21 @@ FactoryBot.define do
112
125
  create :conference_user_role,
113
126
  user: user,
114
127
  conference: evaluator.conference,
115
- role: :valuator
128
+ role: :valuator,
129
+ skip_injection: evaluator.skip_injection
116
130
  end
117
131
  end
118
132
 
119
133
  factory :conference_speaker, class: "Decidim::ConferenceSpeaker" do
120
- conference { create(:conference) }
134
+ transient do
135
+ skip_injection { false }
136
+ end
137
+ conference { create(:conference, skip_injection: skip_injection) }
121
138
 
122
139
  full_name { Faker::Name.name }
123
140
  position { Decidim::Faker::Localized.word }
124
141
  affiliation { Decidim::Faker::Localized.word }
125
- short_bio { generate_localized_title }
142
+ short_bio { generate_localized_title(:conference_speaker_short_bio, skip_injection: skip_injection) }
126
143
  twitter_handle { Faker::Internet.user_name }
127
144
  personal_url { Faker::Internet.url }
128
145
 
@@ -131,58 +148,66 @@ FactoryBot.define do
131
148
  end
132
149
 
133
150
  trait :with_user do
134
- user { create(:user, organization: conference.organization) }
151
+ user { create(:user, organization: conference.organization, skip_injection: skip_injection) }
135
152
  end
136
153
 
137
154
  trait :with_meeting do
138
155
  transient do
139
- meetings_component { create(:meetings_component, participatory_space: conference.participatory_space) }
156
+ meetings_component { create(:meetings_component, participatory_space: conference.participatory_space, skip_injection: skip_injection) }
140
157
  end
141
158
 
142
159
  after :build do |conference_speaker, evaluator|
143
160
  conference_speaker.conference_speaker_conference_meetings << build(:conference_speaker_conference_meeting,
144
161
  meetings_component: evaluator.meetings_component,
145
- conference_speaker: conference_speaker)
162
+ conference_speaker: conference_speaker,
163
+ skip_injection: evaluator.skip_injection)
146
164
  end
147
165
  end
148
166
  end
149
167
 
150
168
  factory :conference_speaker_conference_meeting, class: "Decidim::ConferenceSpeakerConferenceMeeting" do
151
169
  transient do
152
- conference { create(:conference) }
153
- meetings_component { create(:meetings_component, participatory_space: conference.participatory_space) }
170
+ skip_injection { false }
171
+ conference { create(:conference, skip_injection: skip_injection) }
172
+ meetings_component { create(:meetings_component, skip_injection: skip_injection, participatory_space: conference.participatory_space) }
154
173
  end
155
174
 
156
- conference_meeting { create(:conference_meeting, :published, conference: conference, component: meetings_component) }
157
- conference_speaker { create(:conference_speaker, conference: conference) }
175
+ conference_meeting { create(:conference_meeting, :published, conference: conference, skip_injection: skip_injection, component: meetings_component) }
176
+ conference_speaker { create(:conference_speaker, conference: conference, skip_injection: skip_injection) }
158
177
  end
159
178
 
160
179
  factory :conference_meeting_registration_type, class: "Decidim::Conferences::ConferenceMeetingRegistrationType" do
161
180
  transient do
162
- conference { create(:conference) }
181
+ skip_injection { false }
182
+ conference { create(:conference, skip_injection: skip_injection) }
163
183
  end
164
184
 
165
185
  conference_meeting
166
- registration_type { build(:registration_type, conference: conference) }
186
+ registration_type { build(:registration_type, conference: conference, skip_injection: skip_injection) }
167
187
  end
168
188
 
169
189
  factory :conference_meeting, parent: :meeting, class: "Decidim::ConferenceMeeting" do
170
190
  transient do
171
- conference { create(:conference) }
191
+ skip_injection { false }
192
+ conference { create(:conference, skip_injection: skip_injection) }
172
193
  end
173
194
 
174
195
  after :build do |conference_meeting, evaluator|
175
196
  conference_meeting.conference_meeting_registration_types << build(:conference_meeting_registration_type,
176
197
  conference_meeting: conference_meeting,
177
- conference: evaluator.conference)
198
+ conference: evaluator.conference,
199
+ skip_injection: evaluator.skip_injection)
178
200
  end
179
201
  end
180
202
 
181
203
  factory :registration_type, class: "Decidim::Conferences::RegistrationType" do
204
+ transient do
205
+ skip_injection { false }
206
+ end
182
207
  conference
183
208
 
184
- title { generate_localized_title }
185
- description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
209
+ title { generate_localized_title(:registration_type_title, skip_injection: skip_injection) }
210
+ description { generate_localized_description(:registration_type_description, skip_injection: skip_injection) }
186
211
  published_at { Time.current }
187
212
  price { Faker::Number.between(from: 1, to: 300) }
188
213
  weight { Faker::Number.between(from: 1, to: 10) }
@@ -197,6 +222,9 @@ FactoryBot.define do
197
222
  end
198
223
 
199
224
  factory :conference_registration, class: "Decidim::Conferences::ConferenceRegistration" do
225
+ transient do
226
+ skip_injection { false }
227
+ end
200
228
  conference
201
229
  user
202
230
  registration_type
@@ -212,6 +240,9 @@ FactoryBot.define do
212
240
  end
213
241
 
214
242
  factory :conference_invite, class: "Decidim::Conferences::ConferenceInvite" do
243
+ transient do
244
+ skip_injection { false }
245
+ end
215
246
  conference
216
247
  user
217
248
  sent_at { 1.day.ago }
@@ -229,6 +260,9 @@ FactoryBot.define do
229
260
  end
230
261
 
231
262
  factory :partner, class: "Decidim::Conferences::Partner" do
263
+ transient do
264
+ skip_injection { false }
265
+ end
232
266
  conference
233
267
 
234
268
  name { Faker::Name.name }
@@ -247,8 +281,11 @@ FactoryBot.define do
247
281
  end
248
282
 
249
283
  factory :media_link, class: "Decidim::Conferences::MediaLink" do
284
+ transient do
285
+ skip_injection { false }
286
+ end
250
287
  conference
251
- title { generate_localized_title }
288
+ title { generate_localized_title(:media_link_title, skip_injection: skip_injection) }
252
289
  weight { Faker::Number.between(from: 1, to: 10) }
253
290
  link { Faker::Internet.url }
254
291
  date { 1.month.ago }
@@ -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.27.5"
7
+ "0.27.6"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-conferences
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.5
4
+ version: 0.27.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isaac Massot Gil
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-20 00:00:00.000000000 Z
11
+ date: 2024-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: decidim-core
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.27.5
19
+ version: 0.27.6
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.27.5
26
+ version: 0.27.6
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.27.5
33
+ version: 0.27.6
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.27.5
40
+ version: 0.27.6
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: wicked_pdf
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -72,28 +72,28 @@ dependencies:
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 0.27.5
75
+ version: 0.27.6
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.27.5
82
+ version: 0.27.6
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.27.5
89
+ version: 0.27.6
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.27.5
96
+ version: 0.27.6
97
97
  description: Conferences component for decidim.
98
98
  email:
99
99
  - isaac.mg@coditramuntana.com
@@ -333,7 +333,6 @@ files:
333
333
  - app/views/layouts/decidim/conference.html.erb
334
334
  - app/views/layouts/decidim/diploma.html.erb
335
335
  - config/assets.rb
336
- - config/environment.rb
337
336
  - config/initializers/wicked_pdf.rb
338
337
  - config/locales/am-ET.yml
339
338
  - config/locales/ar-SA.yml
@@ -367,6 +366,7 @@ files:
367
366
  - config/locales/ga-IE.yml
368
367
  - config/locales/gl.yml
369
368
  - config/locales/gn-PY.yml
369
+ - config/locales/he-IL.yml
370
370
  - config/locales/hr-HR.yml
371
371
  - config/locales/hr.yml
372
372
  - config/locales/hu.yml
@@ -437,6 +437,7 @@ files:
437
437
  - db/seeds/city2.jpeg
438
438
  - db/seeds/homepage_image.jpg
439
439
  - db/seeds/logo.png
440
+ - decidim-conferences.gemspec
440
441
  - lib/decidim/api/conference_media_link_type.rb
441
442
  - lib/decidim/api/conference_partner_type.rb
442
443
  - lib/decidim/api/conference_speaker_type.rb
@@ -454,23 +455,23 @@ homepage: https://github.com/decidim/decidim
454
455
  licenses:
455
456
  - AGPL-3.0
456
457
  metadata: {}
457
- post_install_message:
458
+ post_install_message:
458
459
  rdoc_options: []
459
460
  require_paths:
460
461
  - lib
461
462
  required_ruby_version: !ruby/object:Gem::Requirement
462
463
  requirements:
463
- - - ">="
464
+ - - "~>"
464
465
  - !ruby/object:Gem::Version
465
- version: '3.0'
466
+ version: 3.0.0
466
467
  required_rubygems_version: !ruby/object:Gem::Requirement
467
468
  requirements:
468
469
  - - ">="
469
470
  - !ruby/object:Gem::Version
470
471
  version: '0'
471
472
  requirements: []
472
- rubygems_version: 3.4.22
473
- signing_key:
473
+ rubygems_version: 3.2.22
474
+ signing_key:
474
475
  specification_version: 4
475
476
  summary: Decidim conferences module
476
477
  test_files: []
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Empty line for playing nice with tpope/vim-rails