decidim-conferences 0.27.5 → 0.27.6

Sign up to get free protection for your applications and to get access to all the features.
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