decidim-meetings 0.13.1 → 0.14.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/admin/decidim_meetings_manifest.js +1 -0
  3. data/app/assets/javascripts/decidim/meetings/admin/registrations_invite_form.es6 +25 -0
  4. data/app/cells/decidim/meetings/join_meeting_button/show.erb +2 -0
  5. data/app/cells/decidim/meetings/meeting_cell.rb +1 -1
  6. data/app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb +57 -8
  7. data/app/commands/decidim/meetings/admin/validate_registration_code.rb +51 -0
  8. data/app/commands/decidim/meetings/decline_invitation.rb +45 -0
  9. data/app/commands/decidim/meetings/join_meeting.rb +8 -3
  10. data/app/controllers/decidim/meetings/admin/attachment_collections_controller.rb +0 -4
  11. data/app/controllers/decidim/meetings/admin/attachments_controller.rb +0 -4
  12. data/app/controllers/decidim/meetings/admin/invites_controller.rb +14 -5
  13. data/app/controllers/decidim/meetings/admin/registrations_controller.rb +20 -0
  14. data/app/controllers/decidim/meetings/registrations_controller.rb +16 -0
  15. data/app/events/decidim/meetings/registration_code_validated_event.rb +15 -0
  16. data/app/forms/decidim/meetings/admin/close_meeting_form.rb +1 -1
  17. data/app/forms/decidim/meetings/admin/meeting_registration_invite_form.rb +9 -2
  18. data/app/forms/decidim/meetings/admin/validate_registration_code_form.rb +33 -0
  19. data/app/mailers/decidim/meetings/registration_mailer.rb +2 -1
  20. data/app/models/decidim/meetings/invite.rb +38 -0
  21. data/app/models/decidim/meetings/meeting.rb +6 -0
  22. data/app/models/decidim/meetings/registration.rb +18 -0
  23. data/app/permissions/decidim/meetings/admin/permissions.rb +2 -2
  24. data/app/permissions/decidim/meetings/permissions.rb +8 -1
  25. data/app/presenters/decidim/meetings/admin_log/invite_presenter.rb +35 -0
  26. data/app/presenters/decidim/meetings/invite_presenter.rb +26 -0
  27. data/app/queries/decidim/meetings/admin/invites.rb +59 -0
  28. data/app/serializers/decidim/meetings/data_portability_invite_serializer.rb +35 -0
  29. data/app/serializers/decidim/meetings/data_portability_registration_serializer.rb +1 -0
  30. data/app/serializers/decidim/meetings/registration_serializer.rb +1 -0
  31. data/app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb +1 -0
  32. data/app/views/decidim/meetings/admin/invites/_form.html.erb +34 -5
  33. data/app/views/decidim/meetings/admin/invites/index.html.erb +99 -0
  34. data/app/views/decidim/meetings/admin/meeting_copies/new.html.erb +1 -1
  35. data/app/views/decidim/meetings/admin/meetings/_form.html.erb +2 -3
  36. data/app/views/decidim/meetings/admin/meetings/index.html.erb +2 -0
  37. data/app/views/decidim/meetings/admin/registrations/_form.html.erb +1 -1
  38. data/app/views/decidim/meetings/admin/registrations/edit.html.erb +24 -0
  39. data/app/views/decidim/meetings/meetings/_meetings.html.erb +1 -1
  40. data/app/views/decidim/meetings/meetings/index.js.erb +0 -1
  41. data/app/views/decidim/meetings/meetings/show.html.erb +9 -0
  42. data/app/views/decidim/meetings/registration_mailer/confirmation.html.erb +2 -0
  43. data/app/views/decidim/participatory_spaces/_meeting.html.erb +1 -1
  44. data/app/views/devise/mailer/join_meeting.html.erb +1 -0
  45. data/app/views/devise/mailer/join_meeting.text.erb +4 -0
  46. data/config/locales/ca.yml +53 -5
  47. data/config/locales/en.yml +53 -5
  48. data/config/locales/es-PY.yml +52 -4
  49. data/config/locales/es.yml +53 -5
  50. data/config/locales/eu.yml +52 -4
  51. data/config/locales/fi.yml +164 -116
  52. data/config/locales/fr.yml +53 -5
  53. data/config/locales/gl.yml +52 -4
  54. data/config/locales/hu.yml +391 -0
  55. data/config/locales/it.yml +52 -4
  56. data/config/locales/nl.yml +52 -4
  57. data/config/locales/pl.yml +52 -4
  58. data/config/locales/pt-BR.yml +56 -8
  59. data/config/locales/pt.yml +52 -4
  60. data/config/locales/ru.yml +57 -9
  61. data/config/locales/sv.yml +135 -87
  62. data/config/locales/uk.yml +56 -8
  63. data/db/migrate/20180607142020_create_decidim_meetings_invites.rb +15 -0
  64. data/db/migrate/20180615160839_add_code_to_decidim_meetings_registrations.rb +7 -0
  65. data/db/migrate/20180711111023_add_validated_at_to_decidim_meetings_registrations.rb +7 -0
  66. data/lib/decidim/meetings.rb +1 -0
  67. data/lib/decidim/meetings/admin_engine.rb +3 -1
  68. data/lib/decidim/meetings/component.rb +2 -0
  69. data/lib/decidim/meetings/engine.rb +1 -0
  70. data/lib/decidim/meetings/registrations.rb +14 -0
  71. data/lib/decidim/meetings/registrations/code_generator.rb +39 -0
  72. data/lib/decidim/meetings/test/factories.rb +20 -4
  73. data/lib/decidim/meetings/version.rb +1 -1
  74. metadata +30 -14
  75. data/app/views/decidim/meetings/admin/invites/new.html.erb +0 -21
@@ -14,7 +14,7 @@ uk:
14
14
  meeting:
15
15
  address: Адреса
16
16
  available_slots: Наявні місця на цю зустріч
17
- decidim_category_id: Розряд
17
+ decidim_category_id: Категорія
18
18
  decidim_scope_id: Обсяг
19
19
  description: Опис
20
20
  end_time: Час завершення
@@ -38,6 +38,10 @@ uk:
38
38
  base:
39
39
  too_many_minutes: Тривалість усіх питань перевищує тривалість зустрічі на %{count} хвилин
40
40
  too_many_minutes_child: Тривалість вкладених питань перевищує тривалість загального питання порядку денного "%{parent_title}" на %{count} хвилин
41
+ meeting_registration_invite:
42
+ attributes:
43
+ email:
44
+ already_invited: Учасника з такою адресою вже запрошено
41
45
  models:
42
46
  decidim/meetings/close_meeting_event: Зустріч закрито
43
47
  decidim/meetings/create_meeting_event: Зустріч
@@ -82,6 +86,7 @@ uk:
82
86
  announcement: Оголошення
83
87
  comments_enabled: Коментарі увімкнено
84
88
  default_registration_terms: Умови реєстрації за умовчанням
89
+ resources_permissions_enabled: Права на дії можна встановити для кожної зустрічі
85
90
  step:
86
91
  announcement: Оголошення
87
92
  comments_blocked: Коментарі вимкнено
@@ -107,6 +112,11 @@ uk:
107
112
  email_outro: Ви отримали це сповіщення, оскільки ви стежите за зустріччю "%{resource_title}". Ви можете припинити стежити за нею, перейшовши за наведеним вище посиланням.
108
113
  email_subject: Зустріч "%{resource_title}" було оновлено
109
114
  notification_title: Зустріч <a href="%{resource_path}">%{resource_title}</a> було оновлено.
115
+ registration_code_validated:
116
+ email_intro: Ваш реєстраційний код "%{registration_code}" підтверджено.
117
+ email_outro: Ви отримали це повідомлення, оскільки ваш реєстраційний код для зустрічі "%{resource_title}" підтверджено.
118
+ email_subject: Ваш реєстраційний код "%{registration_code}" підтверджено
119
+ notification_title: Ваш реєстраційний код "%{registration_code}" для зустрічі <a href="%{resource_path}">%{resource_title}</a> підтверджено.
110
120
  registrations_enabled:
111
121
  email_intro: 'Розпочалася реєстрація на зустріч "%{resource_title}". Ви можете зареєструватися на сторінці:'
112
122
  email_outro: Ви отримали це сповіщення, оскільки ви стежите за зустріччю "%{resource_title}". Ви можете припинити стежити за нею, перейшовши за наведеним вище посиланням.
@@ -166,16 +176,31 @@ uk:
166
176
  registrations: Реєстрації
167
177
  invite_join_meeting_mailer:
168
178
  invite:
179
+ decline: Відхилити запрошення
169
180
  invited_you_to_join_a_meeting: "%{invited_by} запросив вас долучитись до зустрічі %{application}. Ви можете прийняти це запрошення за посиланням нижче."
170
181
  join: Долучитись до зустрічі '%{meeting_title}'
171
182
  invites:
172
183
  create:
173
184
  error: При спробі запросити учасника на зустріч сталася помилка.
174
185
  success: Учасника успішно запрошено на зустріч.
175
- new:
176
- explanation: Учасника буде запрошено на зустріч. Якщо його адресу електронної пошти не зареєстровано, його буде також запрошено до організації.
186
+ form:
187
+ attendee_type: Різновид учасника
188
+ existing_user: Чинний учасник
177
189
  invite: Запросити
178
- new_invite: Запросити учасника
190
+ invite_explanation: Учаснику буде запропоновано приєднатися до зустрічі та до організації.
191
+ non_user: Не чинний учасник
192
+ select_user: Оберіть учасника
193
+ index:
194
+ filter:
195
+ accepted: Прийняті
196
+ all: Усі
197
+ rejected: Відхилені
198
+ sent: Надіслані
199
+ filter_by: 'Відібрати за ознакою:'
200
+ invite_attendee: Запросити учасника
201
+ invites: Запрошення
202
+ registrations_disabled: Ви не можете запросити учасника, оскільки реєстрація відключена.
203
+ search: Шукати
179
204
  meeting_closes:
180
205
  edit:
181
206
  close: Закрити
@@ -232,9 +257,11 @@ uk:
232
257
  registrations:
233
258
  edit:
234
259
  save: Зберегти
260
+ validate: Підтвердити
261
+ validate_registration_code: Підтвердити реєстраційний код
235
262
  form:
236
263
  available_slots_help: Залиште це число нульовим, якщо у вас не обмежена кількість місць.
237
- invite_user: Запросити учасника
264
+ invites: Запрошення
238
265
  registrations_count:
239
266
  one: Зареєструвалась 1 людина.
240
267
  few: Зареєструвалось %{count} людей.
@@ -245,7 +272,14 @@ uk:
245
272
  update:
246
273
  invalid: При спробі зберегти налаштування реєстрації сталася помилка.
247
274
  success: Налаштування реєстрації на зустріч успішно збережено.
275
+ validate_registration_code:
276
+ invalid: Цей реєстраційний код неналежний.
277
+ success: Реєстраційний код успішно підтверджено.
248
278
  admin_log:
279
+ invite:
280
+ create: "%{user_name} запросив %{attendee_name} приєднатися до зустрічі %{resource_name} у просторі %{space_name}"
281
+ deleted: "%{user_name} скасував запрошення %{attendee_name} приєднатися до зустрічі %{resource_name} у просторі %{space_name}"
282
+ update: "%{user_name} запросив %{attendee_name} приєднатися до зустрічі %{resource_name} у просторі %{space_name}"
249
283
  meeting:
250
284
  close: "%{user_name} закрив зустріч %{resource_name} у просторі %{space_name}"
251
285
  create: "%{user_name} додав зустріч %{resource_name} у просторі %{space_name}"
@@ -269,8 +303,8 @@ uk:
269
303
  not_allowed: У вас нема прав на перегляд цієї зустрічі
270
304
  meetings:
271
305
  filters:
272
- category: Розряд
273
- category_prompt: Оберіть розряд
306
+ category: Категорія
307
+ category_prompt: Оберіть категорію
274
308
  date: Дата
275
309
  past: Минулі
276
310
  search: Шукати
@@ -294,7 +328,7 @@ uk:
294
328
  show:
295
329
  attendees: Кількість учасників
296
330
  contributions: Кількість внесених пропозицій
297
- going: Збирається відвідати
331
+ going: Збираєтесь відвідати
298
332
  join: Долучитись до зустрічі
299
333
  meeting_report: Звіт про зустріч
300
334
  no_slots_available: Не залишилось місць
@@ -306,6 +340,16 @@ uk:
306
340
  other: "Залишилось %{count} місць"
307
341
  view: Переглянути
308
342
  models:
343
+ invite:
344
+ fields:
345
+ email: Адреса електронної пошти
346
+ name: Ім'я
347
+ sent_at: 'Надіслане:'
348
+ status: Стан
349
+ status:
350
+ accepted: Прийняте (%{at})
351
+ rejected: Відхилене (%{at})
352
+ sent: Надіслано
309
353
  meeting:
310
354
  fields:
311
355
  closed: Завершено
@@ -318,10 +362,14 @@ uk:
318
362
  confirmation:
319
363
  confirmed_html: Вашу реєстрацію на зустріч <a href="%{url}">%{title}</a> підтверджено.
320
364
  details: Детальні відомості про зустріч читайте у вкладенні.
365
+ registration_code: Ваш реєстраційний код - %{code}.
321
366
  registrations:
322
367
  create:
323
368
  invalid: При спробі долучитися до цієї зустрічі сталася помилка.
324
369
  success: Ви успішно долучилися до цієї зустрічі.
370
+ decline_invitation:
371
+ invalid: При спробі відхилити це запрошення сталася помилка.
372
+ success: Запрошення успішно відхилено.
325
373
  destroy:
326
374
  invalid: При спробі скасувати реєстрацію на цю зустріч сталася помилка.
327
375
  success: Ви успішно скасували реєстрацію на зустріч.
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDecidimMeetingsInvites < ActiveRecord::Migration[5.2]
4
+ def change
5
+ create_table :decidim_meetings_invites do |t|
6
+ t.references :decidim_user, null: false, index: true
7
+ t.references :decidim_meeting, null: false, index: true
8
+ t.datetime :sent_at
9
+ t.datetime :accepted_at
10
+ t.datetime :rejected_at
11
+
12
+ t.timestamps
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddCodeToDecidimMeetingsRegistrations < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_meetings_registrations, :code, :string, index: true
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddValidatedAtToDecidimMeetingsRegistrations < ActiveRecord::Migration[5.2]
4
+ def change
5
+ add_column :decidim_meetings_registrations, :validated_at, :datetime
6
+ end
7
+ end
@@ -9,5 +9,6 @@ module Decidim
9
9
  # Base module for this engine.
10
10
  module Meetings
11
11
  autoload :ViewModel, "decidim/meetings/view_model"
12
+ autoload :Registrations, "decidim/meetings/registrations"
12
13
  end
13
14
  end
@@ -9,14 +9,16 @@ module Decidim
9
9
  isolate_namespace Decidim::Meetings::Admin
10
10
 
11
11
  paths["db/migrate"] = nil
12
+ paths["lib/tasks"] = nil
12
13
 
13
14
  routes do
14
15
  resources :meetings do
15
16
  resources :meeting_closes, only: [:edit, :update]
16
17
  resource :registrations, only: [:edit, :update] do
17
- resource :invites, only: [:new, :create]
18
+ resources :invites, only: [:index, :create]
18
19
  collection do
19
20
  get :export
21
+ post :validate_registration_code
20
22
  end
21
23
  end
22
24
  resources :agenda, except: [:index, :destroy]
@@ -19,6 +19,7 @@ Decidim.register_component(:meetings) do |component|
19
19
  resource.model_class_name = "Decidim::Meetings::Meeting"
20
20
  resource.template = "decidim/meetings/meetings/linked_meetings"
21
21
  resource.card = "decidim/meetings/meeting"
22
+ resource.actions = %w(join)
22
23
  end
23
24
 
24
25
  component.register_stat :meetings_count, primary: true, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY do |components, start_at, end_at|
@@ -34,6 +35,7 @@ Decidim.register_component(:meetings) do |component|
34
35
  settings.attribute :announcement, type: :text, translated: true, editor: true
35
36
  settings.attribute :default_registration_terms, type: :text, translated: true, editor: true
36
37
  settings.attribute :comments_enabled, type: :boolean, default: true
38
+ settings.attribute :resources_permissions_enabled, type: :boolean, default: true
37
39
  end
38
40
 
39
41
  component.settings(:step) do |settings|
@@ -21,6 +21,7 @@ module Decidim
21
21
  resource :registration, only: [:create, :destroy] do
22
22
  collection do
23
23
  get :create
24
+ get :decline_invitation
24
25
  end
25
26
  end
26
27
  resource :meeting_widget, only: :show, path: "embed"
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "decidim/meetings/registrations/code_generator"
4
+
5
+ module Decidim
6
+ module Meetings
7
+ module Registrations
8
+ # Public: Stores an instance of Registrations::CodeGenerator
9
+ def self.code_generator
10
+ @code_generator ||= Decidim::Meetings::Registrations::CodeGenerator.new
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "securerandom"
4
+
5
+ module Decidim
6
+ module Meetings
7
+ module Registrations
8
+ # This class handles the generation of meeting registration codes
9
+ class CodeGenerator
10
+ # excluded digits: 0, 1, excluded letters: O, I
11
+ ALPHABET = [*"A".."Z", *"2".."9"] - %w(O I)
12
+ LENGTH = 8
13
+
14
+ def initialize(options = {})
15
+ @length = options[:length] || LENGTH
16
+ end
17
+
18
+ def generate(registration)
19
+ loop do
20
+ registration_code = choose(@length)
21
+
22
+ # Use the random number if no other registration exists with it.
23
+ break registration_code unless registration.class.exists?(meeting: registration.meeting, code: registration_code)
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ def choose(length)
30
+ limit = ALPHABET.size
31
+
32
+ (1..length).map do
33
+ ALPHABET[SecureRandom.random_number(limit)]
34
+ end.join
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -6,7 +6,7 @@ require "decidim/participatory_processes/test/factories"
6
6
  FactoryBot.define do
7
7
  factory :meeting_component, parent: :component do
8
8
  name { Decidim::Components::Namer.new(participatory_space.organization.available_locales, :meetings).i18n_name }
9
- manifest_name :meetings
9
+ manifest_name { :meetings }
10
10
  participatory_space { create(:participatory_process, :with_steps, organization: organization) }
11
11
  end
12
12
 
@@ -20,8 +20,8 @@ FactoryBot.define do
20
20
  longitude { Faker::Address.longitude }
21
21
  start_time { 1.day.from_now }
22
22
  end_time { start_time.advance(hours: 2) }
23
- private_meeting false
24
- transparent true
23
+ private_meeting { false }
24
+ transparent { true }
25
25
  services do
26
26
  [
27
27
  { title: Decidim::Faker::Localized.sentence(2), description: Decidim::Faker::Localized.sentence(5) },
@@ -98,7 +98,23 @@ FactoryBot.define do
98
98
  description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { Decidim::Faker::Localized.sentence(4) } }
99
99
  video_url { Faker::Internet.url }
100
100
  audio_url { Faker::Internet.url }
101
- visible true
101
+ visible { true }
102
102
  meeting
103
103
  end
104
+
105
+ factory :invite, class: "Decidim::Meetings::Invite" do
106
+ meeting
107
+ user
108
+ sent_at { Time.current - 1.day }
109
+ accepted_at { nil }
110
+ rejected_at { nil }
111
+
112
+ trait :accepted do
113
+ accepted_at { Time.current }
114
+ end
115
+
116
+ trait :rejected do
117
+ rejected_at { Time.current }
118
+ end
119
+ end
104
120
  end
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-meetings version.
5
5
  module Meetings
6
6
  def self.version
7
- "0.13.1"
7
+ "0.14.1"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-meetings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.1
4
+ version: 0.14.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-07-24 00:00:00.000000000 Z
13
+ date: 2018-09-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: cells-erb
@@ -46,14 +46,14 @@ dependencies:
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 0.13.1
49
+ version: 0.14.1
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 0.13.1
56
+ version: 0.14.1
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: httparty
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -130,56 +130,56 @@ dependencies:
130
130
  requirements:
131
131
  - - '='
132
132
  - !ruby/object:Gem::Version
133
- version: 0.13.1
133
+ version: 0.14.1
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - '='
139
139
  - !ruby/object:Gem::Version
140
- version: 0.13.1
140
+ version: 0.14.1
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: decidim-assemblies
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
145
  - - '='
146
146
  - !ruby/object:Gem::Version
147
- version: 0.13.1
147
+ version: 0.14.1
148
148
  type: :development
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - '='
153
153
  - !ruby/object:Gem::Version
154
- version: 0.13.1
154
+ version: 0.14.1
155
155
  - !ruby/object:Gem::Dependency
156
156
  name: decidim-dev
157
157
  requirement: !ruby/object:Gem::Requirement
158
158
  requirements:
159
159
  - - '='
160
160
  - !ruby/object:Gem::Version
161
- version: 0.13.1
161
+ version: 0.14.1
162
162
  type: :development
163
163
  prerelease: false
164
164
  version_requirements: !ruby/object:Gem::Requirement
165
165
  requirements:
166
166
  - - '='
167
167
  - !ruby/object:Gem::Version
168
- version: 0.13.1
168
+ version: 0.14.1
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: decidim-participatory_processes
171
171
  requirement: !ruby/object:Gem::Requirement
172
172
  requirements:
173
173
  - - '='
174
174
  - !ruby/object:Gem::Version
175
- version: 0.13.1
175
+ version: 0.14.1
176
176
  type: :development
177
177
  prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
180
  - - '='
181
181
  - !ruby/object:Gem::Version
182
- version: 0.13.1
182
+ version: 0.14.1
183
183
  description: A meetings component for decidim's participatory spaces.
184
184
  email:
185
185
  - josepjaume@gmail.com
@@ -196,6 +196,7 @@ files:
196
196
  - app/assets/javascripts/decidim/meetings/admin/agendas.js.es6
197
197
  - app/assets/javascripts/decidim/meetings/admin/meetings_form.js.es6
198
198
  - app/assets/javascripts/decidim/meetings/admin/registrations_form.js.es6
199
+ - app/assets/javascripts/decidim/meetings/admin/registrations_invite_form.es6
199
200
  - app/cells/decidim/meetings/join_meeting_button/registration_confirm.erb
200
201
  - app/cells/decidim/meetings/join_meeting_button/show.erb
201
202
  - app/cells/decidim/meetings/join_meeting_button_cell.rb
@@ -222,6 +223,8 @@ files:
222
223
  - app/commands/decidim/meetings/admin/update_meeting.rb
223
224
  - app/commands/decidim/meetings/admin/update_minutes.rb
224
225
  - app/commands/decidim/meetings/admin/update_registrations.rb
226
+ - app/commands/decidim/meetings/admin/validate_registration_code.rb
227
+ - app/commands/decidim/meetings/decline_invitation.rb
225
228
  - app/commands/decidim/meetings/join_meeting.rb
226
229
  - app/commands/decidim/meetings/leave_meeting.rb
227
230
  - app/controllers/decidim/meetings/admin/agenda_controller.rb
@@ -242,6 +245,7 @@ files:
242
245
  - app/events/decidim/meetings/create_meeting_event.rb
243
246
  - app/events/decidim/meetings/meeting_registrations_enabled_event.rb
244
247
  - app/events/decidim/meetings/meeting_registrations_over_percentage_event.rb
248
+ - app/events/decidim/meetings/registration_code_validated_event.rb
245
249
  - app/events/decidim/meetings/upcoming_meeting_event.rb
246
250
  - app/events/decidim/meetings/update_meeting_event.rb
247
251
  - app/forms/decidim/meetings/admin/close_meeting_form.rb
@@ -253,6 +257,7 @@ files:
253
257
  - app/forms/decidim/meetings/admin/meeting_registrations_form.rb
254
258
  - app/forms/decidim/meetings/admin/meeting_service_form.rb
255
259
  - app/forms/decidim/meetings/admin/minutes_form.rb
260
+ - app/forms/decidim/meetings/admin/validate_registration_code_form.rb
256
261
  - app/helpers/decidim/meetings/admin/application_helper.rb
257
262
  - app/helpers/decidim/meetings/application_helper.rb
258
263
  - app/helpers/decidim/meetings/map_helper.rb
@@ -264,14 +269,19 @@ files:
264
269
  - app/models/decidim/meetings/agenda.rb
265
270
  - app/models/decidim/meetings/agenda_item.rb
266
271
  - app/models/decidim/meetings/application_record.rb
272
+ - app/models/decidim/meetings/invite.rb
267
273
  - app/models/decidim/meetings/meeting.rb
268
274
  - app/models/decidim/meetings/minutes.rb
269
275
  - app/models/decidim/meetings/registration.rb
270
276
  - app/permissions/decidim/meetings/admin/permissions.rb
271
277
  - app/permissions/decidim/meetings/permissions.rb
278
+ - app/presenters/decidim/meetings/admin_log/invite_presenter.rb
272
279
  - app/presenters/decidim/meetings/admin_log/meeting_presenter.rb
273
280
  - app/presenters/decidim/meetings/admin_log/minutes_presenter.rb
274
281
  - app/presenters/decidim/meetings/admin_log/value_types/organizer_presenter.rb
282
+ - app/presenters/decidim/meetings/invite_presenter.rb
283
+ - app/queries/decidim/meetings/admin/invites.rb
284
+ - app/serializers/decidim/meetings/data_portability_invite_serializer.rb
275
285
  - app/serializers/decidim/meetings/data_portability_registration_serializer.rb
276
286
  - app/serializers/decidim/meetings/registration_serializer.rb
277
287
  - app/services/decidim/meetings/meeting_search.rb
@@ -286,7 +296,7 @@ files:
286
296
  - app/views/decidim/meetings/admin/agenda/show.html.erb
287
297
  - app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb
288
298
  - app/views/decidim/meetings/admin/invites/_form.html.erb
289
- - app/views/decidim/meetings/admin/invites/new.html.erb
299
+ - app/views/decidim/meetings/admin/invites/index.html.erb
290
300
  - app/views/decidim/meetings/admin/meeting_closes/_form.html.erb
291
301
  - app/views/decidim/meetings/admin/meeting_closes/edit.html.erb
292
302
  - app/views/decidim/meetings/admin/meeting_copies/_form.html.erb
@@ -329,6 +339,7 @@ files:
329
339
  - config/locales/fi.yml
330
340
  - config/locales/fr.yml
331
341
  - config/locales/gl.yml
342
+ - config/locales/hu.yml
332
343
  - config/locales/it.yml
333
344
  - config/locales/nl.yml
334
345
  - config/locales/pl.yml
@@ -354,11 +365,16 @@ files:
354
365
  - db/migrate/20180407110934_add_services_to_meetings.rb
355
366
  - db/migrate/20180419131924_create_decidim_agendas.rb
356
367
  - db/migrate/20180419132104_create_decidim_agenda_items.rb
368
+ - db/migrate/20180607142020_create_decidim_meetings_invites.rb
369
+ - db/migrate/20180615160839_add_code_to_decidim_meetings_registrations.rb
370
+ - db/migrate/20180711111023_add_validated_at_to_decidim_meetings_registrations.rb
357
371
  - lib/decidim/meetings.rb
358
372
  - lib/decidim/meetings/admin.rb
359
373
  - lib/decidim/meetings/admin_engine.rb
360
374
  - lib/decidim/meetings/component.rb
361
375
  - lib/decidim/meetings/engine.rb
376
+ - lib/decidim/meetings/registrations.rb
377
+ - lib/decidim/meetings/registrations/code_generator.rb
362
378
  - lib/decidim/meetings/seeds/Exampledocument.pdf
363
379
  - lib/decidim/meetings/seeds/city.jpeg
364
380
  - lib/decidim/meetings/test/factories.rb
@@ -383,7 +399,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
383
399
  version: '0'
384
400
  requirements: []
385
401
  rubyforge_project:
386
- rubygems_version: 2.7.6
402
+ rubygems_version: 2.7.7
387
403
  signing_key:
388
404
  specification_version: 4
389
405
  summary: Decidim meetings module