decidim-conferences 0.23.3 → 0.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/cells/decidim/conferences/conference_speaker/show.erb +1 -1
- data/app/cells/decidim/conferences/media_link/show.erb +1 -1
- data/app/cells/decidim/conferences/media_link_cell.rb +1 -0
- data/app/commands/decidim/conferences/admin/create_conference_speaker.rb +40 -18
- data/app/commands/decidim/conferences/admin/create_partner.rb +33 -14
- data/app/commands/decidim/conferences/admin/invite_user_to_join_conference.rb +1 -1
- data/app/commands/decidim/conferences/admin/update_conference_speaker.rb +41 -17
- data/app/commands/decidim/conferences/admin/update_partner.rb +30 -10
- data/app/controllers/decidim/conferences/admin/imports_controller.rb +14 -0
- data/app/controllers/decidim/conferences/admin/moderations/reports_controller.rb +14 -0
- data/app/events/decidim/conferences/conference_role_assigned_event.rb +1 -1
- data/app/forms/decidim/conferences/admin/conference_form.rb +3 -2
- data/app/forms/decidim/conferences/admin/conference_speaker_form.rb +1 -1
- data/app/forms/decidim/conferences/admin/media_link_form.rb +1 -1
- data/app/forms/decidim/conferences/admin/partner_form.rb +2 -1
- data/app/models/decidim/conference_meeting.rb +1 -1
- data/app/models/decidim/conference_speaker.rb +1 -1
- data/app/models/decidim/conference_speaker_conference_meeting.rb +2 -2
- data/app/models/decidim/conferences/conference_meeting_registration_type.rb +2 -2
- data/app/models/decidim/conferences/registration_type.rb +1 -1
- data/app/permissions/decidim/conferences/permissions.rb +1 -1
- data/app/presenters/decidim/conferences/conference_stats_presenter.rb +1 -1
- data/app/views/decidim/conferences/admin/conference_invites/index.html.erb +1 -1
- data/app/views/decidim/conferences/admin/conference_registrations/index.html.erb +1 -1
- data/app/views/decidim/conferences/admin/partners/_form.html.erb +1 -1
- data/app/views/layouts/decidim/admin/conference.html.erb +2 -1
- data/config/locales/ar.yml +6 -4
- data/config/locales/ca.yml +50 -3
- data/config/locales/cs.yml +51 -4
- data/config/locales/de.yml +16 -3
- data/config/locales/el.yml +6 -4
- data/config/locales/en.yml +50 -3
- data/config/locales/es-MX.yml +16 -3
- data/config/locales/es-PY.yml +16 -3
- data/config/locales/es.yml +17 -4
- data/config/locales/eu.yml +6 -4
- data/config/locales/fi-plain.yml +51 -4
- data/config/locales/fi.yml +51 -4
- data/config/locales/fr-CA.yml +16 -3
- data/config/locales/fr.yml +16 -3
- data/config/locales/gl.yml +35 -4
- data/config/locales/hu.yml +6 -4
- data/config/locales/id-ID.yml +6 -4
- data/config/locales/it.yml +7 -5
- data/config/locales/ja.yml +12 -4
- data/config/locales/lv.yml +6 -4
- data/config/locales/nl.yml +176 -129
- data/config/locales/no.yml +6 -4
- data/config/locales/pl.yml +20 -7
- data/config/locales/pt-BR.yml +6 -4
- data/config/locales/pt.yml +6 -4
- data/config/locales/ro-RO.yml +66 -3
- data/config/locales/sk.yml +6 -4
- data/config/locales/sv.yml +50 -3
- data/config/locales/tr-TR.yml +13 -4
- data/config/locales/zh-CN.yml +6 -4
- data/db/migrate/20210310134942_add_followable_counter_cache_to_conferences.rb +16 -0
- data/lib/decidim/api/conference_media_link_type.rb +18 -0
- data/lib/decidim/api/conference_partner_type.rb +19 -0
- data/lib/decidim/api/conference_speaker_type.rb +23 -0
- data/lib/decidim/api/conference_type.rb +42 -0
- data/lib/decidim/conferences.rb +1 -0
- data/lib/decidim/conferences/admin_engine.rb +3 -1
- data/lib/decidim/conferences/api.rb +10 -0
- data/lib/decidim/conferences/engine.rb +7 -1
- data/lib/decidim/conferences/participatory_space.rb +25 -25
- data/lib/decidim/conferences/query_extensions.rb +43 -0
- data/lib/decidim/conferences/test/factories.rb +6 -6
- data/lib/decidim/conferences/version.rb +1 -1
- metadata +21 -16
- data/app/types/decidim/conferences/conference_media_link_type.rb +0 -19
- data/app/types/decidim/conferences/conference_partner_type.rb +0 -20
- data/app/types/decidim/conferences/conference_speaker_type.rb +0 -24
- data/app/types/decidim/conferences/conference_type.rb +0 -45
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddFollowableCounterCacheToConferences < ActiveRecord::Migration[5.2]
|
4
|
+
def change
|
5
|
+
add_column :decidim_conferences, :follows_count, :integer, null: false, default: 0, index: true
|
6
|
+
|
7
|
+
reversible do |dir|
|
8
|
+
dir.up do
|
9
|
+
Decidim::Conference.reset_column_information
|
10
|
+
Decidim::Conference.find_each do |record|
|
11
|
+
record.class.reset_counters(record.id, :follows)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Conferences
|
5
|
+
# This type represents a conference.
|
6
|
+
class ConferenceMediaLinkType < Decidim::Api::Types::BaseObject
|
7
|
+
description "A conference media link"
|
8
|
+
|
9
|
+
field :id, GraphQL::Types::ID, "Internal ID for this media link", null: false
|
10
|
+
field :title, Decidim::Core::TranslatedFieldType, "Title for this media link", null: true
|
11
|
+
field :link, GraphQL::Types::String, "URL for this media link", null: true
|
12
|
+
field :date, Decidim::Core::DateType, "Relevant date for the media link", null: true
|
13
|
+
field :weight, GraphQL::Types::Int, "Order of appearance in which it should be presented", null: true
|
14
|
+
field :created_at, Decidim::Core::DateTimeType, "The time this entry was created", null: true
|
15
|
+
field :updated_at, Decidim::Core::DateTimeType, "The time this entry was updated", null: true
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Conferences
|
5
|
+
# This type represents a conference.
|
6
|
+
class ConferencePartnerType < Decidim::Api::Types::BaseObject
|
7
|
+
description "A conference partner"
|
8
|
+
|
9
|
+
field :id, GraphQL::Types::ID, "ID of the resource", null: false
|
10
|
+
field :name, GraphQL::Types::String, "Partner name", null: true
|
11
|
+
field :partner_type, GraphQL::Types::String, "Partner type", null: true
|
12
|
+
field :weight, GraphQL::Types::Int, "Order of appearance in which it should be presented", null: true
|
13
|
+
field :link, GraphQL::Types::String, "Relevant URL for this partner", null: true
|
14
|
+
field :logo, GraphQL::Types::String, "Link to the partner's logo", null: true
|
15
|
+
field :created_at, Decidim::Core::DateTimeType, "The time this partner was created", null: true
|
16
|
+
field :updated_at, Decidim::Core::DateTimeType, "The time this partner was updated", null: true
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Conferences
|
5
|
+
# This type represents a conference.
|
6
|
+
class ConferenceSpeakerType < Decidim::Api::Types::BaseObject
|
7
|
+
description "A conference speaker"
|
8
|
+
|
9
|
+
field :id, GraphQL::Types::ID, "Internal ID of the speaker", null: false
|
10
|
+
field :full_name, GraphQL::Types::String, "Full name of the speaker", null: true
|
11
|
+
field :position, Decidim::Core::TranslatedFieldType, "Position of the speaker in the conference", null: true
|
12
|
+
field :affiliation, Decidim::Core::TranslatedFieldType, "Affiliation of the speaker", null: true
|
13
|
+
field :twitter_handle, GraphQL::Types::String, "Twitter handle", null: true
|
14
|
+
field :short_bio, Decidim::Core::TranslatedFieldType, "Short biography of the speaker", null: true
|
15
|
+
field :personal_url, GraphQL::Types::String, "Personal URL of the speaker", null: true
|
16
|
+
field :avatar, GraphQL::Types::String, "Avatar of the speaker", null: true
|
17
|
+
field :user, Decidim::Core::UserType, "Decidim user corresponding to this speaker", null: true
|
18
|
+
|
19
|
+
field :created_at, Decidim::Core::DateTimeType, "The time this member was created ", null: true
|
20
|
+
field :updated_at, Decidim::Core::DateTimeType, "The time this member was updated", null: true
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Conferences
|
5
|
+
# This type represents a conference.
|
6
|
+
class ConferenceType < Decidim::Api::Types::BaseObject
|
7
|
+
implements Decidim::Core::ParticipatorySpaceInterface
|
8
|
+
implements Decidim::Core::ScopableInterface
|
9
|
+
implements Decidim::Core::AttachableInterface
|
10
|
+
|
11
|
+
description "A conference"
|
12
|
+
|
13
|
+
field :id, GraphQL::Types::ID, "Internal ID for this conference", null: false
|
14
|
+
field :short_description, Decidim::Core::TranslatedFieldType, "The short description of this conference", null: true
|
15
|
+
field :description, Decidim::Core::TranslatedFieldType, "The description of this conference", null: true
|
16
|
+
field :slug, GraphQL::Types::String, "The slug of this conference", null: true
|
17
|
+
field :hashtag, GraphQL::Types::String, "The hashtag for this conference", null: true
|
18
|
+
field :slogan, Decidim::Core::TranslatedFieldType, "The slogan of the conference", null: true
|
19
|
+
field :location, String, "The location of this conference", null: true
|
20
|
+
field :created_at, Decidim::Core::DateTimeType, "The time this conference was created", null: true
|
21
|
+
field :updated_at, Decidim::Core::DateTimeType, "The time this conference was updated", null: true
|
22
|
+
field :published_at, Decidim::Core::DateTimeType, "The time this conference was published", null: true
|
23
|
+
field :reference, GraphQL::Types::String, "Reference prefix for this conference", null: true
|
24
|
+
|
25
|
+
field :hero_image, GraphQL::Types::String, "The hero image for this conference", null: true
|
26
|
+
field :banner_image, GraphQL::Types::String, "The banner image for this conference", null: true
|
27
|
+
field :promoted, GraphQL::Types::Boolean, "If this conference is promoted (therefore in the homepage)", null: true
|
28
|
+
field :objectives, Decidim::Core::TranslatedFieldType, "The objectives of the conference", null: true
|
29
|
+
field :show_statistics, GraphQL::Types::Boolean, "If this conference shows the statistics", null: true
|
30
|
+
field :start_date, Decidim::Core::DateType, "The date this conference starts", null: true
|
31
|
+
field :end_date, Decidim::Core::DateType, "The date this conference ends", null: true
|
32
|
+
field :registrations_enabled, GraphQL::Types::Boolean, "If the registrations are enabled in this conference", null: true
|
33
|
+
field :available_slots, GraphQL::Types::Int, "The number of available slots in this conference", null: true
|
34
|
+
field :registration_terms, Decidim::Core::TranslatedFieldType, "The registration terms of this conference", null: true
|
35
|
+
|
36
|
+
field :speakers, [Decidim::Conferences::ConferenceSpeakerType, { null: true }], "List of speakers in this conference", null: true
|
37
|
+
field :partners, [Decidim::Conferences::ConferencePartnerType, { null: true }], "List of partners in this conference", null: true
|
38
|
+
field :categories, [Decidim::Core::CategoryType, { null: true }], "List of categories in this conference", null: true
|
39
|
+
field :media_links, [Decidim::Conferences::ConferenceMediaLinkType, { null: true }], "List of media links in this conference", null: true
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/lib/decidim/conferences.rb
CHANGED
@@ -61,6 +61,7 @@ module Decidim
|
|
61
61
|
get :share
|
62
62
|
end
|
63
63
|
resources :exports, only: :create
|
64
|
+
resources :imports, only: [:new, :create]
|
64
65
|
end
|
65
66
|
|
66
67
|
resources :moderations do
|
@@ -69,6 +70,7 @@ module Decidim
|
|
69
70
|
put :hide
|
70
71
|
put :unhide
|
71
72
|
end
|
73
|
+
resources :reports, controller: "moderations/reports", only: [:index, :show]
|
72
74
|
end
|
73
75
|
end
|
74
76
|
|
@@ -92,7 +94,7 @@ module Decidim
|
|
92
94
|
menu.item I18n.t("menu.conferences", scope: "decidim.admin"),
|
93
95
|
decidim_admin_conferences.conferences_path,
|
94
96
|
icon_name: "microphone",
|
95
|
-
position:
|
97
|
+
position: 2.8,
|
96
98
|
active: :inclusive,
|
97
99
|
if: allowed_to?(:enter, :space_area, space_name: :conferences)
|
98
100
|
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Conferences
|
5
|
+
autoload :ConferenceType, "decidim/api/conference_type"
|
6
|
+
autoload :ConferenceMediaLinkType, "decidim/api/conference_media_link_type"
|
7
|
+
autoload :ConferencePartnerType, "decidim/api/conference_partner_type"
|
8
|
+
autoload :ConferenceSpeakerType, "decidim/api/conference_speaker_type"
|
9
|
+
end
|
10
|
+
end
|
@@ -5,6 +5,8 @@ require "active_support/all"
|
|
5
5
|
require "decidim/core"
|
6
6
|
require "wicked_pdf"
|
7
7
|
|
8
|
+
require "decidim/conferences/query_extensions"
|
9
|
+
|
8
10
|
module Decidim
|
9
11
|
module Conferences
|
10
12
|
# Decidim's Conferences Rails Engine.
|
@@ -67,7 +69,7 @@ module Decidim
|
|
67
69
|
Decidim.menu :menu do |menu|
|
68
70
|
menu.item I18n.t("menu.conferences", scope: "decidim"),
|
69
71
|
decidim_conferences.conferences_path,
|
70
|
-
position:
|
72
|
+
position: 2.8,
|
71
73
|
if: Decidim::Conference.where(organization: current_organization).published.any?,
|
72
74
|
active: :inclusive
|
73
75
|
end
|
@@ -79,6 +81,10 @@ module Decidim
|
|
79
81
|
content_block.public_name_key = "decidim.conferences.content_blocks.highlighted_conferences.name"
|
80
82
|
end
|
81
83
|
end
|
84
|
+
|
85
|
+
initializer "decidim_conferences.query_extensions" do
|
86
|
+
Decidim::Api::QueryType.include Decidim::Conferences::QueryExtensions
|
87
|
+
end
|
82
88
|
end
|
83
89
|
end
|
84
90
|
end
|
@@ -53,15 +53,15 @@ Decidim.register_participatory_space(:conferences) do |participatory_space|
|
|
53
53
|
|
54
54
|
2.times do |_n|
|
55
55
|
conference = Decidim::Conference.create!(
|
56
|
-
title: Decidim::Faker::Localized.sentence(5),
|
57
|
-
slogan: Decidim::Faker::Localized.sentence(2),
|
58
|
-
slug: Faker::Internet.unique.slug(nil, "-"),
|
56
|
+
title: Decidim::Faker::Localized.sentence(word_count: 5),
|
57
|
+
slogan: Decidim::Faker::Localized.sentence(word_count: 2),
|
58
|
+
slug: Decidim::Faker::Internet.unique.slug(words: nil, glue: "-"),
|
59
59
|
hashtag: "##{Faker::Lorem.word}",
|
60
60
|
short_description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
|
61
|
-
Decidim::Faker::Localized.sentence(3)
|
61
|
+
Decidim::Faker::Localized.sentence(word_count: 3)
|
62
62
|
end,
|
63
63
|
description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
|
64
|
-
Decidim::Faker::Localized.paragraph(3)
|
64
|
+
Decidim::Faker::Localized.paragraph(sentence_count: 3)
|
65
65
|
end,
|
66
66
|
organization: organization,
|
67
67
|
hero_image: File.new(File.join(seeds_root, "city.jpeg")), # Keep after organization
|
@@ -69,14 +69,14 @@ Decidim.register_participatory_space(:conferences) do |participatory_space|
|
|
69
69
|
promoted: true,
|
70
70
|
published_at: 2.weeks.ago,
|
71
71
|
objectives: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
|
72
|
-
Decidim::Faker::Localized.paragraph(3)
|
72
|
+
Decidim::Faker::Localized.paragraph(sentence_count: 3)
|
73
73
|
end,
|
74
74
|
start_date: Time.current,
|
75
75
|
end_date: 2.months.from_now.at_midnight,
|
76
76
|
registrations_enabled: [true, false].sample,
|
77
77
|
available_slots: (10..50).step(10).to_a.sample,
|
78
78
|
registration_terms: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
|
79
|
-
Decidim::Faker::Localized.paragraph(3)
|
79
|
+
Decidim::Faker::Localized.paragraph(sentence_count: 3)
|
80
80
|
end
|
81
81
|
)
|
82
82
|
conference.add_to_index_as_search_resource
|
@@ -106,37 +106,37 @@ Decidim.register_participatory_space(:conferences) do |participatory_space|
|
|
106
106
|
|
107
107
|
attachment_collection = Decidim::AttachmentCollection.create!(
|
108
108
|
name: Decidim::Faker::Localized.word,
|
109
|
-
description: Decidim::Faker::Localized.sentence(5),
|
109
|
+
description: Decidim::Faker::Localized.sentence(word_count: 5),
|
110
110
|
collection_for: conference
|
111
111
|
)
|
112
112
|
|
113
113
|
Decidim::Attachment.create!(
|
114
|
-
title: Decidim::Faker::Localized.sentence(2),
|
115
|
-
description: Decidim::Faker::Localized.sentence(5),
|
114
|
+
title: Decidim::Faker::Localized.sentence(word_count: 2),
|
115
|
+
description: Decidim::Faker::Localized.sentence(word_count: 5),
|
116
116
|
attachment_collection: attachment_collection,
|
117
117
|
attached_to: conference,
|
118
118
|
file: File.new(File.join(seeds_root, "Exampledocument.pdf")) # Keep after attached_to
|
119
119
|
)
|
120
120
|
|
121
121
|
Decidim::Attachment.create!(
|
122
|
-
title: Decidim::Faker::Localized.sentence(2),
|
123
|
-
description: Decidim::Faker::Localized.sentence(5),
|
122
|
+
title: Decidim::Faker::Localized.sentence(word_count: 2),
|
123
|
+
description: Decidim::Faker::Localized.sentence(word_count: 5),
|
124
124
|
attached_to: conference,
|
125
125
|
file: File.new(File.join(seeds_root, "city.jpeg")) # Keep after attached_to
|
126
126
|
)
|
127
127
|
|
128
128
|
Decidim::Attachment.create!(
|
129
|
-
title: Decidim::Faker::Localized.sentence(2),
|
130
|
-
description: Decidim::Faker::Localized.sentence(5),
|
129
|
+
title: Decidim::Faker::Localized.sentence(word_count: 2),
|
130
|
+
description: Decidim::Faker::Localized.sentence(word_count: 5),
|
131
131
|
attached_to: conference,
|
132
132
|
file: File.new(File.join(seeds_root, "Exampledocument.pdf")) # Keep after attached_to
|
133
133
|
)
|
134
134
|
|
135
135
|
2.times do
|
136
136
|
Decidim::Category.create!(
|
137
|
-
name: Decidim::Faker::Localized.sentence(5),
|
137
|
+
name: Decidim::Faker::Localized.sentence(word_count: 5),
|
138
138
|
description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
|
139
|
-
Decidim::Faker::Localized.paragraph(3)
|
139
|
+
Decidim::Faker::Localized.paragraph(sentence_count: 3)
|
140
140
|
end,
|
141
141
|
participatory_space: conference
|
142
142
|
)
|
@@ -147,9 +147,9 @@ Decidim.register_participatory_space(:conferences) do |participatory_space|
|
|
147
147
|
user: conference.organization.users.sample,
|
148
148
|
full_name: Faker::Name.name,
|
149
149
|
position: Decidim::Faker::Localized.word,
|
150
|
-
affiliation: Decidim::Faker::Localized.paragraph(3),
|
150
|
+
affiliation: Decidim::Faker::Localized.paragraph(sentence_count: 3),
|
151
151
|
short_bio: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
|
152
|
-
Decidim::Faker::Localized.paragraph(3)
|
152
|
+
Decidim::Faker::Localized.paragraph(sentence_count: 3)
|
153
153
|
end,
|
154
154
|
twitter_handle: Faker::Twitter.unique.screen_name,
|
155
155
|
personal_url: Faker::Internet.url,
|
@@ -161,7 +161,7 @@ Decidim.register_participatory_space(:conferences) do |participatory_space|
|
|
161
161
|
4.times do
|
162
162
|
Decidim::Conferences::Partner.create!(
|
163
163
|
name: Faker::Name.name,
|
164
|
-
weight: Faker::Number.between(1, 10),
|
164
|
+
weight: Faker::Number.between(from: 1, to: 10),
|
165
165
|
link: Faker::Internet.url,
|
166
166
|
partner_type: type,
|
167
167
|
conference: conference,
|
@@ -172,20 +172,20 @@ Decidim.register_participatory_space(:conferences) do |participatory_space|
|
|
172
172
|
|
173
173
|
5.times do
|
174
174
|
Decidim::Conferences::MediaLink.create!(
|
175
|
-
title: Decidim::Faker::Localized.sentence(2),
|
175
|
+
title: Decidim::Faker::Localized.sentence(word_count: 2),
|
176
176
|
link: Faker::Internet.url,
|
177
177
|
date: Date.current,
|
178
|
-
weight: Faker::Number.between(1, 10),
|
178
|
+
weight: Faker::Number.between(from: 1, to: 10),
|
179
179
|
conference: conference
|
180
180
|
)
|
181
181
|
end
|
182
182
|
|
183
183
|
5.times do
|
184
184
|
Decidim::Conferences::RegistrationType.create!(
|
185
|
-
title: Decidim::Faker::Localized.sentence(2),
|
186
|
-
description: Decidim::Faker::Localized.sentence(5),
|
187
|
-
weight: Faker::Number.between(1, 10),
|
188
|
-
price: Faker::Number.between(1, 300),
|
185
|
+
title: Decidim::Faker::Localized.sentence(word_count: 2),
|
186
|
+
description: Decidim::Faker::Localized.sentence(word_count: 5),
|
187
|
+
weight: Faker::Number.between(from: 1, to: 10),
|
188
|
+
price: Faker::Number.between(from: 1, to: 300),
|
189
189
|
published_at: 2.weeks.ago,
|
190
190
|
conference: conference
|
191
191
|
)
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Conferences
|
5
|
+
# This module's job is to extend the API with custom fields related to
|
6
|
+
# decidim-assemblies.
|
7
|
+
module QueryExtensions
|
8
|
+
# Public: Extends a type with `decidim-assemblies`'s fields.
|
9
|
+
#
|
10
|
+
# type - A GraphQL::BaseType to extend.
|
11
|
+
#
|
12
|
+
# Returns nothing.
|
13
|
+
def self.included(type)
|
14
|
+
type.field :conferences,
|
15
|
+
[Decidim::Conferences::ConferenceType],
|
16
|
+
null: true,
|
17
|
+
description: "Lists all conferences" do
|
18
|
+
argument :filter, Decidim::ParticipatoryProcesses::ParticipatoryProcessInputFilter, "This argument lets you filter the results", required: false
|
19
|
+
argument :order, Decidim::ParticipatoryProcesses::ParticipatoryProcessInputSort, "This argument lets you order the results", required: false
|
20
|
+
end
|
21
|
+
|
22
|
+
type.field :conference,
|
23
|
+
Decidim::Conferences::ConferenceType,
|
24
|
+
null: true,
|
25
|
+
description: "Finds a conference" do
|
26
|
+
argument :id, GraphQL::Types::ID, "The ID of the participatory space", required: false
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def conferences(filter: {}, order: {})
|
31
|
+
manifest = Decidim.participatory_space_manifests.select { |m| m.name == :conferences }.first
|
32
|
+
|
33
|
+
Decidim::Core::ParticipatorySpaceListBase.new(manifest: manifest).call(object, { filter: filter, order: order }, context)
|
34
|
+
end
|
35
|
+
|
36
|
+
def conference(id: nil)
|
37
|
+
manifest = Decidim.participatory_space_manifests.select { |m| m.name == :conferences }.first
|
38
|
+
|
39
|
+
Decidim::Core::ParticipatorySpaceFinderBase.new(manifest: manifest).call(object, { id: id }, context)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -5,7 +5,7 @@ require "decidim/dev"
|
|
5
5
|
|
6
6
|
FactoryBot.define do
|
7
7
|
sequence(:conference_slug) do |n|
|
8
|
-
"#{Faker::Internet.slug(nil, "-")}-#{n}"
|
8
|
+
"#{Decidim::Faker::Internet.slug(words: nil, glue: "-")}-#{n}"
|
9
9
|
end
|
10
10
|
|
11
11
|
factory :conference, class: "Decidim::Conference" do
|
@@ -19,7 +19,7 @@ FactoryBot.define do
|
|
19
19
|
hero_image { Decidim::Dev.test_file("city.jpeg", "image/jpeg") } # Keep after organization
|
20
20
|
banner_image { Decidim::Dev.test_file("city2.jpeg", "image/jpeg") } # Keep after organization
|
21
21
|
published_at { Time.current }
|
22
|
-
location { Faker::Lorem.sentence(3) }
|
22
|
+
location { Faker::Lorem.sentence(word_count: 3) }
|
23
23
|
show_statistics { true }
|
24
24
|
start_date { 1.month.ago }
|
25
25
|
end_date { 1.month.ago + 3.days }
|
@@ -133,8 +133,8 @@ FactoryBot.define do
|
|
133
133
|
title { generate_localized_title }
|
134
134
|
description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
|
135
135
|
published_at { Time.current }
|
136
|
-
price { Faker::Number.between(1, 300) }
|
137
|
-
weight { Faker::Number.between(1, 10) }
|
136
|
+
price { Faker::Number.between(from: 1, to: 300) }
|
137
|
+
weight { Faker::Number.between(from: 1, to: 10) }
|
138
138
|
|
139
139
|
trait :unpublished do
|
140
140
|
published_at { nil }
|
@@ -181,7 +181,7 @@ FactoryBot.define do
|
|
181
181
|
conference
|
182
182
|
|
183
183
|
name { Faker::Name.name }
|
184
|
-
weight { Faker::Number.between(1, 10) }
|
184
|
+
weight { Faker::Number.between(from: 1, to: 10) }
|
185
185
|
link { Faker::Internet.url }
|
186
186
|
partner_type { "main_promotor" }
|
187
187
|
logo { Decidim::Dev.test_file("avatar.jpg", "image/jpeg") }
|
@@ -198,7 +198,7 @@ FactoryBot.define do
|
|
198
198
|
factory :media_link, class: "Decidim::Conferences::MediaLink" do
|
199
199
|
conference
|
200
200
|
title { generate_localized_title }
|
201
|
-
weight { Faker::Number.between(1, 10) }
|
201
|
+
weight { Faker::Number.between(from: 1, to: 10) }
|
202
202
|
link { Faker::Internet.url }
|
203
203
|
date { 1.month.ago }
|
204
204
|
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.
|
4
|
+
version: 0.24.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Isaac Massot Gil
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-04-08 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.
|
19
|
+
version: 0.24.1
|
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.
|
26
|
+
version: 0.24.1
|
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.
|
33
|
+
version: 0.24.1
|
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.
|
40
|
+
version: 0.24.1
|
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.
|
75
|
+
version: 0.24.1
|
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.
|
82
|
+
version: 0.24.1
|
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.
|
89
|
+
version: 0.24.1
|
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.
|
96
|
+
version: 0.24.1
|
97
97
|
description: Conferences component for decidim.
|
98
98
|
email:
|
99
99
|
- isaac.mg@coditramuntana.com
|
@@ -186,7 +186,9 @@ files:
|
|
186
186
|
- app/controllers/decidim/conferences/admin/conferences_controller.rb
|
187
187
|
- app/controllers/decidim/conferences/admin/diplomas_controller.rb
|
188
188
|
- app/controllers/decidim/conferences/admin/exports_controller.rb
|
189
|
+
- app/controllers/decidim/conferences/admin/imports_controller.rb
|
189
190
|
- app/controllers/decidim/conferences/admin/media_links_controller.rb
|
191
|
+
- app/controllers/decidim/conferences/admin/moderations/reports_controller.rb
|
190
192
|
- app/controllers/decidim/conferences/admin/moderations_controller.rb
|
191
193
|
- app/controllers/decidim/conferences/admin/partners_controller.rb
|
192
194
|
- app/controllers/decidim/conferences/admin/registration_type_publications_controller.rb
|
@@ -268,10 +270,6 @@ files:
|
|
268
270
|
- app/serializers/decidim/conferences/conference_registration_serializer.rb
|
269
271
|
- app/serializers/decidim/conferences/data_portability_conference_invite_serializer.rb
|
270
272
|
- app/serializers/decidim/conferences/data_portability_conference_registration_serializer.rb
|
271
|
-
- app/types/decidim/conferences/conference_media_link_type.rb
|
272
|
-
- app/types/decidim/conferences/conference_partner_type.rb
|
273
|
-
- app/types/decidim/conferences/conference_speaker_type.rb
|
274
|
-
- app/types/decidim/conferences/conference_type.rb
|
275
273
|
- app/uploaders/decidim/conferences/diploma_uploader.rb
|
276
274
|
- app/uploaders/decidim/conferences/partner_logo_uploader.rb
|
277
275
|
- app/views/decidim/conference_speakers/_conference_speaker.html.erb
|
@@ -420,16 +418,23 @@ files:
|
|
420
418
|
- db/migrate/20200320105913_index_foreign_keys_in_decidim_conferences.rb
|
421
419
|
- db/migrate/20200320105914_index_foreign_keys_in_decidim_conferences_conference_invites.rb
|
422
420
|
- db/migrate/20200320105915_index_foreign_keys_in_decidim_conferences_conference_registrations.rb
|
421
|
+
- db/migrate/20210310134942_add_followable_counter_cache_to_conferences.rb
|
423
422
|
- db/seeds/Exampledocument.pdf
|
424
423
|
- db/seeds/city.jpeg
|
425
424
|
- db/seeds/city2.jpeg
|
426
425
|
- db/seeds/homepage_image.jpg
|
427
426
|
- db/seeds/logo.png
|
427
|
+
- lib/decidim/api/conference_media_link_type.rb
|
428
|
+
- lib/decidim/api/conference_partner_type.rb
|
429
|
+
- lib/decidim/api/conference_speaker_type.rb
|
430
|
+
- lib/decidim/api/conference_type.rb
|
428
431
|
- lib/decidim/conferences.rb
|
429
432
|
- lib/decidim/conferences/admin.rb
|
430
433
|
- lib/decidim/conferences/admin_engine.rb
|
434
|
+
- lib/decidim/conferences/api.rb
|
431
435
|
- lib/decidim/conferences/engine.rb
|
432
436
|
- lib/decidim/conferences/participatory_space.rb
|
437
|
+
- lib/decidim/conferences/query_extensions.rb
|
433
438
|
- lib/decidim/conferences/test/factories.rb
|
434
439
|
- lib/decidim/conferences/version.rb
|
435
440
|
homepage: https://github.com/decidim/decidim
|
@@ -444,14 +449,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
444
449
|
requirements:
|
445
450
|
- - ">="
|
446
451
|
- !ruby/object:Gem::Version
|
447
|
-
version: '2.
|
452
|
+
version: '2.7'
|
448
453
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
449
454
|
requirements:
|
450
455
|
- - ">="
|
451
456
|
- !ruby/object:Gem::Version
|
452
457
|
version: '0'
|
453
458
|
requirements: []
|
454
|
-
rubygems_version: 3.
|
459
|
+
rubygems_version: 3.1.2
|
455
460
|
signing_key:
|
456
461
|
specification_version: 4
|
457
462
|
summary: Decidim conferences module
|