decidim-core 0.6.8 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/decidim_core_manifest.js +1 -0
  3. data/app/assets/images/decidim/decidim-logo.svg +62 -0
  4. data/app/assets/images/decidim/icons.svg +238 -1
  5. data/app/assets/javascripts/decidim/foundation.js.es6 +1 -0
  6. data/app/assets/javascripts/decidim/slug_form.js.es6 +9 -0
  7. data/app/assets/stylesheets/decidim/modules/_footer.scss +7 -0
  8. data/app/commands/decidim/invite_user.rb +2 -2
  9. data/app/commands/decidim/update_account.rb +1 -1
  10. data/app/controllers/concerns/decidim/action_authorization.rb +2 -3
  11. data/app/controllers/concerns/decidim/needs_authorization.rb +1 -1
  12. data/app/controllers/decidim/account_controller.rb +0 -5
  13. data/app/controllers/decidim/application_controller.rb +0 -10
  14. data/app/controllers/decidim/authorizations_controller.rb +5 -15
  15. data/app/controllers/decidim/devise/invitations_controller.rb +2 -2
  16. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +1 -9
  17. data/app/controllers/decidim/devise/registrations_controller.rb +1 -1
  18. data/app/controllers/decidim/devise/sessions_controller.rb +0 -8
  19. data/app/controllers/decidim/locales_controller.rb +2 -2
  20. data/app/controllers/decidim/pages_controller.rb +1 -0
  21. data/app/controllers/decidim/scopes_controller.rb +1 -3
  22. data/app/forms/decidim/account_form.rb +2 -2
  23. data/app/forms/decidim/form.rb +1 -3
  24. data/app/forms/translatable_presence_validator.rb +1 -1
  25. data/app/helpers/decidim/cta_button_helper.rb +27 -0
  26. data/app/helpers/decidim/decidim_form_helper.rb +25 -0
  27. data/app/helpers/decidim/layout_helper.rb +1 -1
  28. data/app/helpers/decidim/map_helper.rb +1 -1
  29. data/app/helpers/decidim/meta_tags_helper.rb +1 -1
  30. data/app/helpers/decidim/omniauth_helper.rb +7 -0
  31. data/app/helpers/decidim/scopes_helper.rb +1 -1
  32. data/app/mailers/decidim/decidim_devise_mailer.rb +1 -0
  33. data/app/models/decidim/attachment.rb +1 -3
  34. data/app/models/decidim/authorization.rb +6 -6
  35. data/app/models/decidim/category.rb +1 -1
  36. data/app/models/decidim/feature.rb +1 -1
  37. data/app/models/decidim/scope.rb +2 -1
  38. data/app/models/decidim/user.rb +4 -4
  39. data/app/models/decidim/user_group.rb +1 -1
  40. data/app/services/decidim/action_authorizer.rb +8 -6
  41. data/app/services/decidim/authorization_handler.rb +7 -4
  42. data/app/services/decidim/static_map_generator.rb +1 -1
  43. data/app/views/decidim/account/_password_fields.html.erb +2 -2
  44. data/app/views/decidim/authorizations/first_login.html.erb +1 -1
  45. data/app/views/decidim/authorizations/new.html.erb +3 -1
  46. data/app/views/decidim/devise/shared/_omniauth_buttons.html.erb +1 -1
  47. data/app/views/decidim/devise/shared/_omniauth_buttons_mini.html.erb +1 -1
  48. data/app/views/decidim/newsletter_mailer/newsletter.html.erb +2 -2
  49. data/app/views/decidim/notifications/index.html.erb +13 -9
  50. data/app/views/decidim/shared/_address_details.html.erb +2 -2
  51. data/app/views/decidim/shared/_announcement.html.erb +1 -1
  52. data/app/views/decidim/shared/_follow_button.html.erb +19 -4
  53. data/app/views/devise/mailer/invite_admin.html.erb +1 -1
  54. data/app/views/devise/mailer/invite_admin.text.erb +1 -1
  55. data/app/views/devise/mailer/invite_collaborator.html.erb +1 -1
  56. data/app/views/devise/mailer/invite_collaborator.text.erb +1 -1
  57. data/app/views/layouts/decidim/_feature_authorization_modals.html.erb +5 -0
  58. data/app/views/layouts/decidim/_head.html.erb +1 -1
  59. data/app/views/layouts/decidim/_wrapper.html.erb +10 -1
  60. data/app/views/pages/decidim_page.html.erb +1 -1
  61. data/app/views/pages/home/_footer_sub_hero.html.erb +1 -1
  62. data/app/views/pages/home/_hero.html.erb +2 -2
  63. data/app/views/pages/home/_sub_hero.html.erb +1 -1
  64. data/config/initializers/devise.rb +3 -0
  65. data/config/locales/ca.yml +10 -7
  66. data/config/locales/en.yml +11 -8
  67. data/config/locales/es.yml +10 -7
  68. data/config/locales/eu.yml +26 -23
  69. data/config/locales/fi.yml +21 -18
  70. data/config/locales/fr.yml +20 -17
  71. data/config/locales/it.yml +11 -8
  72. data/config/locales/nl.yml +11 -8
  73. data/config/locales/pl.yml +11 -8
  74. data/config/locales/ru.yml +403 -0
  75. data/config/locales/uk.yml +50 -47
  76. data/db/migrate/20170215115407_add_organization_custom_reference.rb +6 -2
  77. data/db/migrate/20170313095436_add_available_authorizations_to_organization.rb +7 -3
  78. data/db/migrate/20171017084546_add_cta_button_url_and_text_to_organization.rb +8 -0
  79. data/db/seeds.rb +4 -3
  80. data/lib/decidim/authorization_form_builder.rb +1 -1
  81. data/lib/decidim/core.rb +11 -1
  82. data/lib/decidim/core/engine.rb +1 -2
  83. data/lib/decidim/core/test/factories.rb +2 -2
  84. data/lib/decidim/core/test/shared_examples/comments_examples.rb +3 -7
  85. data/lib/decidim/core/version.rb +5 -20
  86. data/lib/decidim/events/base_event.rb +1 -1
  87. data/lib/decidim/exporters.rb +3 -2
  88. data/lib/decidim/exporters/excel.rb +49 -0
  89. data/lib/decidim/exporters/export_data.rb +1 -1
  90. data/lib/decidim/exporters/exporter.rb +1 -1
  91. data/lib/decidim/faker/localized.rb +10 -1
  92. data/lib/decidim/feature_validator.rb +1 -1
  93. data/lib/decidim/form_builder.rb +16 -6
  94. data/lib/decidim/page_finder.rb +1 -1
  95. data/lib/decidim/participable.rb +9 -4
  96. data/lib/decidim/publicable.rb +2 -2
  97. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ru.js +14 -0
  98. metadata +36 -86
  99. data/app/assets/stylesheets/decidim/extras/_callout.scss +0 -5
  100. data/config/secrets.yml +0 -36
@@ -63,28 +63,28 @@ uk:
63
63
  fields:
64
64
  document_number: Номер документа
65
65
  postal_code: Поштовий індекс
66
- name: Приклад авторизації
66
+ name: Приклад підтвердження своєї особи
67
67
  errors:
68
- duplicate_authorization: Інший учасник вже авторизувався з такими ж даними.
68
+ duplicate_authorization: Інший учасник вже підтвердив свою особу з такими ж даними.
69
69
  foo_authorization:
70
70
  fields:
71
- bar: Статусний рядок
72
- foo: Foo
73
- name: Авторизація Foo
71
+ bar: Неробоча псевдо-змінна 1
72
+ foo: Неробоча псевдо-змінна 2
73
+ name: Неробоче псевдо-підтвердження своєї особи
74
74
  authorizations:
75
75
  create:
76
- error: При створенні авторизації сталася помилка.
77
- success: Ви успішно авторизовані.
78
- current_participatory_processes: поглянути на поточні рухи
76
+ error: При створенні підтвердження особи сталася помилка.
77
+ success: Ви успішно підтвердили свою особу.
79
78
  first_login:
80
79
  actions:
81
- decidim/dummy_authorization_handler: Перевірте, порівнявши з прикладом авторизації
80
+ decidim/dummy_authorization_handler: Перевірте, порівнявши з прикладом підтвердження своєї особи
82
81
  title: Підтвердьте свою особу
83
82
  verify_with_these_options: 'Наявні такі способи підтвердити вашу особу:'
84
83
  new:
85
84
  authorize: Надіслати
86
- authorize_with: Підтвердити за допомогою %{authorizer}
87
- skip_verification: Ви можете пропустити це зараз і %{link}
85
+ authorize_with: Підтвердити особу за допомогою %{authorizer}
86
+ skip_verification: Ви можете поки що пропустити це і %{link}
87
+ start_exploring: почати досліджувати
88
88
  core:
89
89
  actions:
90
90
  unauthorized: Ви не маєте прав на виконання цієї дії
@@ -96,7 +96,7 @@ uk:
96
96
  complete_profile: Заповнити профіль
97
97
  sign_up: Будь ласка, заповніть свій профіль
98
98
  subtitle: Щоб завершити реєстрацію, заповніть наступну форму
99
- username_help: Публічне ім'я, яке відображається у ваших публікаціях. З метою гарантування анонімності, може бути будь-яким.
99
+ username_help: Загальнодоступне ім'я, яке відображається у ваших публікаціях. З метою гарантування анонімності, може бути будь-яким.
100
100
  registrations:
101
101
  new:
102
102
  already_have_an_account?: Вже маєте обліковий запис?
@@ -110,7 +110,7 @@ uk:
110
110
  subtitle: Зареєструйтесь, щоб брати участь у обговореннях та підтримувати пропозиції.
111
111
  terms: умови використання
112
112
  tos_agreement: Реєструючись, ви приймаєте %{link}.
113
- username_help: Публічне ім'я, яке відображається у ваших публікаціях. З метою гарантування анонімності, може бути будь-яким.
113
+ username_help: Загальнодоступне ім'я, яке відображається у ваших публікаціях. З метою гарантування анонімності, може бути будь-яким.
114
114
  sessions:
115
115
  new:
116
116
  are_you_new?: Вперше на цій платформі?
@@ -120,7 +120,7 @@ uk:
120
120
  or: Або
121
121
  errors:
122
122
  internal_server_error:
123
- title: Сталася проблема з нашим сервером
123
+ title: Виникла проблема з нашим сервером
124
124
  try_later: Будь ласка, спробуйте ще раз пізніше.
125
125
  not_found:
126
126
  back_home: Повернутися на головну
@@ -141,8 +141,8 @@ uk:
141
141
  features:
142
142
  dummy:
143
143
  actions:
144
- bar: Статусний рядок
145
- foo: Foo
144
+ bar: Неробоча псевдо-змінна 1
145
+ foo: Неробоча псевдо-змінна 2
146
146
  name: Неробоча складова
147
147
  settings:
148
148
  global:
@@ -150,12 +150,13 @@ uk:
150
150
  dummy_global_attribute_1: Неробоча властивість 1
151
151
  dummy_global_attribute_2: Неробоча властивість 2
152
152
  step:
153
- comments_blocked: Коментарі заблоковано
153
+ comments_blocked: Коментарі вимкнено
154
154
  dummy_step_attribute_1: 1 властивість неробочого кроку
155
155
  dummy_step_attribute_2: 2 властивість неробочого кроку
156
156
  filters:
157
157
  linked_classes:
158
158
  all: Усі
159
+ dummyresource: Неробочі псевдо-ресурси
159
160
  meeting: Зустрічі
160
161
  project: Проекти
161
162
  proposal: Пропозиції
@@ -175,7 +176,7 @@ uk:
175
176
  error: У цьому полі є помилка.
176
177
  remove_this_file: Видалити цей файл
177
178
  managed_users:
178
- expired_session: Скінчився поточний сеанс уособлення.
179
+ expired_session: Скінчився поточний сеанс виступу в ролі учасника.
179
180
  menu:
180
181
  home: Головна
181
182
  more_information: Додаткові відомості
@@ -207,41 +208,43 @@ uk:
207
208
  report:
208
209
  hello: Доброго дня, %{name}%!
209
210
  manage_moderations: Керувати діями з модерації
210
- report_html: <p>Про наступний <a href="%{url}">вміст</a> було повідомлено адміністраторам.</p>
211
- subject: Про цей ресурс було повідомлено адміністраторам
211
+ report_html: <p>Про наступний <a href="%{url}">вміст</a> було передано скаргу адміністраторам.</p>
212
+ subject: Про цей ресурс було передано скаргу адміністраторам
212
213
  reports:
213
214
  create:
214
- error: Під час створення звіту сталася помилка. Будь ласка, спробуйте зробити це знову.
215
- success: Звіт був створений успішно, і він буде розглянутий адміністратором.
215
+ error: Під час створення скарги сталася помилка. Будь ласка, спробуйте зробити це знову.
216
+ success: Скарга була успішно створена, і вона буде розглянута адміністратором.
216
217
  shared:
217
218
  action_authorization_modal:
218
219
  incomplete:
219
220
  cancel: Скасувати
220
- explanation: 'Незважаючи на те, що вас наразі авторизовано за допомогою "%{authorization}", ми просимо вас авторизуватись знову, оскільки нам не вистачає наступних даних:'
221
- reauthorize: Повторно авторизуватися
222
- title: Будь ласка, повторіть авторизацію
221
+ explanation: 'Незважаючи на те, що ви наразі підтвердили свою особу за допомогою "%{authorization}", ми просимо вас знову підтвердити свою особу, оскільки нам не вистачає наступних даних:'
222
+ reauthorize: Заново підтвердити свою особу
223
+ title: Будь ласка, заново підтвердіть свою особу
223
224
  missing:
224
- authorize: Авторизувати за допомогою "%{authorization}"
225
- explanation: Щоб виконати цю дію, потрібно авторизуватись за допомогою "%{authorization}".
226
- title: Необхідна авторизація
225
+ authorize: Підтвердити свою особу за допомогою "%{authorization}"
226
+ explanation: Щоб виконати цю дію, потрібно підтвердити свою особу за допомогою "%{authorization}".
227
+ title: Необхідне підтвердження своєї особи
227
228
  unauthorized:
228
- explanation: Вибачте, ви не можете виконати цю дію, оскільки деякі з ваших даних авторизації не збігаються.
229
+ explanation: Вибачте, ви не можете виконати цю дію, оскільки деякі з ваших даних підтвердження особи не збігаються.
229
230
  invalid: "%{field} не є дійсним."
230
231
  ok: Гаразд
231
- title: Недостатньо прав через відсутність авторизації
232
+ title: Недостатньо прав через відсутність підтвердження особи
232
233
  embed_modal:
233
234
  close_window: Закрити вікно
234
235
  embed: Будь ласка, вставте цей код на свою сторінку
235
236
  embed_link: Вбудувати
236
237
  flag_modal:
237
- already_reported: Про цей вміст вже повідомлено, і його перегляне адміністратор.
238
+ already_reported: Про цей вміст вже передано скаргу, і її перегляне адміністратор.
238
239
  close: Закрити
239
- description: Чи цей вміст недоречний?
240
- does_not_belong: Містить незаконну діяльність, загрози самогубства, особисту інформацію чи ще щось, чого, на вашу думку, не повинно бути в %{organization_name}.
241
- offensive: Містить расизм, сексизм, образи, особисті напади, загрози смерті, заяви про самогубство або будь-які ненависницькі висловлювання.
242
- report: Доповісти
243
- spam: Містить клацоловки (маніпулятивно-сенсаційні заголовки), рекламу, афери або дописи ботів.
244
- title: Повідомити про проблему
240
+ description: Чи цей вміст неприпустимий?
241
+ does_not_belong: Містить незаконну діяльність, загрози самогубства, особисту інформацію чи ще щось, неприпустиме, на вашу думку, для %{organization_name}.
242
+ offensive: Містить расизм, сексизм, образи, особисті напади, погрози вбивства, заяви про самогубство або будь-які ненависницькі висловлювання.
243
+ report: Поскаржитись
244
+ spam: Містить клацоловки (маніпулятивно-сенсаційні заголовки), рекламу, афери або лохотрони.
245
+ title: Поскаржитись на проблему
246
+ follow_button:
247
+ sign_in_before_follow: Будь ласка, увійдіть, перш ніж виконувати цю дію
245
248
  login_modal:
246
249
  please_sign_in: Будь ласка, увійдіть
247
250
  sign_up: Зареєструватися
@@ -265,9 +268,9 @@ uk:
265
268
  hello: Доброго дня, %{email}%!
266
269
  ignore: |-
267
270
  Якщо ви не бажаєте приймати запрошення, проігноруйте цей лист.<br /> Ваш обліковий запис не буде створено, доки ви не перейдете за наведеним вище посиланням та встановите свій пароль.
268
- invited_you_as_admin: "%{invited_by} запросив вас як адміністратора %{application}, ви можете прийняти це запрошення за посиланням нижче."
269
- someone_invited_you: Хтось запросив вас до %{application}, ви можете прийняти це запрошення за посиланням нижче.
270
- you_are_now_admin: Тепер ви адміністратор
271
+ invited_you_as_admin: "%{invited_by} запросив вас як адміністратора %{application}. Ви можете прийняти це запрошення за посиланням нижче."
272
+ someone_invited_you: Хтось запросив вас до %{application}. Ви можете прийняти це запрошення за посиланням нижче.
273
+ someone_invited_you_as_admin: Хтось запросив вас як адміністратора %{application}, ви можете прийняти це запрошення за посиланням нижче.
271
274
  invite_admin:
272
275
  subject: Вас запросили керувати %{organization}
273
276
  invite_collaborator:
@@ -311,7 +314,7 @@ uk:
311
314
  sign_up: Зареєструватися
312
315
  impersonation_warning:
313
316
  close_session: Завершити сеанс
314
- description_html: Ви уособлюєте учасника <b>%{user_name}</b>.
317
+ description_html: Ви виступаєте в ролі учасника <b>%{user_name}</b>.
315
318
  expire_time_html: Термін дії вашого сеансу буде вичерпано через <b><span class="minutes">%{minutes}</span> хвилин</b>.
316
319
  notifications_dashboard:
317
320
  mark_all_as_read: Позначити все як прочитане
@@ -324,7 +327,7 @@ uk:
324
327
  sign_out: Вийти
325
328
  user_profile:
326
329
  account: Обліковий запис
327
- authorizations: Авторизаціі
330
+ authorizations: Підтвердження особи
328
331
  delete_my_account: Видалити мій обліковий запис
329
332
  notifications_settings: Налаштування сповіщень
330
333
  title: Налаштування учасника
@@ -336,16 +339,16 @@ uk:
336
339
  pages:
337
340
  home:
338
341
  extended:
339
- debates: Дебати
340
- debates_explanation: Давайте зустрінемось та обговоримо те, що вважаємо важливим для нашого міста.
342
+ debates: Обговорення
343
+ debates_explanation: Розглядайте та розбирайте назрілі питання, обмінюйтеся думками та робіть свій внесок в обговорення.
341
344
  how_to_participate: Як я можу взяти участь у русі?
342
345
  meetings: Зустрічі
343
- meetings_explanation: Давайте зустрінемось та обговоримо те, що вважаємо важливим для нашого міста.
346
+ meetings_explanation: Дізнайтеся, де і коли ви можете брати участь в громадських зустрічах.
344
347
  more_info: Додаткові відомості
345
348
  proposals: Пропозиції
346
- proposals_explanation: Відкритий простір для пропозицій громадян щодо того, в якому місті ми бажаємо жити.
349
+ proposals_explanation: Вносьте нові пропозиції, підтримуйте існуючі та сприяйте змінам, які ви хочете бачити.
347
350
  footer_sub_hero:
348
- footer_sub_hero_body: Створімо більш відкрите, прозоре та співпрацююче суспільство.<br /> Приєднуйтесь, беріть участь та приймайте рішення.
351
+ footer_sub_hero_body: Створімо більш відкрите, прозоре та співпрацююче суспільство.<br /> Долучайтесь, беріть участь та приймайте рішення.
349
352
  footer_sub_hero_headline: Ласкаво просимо до платформи співучасті %{organization}.
350
353
  register: Зареєструватися
351
354
  hero:
@@ -1,11 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class AddOrganizationCustomReference < ActiveRecord::Migration[5.0]
4
+ class Organization < ApplicationRecord
5
+ self.table_name = :decidim_organizations
6
+ end
7
+
4
8
  def change
5
9
  add_column :decidim_organizations, :reference_prefix, :string
6
10
 
7
- Decidim::Organization.find_each do |organization|
8
- organization.update_attribute(:reference_prefix, organization.name[0])
11
+ Organization.find_each do |organization|
12
+ organization.update_attributes!(reference_prefix: organization.name[0])
9
13
  end
10
14
 
11
15
  change_column_null :decidim_organizations, :reference_prefix, false
@@ -1,12 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class AddAvailableAuthorizationsToOrganization < ActiveRecord::Migration[5.0]
4
+ class Organization < ApplicationRecord
5
+ self.table_name = :decidim_organizations
6
+ end
7
+
4
8
  def change
5
9
  add_column :decidim_organizations, :available_authorizations, :string, array: true, default: []
6
10
 
7
- handlers = Decidim.authorization_handlers.map(&:name)
8
- Decidim::Organization.find_each do |org|
9
- org.update_attributes(available_authorizations: handlers)
11
+ handlers = Decidim.authorization_handlers
12
+ Organization.find_each do |org|
13
+ org.update_attributes!(available_authorizations: handlers)
10
14
  end
11
15
  end
12
16
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddCtaButtonUrlAndTextToOrganization < ActiveRecord::Migration[5.1]
4
+ def change
5
+ add_column :decidim_organizations, :cta_button_text, :jsonb
6
+ add_column :decidim_organizations, :cta_button_path, :string
7
+ end
8
+ end
data/db/seeds.rb CHANGED
@@ -20,7 +20,8 @@ if !Rails.env.production? || ENV["SEED"]
20
20
  homepage_image: File.new(File.join(seeds_root, "homepage_image.jpg")),
21
21
  default_locale: Decidim.default_locale,
22
22
  available_locales: Decidim.available_locales,
23
- reference_prefix: Faker::Name.suffix
23
+ reference_prefix: Faker::Name.suffix,
24
+ available_authorizations: Decidim.authorization_handlers
24
25
  )
25
26
 
26
27
  province = Decidim::ScopeType.create!(
@@ -35,7 +36,7 @@ if !Rails.env.production? || ENV["SEED"]
35
36
  organization: organization
36
37
  )
37
38
 
38
- 3.times.each do
39
+ 3.times do
39
40
  parent = Decidim::Scope.create!(
40
41
  name: Decidim::Faker::Localized.literal(Faker::Address.unique.state),
41
42
  code: Faker::Address.unique.country_code,
@@ -43,7 +44,7 @@ if !Rails.env.production? || ENV["SEED"]
43
44
  organization: organization
44
45
  )
45
46
 
46
- 5.times.each do
47
+ 5.times do
47
48
  Decidim::Scope.create!(
48
49
  name: Decidim::Faker::Localized.literal(Faker::Address.unique.city),
49
50
  code: parent.code + "-" + Faker::Address.unique.state_abbr,
@@ -3,7 +3,7 @@
3
3
  require "decidim/form_builder"
4
4
 
5
5
  module Decidim
6
- # A customf orm builder to render AuthorizationHandler forms.
6
+ # A custom form builder to render AuthorizationHandler forms.
7
7
  class AuthorizationFormBuilder < Decidim::FormBuilder
8
8
  # Renders all form attributes defined by the handler.
9
9
  #
data/lib/decidim/core.rb CHANGED
@@ -90,7 +90,7 @@ module Decidim
90
90
 
91
91
  # Exposes a configuration option: The application available locales.
92
92
  config_accessor :available_locales do
93
- %w(en ca es eu it fi fr nl uk)
93
+ %w(en ca es eu it fi fr nl uk ru)
94
94
  end
95
95
 
96
96
  # Exposes a configuration option: The application default locale.
@@ -131,11 +131,21 @@ module Decidim
131
131
  10.megabytes
132
132
  end
133
133
 
134
+ # Exposes a configuration option: The maximum file size for user avatar images.
135
+ config_accessor :maximum_avatar_size do
136
+ 5.megabytes
137
+ end
138
+
134
139
  # The number of reports which an object can receive before hiding it
135
140
  config_accessor :max_reports_before_hiding do
136
141
  3
137
142
  end
138
143
 
144
+ # Allow organization's administrators to inject custom HTML into the frontend
145
+ config_accessor :enable_html_header_snippets do
146
+ true
147
+ end
148
+
139
149
  # A base path for the uploads. If set, make sure it ends in a slash.
140
150
  # Uploads will be set to `<base_path>/uploads/`. This can be useful if you
141
151
  # want to use the same uploads place for both staging and production
@@ -30,7 +30,6 @@ require "omniauth-twitter"
30
30
  require "omniauth-google-oauth2"
31
31
  require "invisible_captcha"
32
32
  require "premailer/rails"
33
- require "nokogiri"
34
33
  require "geocoder"
35
34
 
36
35
  require "decidim/api"
@@ -143,7 +142,7 @@ module Decidim
143
142
  menu.item I18n.t("menu.home", scope: "decidim"),
144
143
  decidim.root_path,
145
144
  position: 1,
146
- active: :exact
145
+ active: :exclusive
147
146
 
148
147
  menu.item I18n.t("menu.more_information", scope: "decidim"),
149
148
  decidim.pages_path,
@@ -224,7 +224,7 @@ FactoryGirl.define do
224
224
  name { Decidim::Faker::Localized.sentence(3) }
225
225
  participatory_space { create(:participatory_process, organization: organization) }
226
226
  manifest_name "dummy"
227
- published_at { Time.now }
227
+ published_at { Time.current }
228
228
 
229
229
  trait :unpublished do
230
230
  published_at { nil }
@@ -256,7 +256,7 @@ FactoryGirl.define do
256
256
  end
257
257
  end
258
258
 
259
- factory :dummy_resource, class: Decidim::DummyResource do
259
+ factory :dummy_resource, class: Decidim::DummyResources::DummyResource do
260
260
  title { generate(:name) }
261
261
  feature { create(:feature, manifest_name: "dummy") }
262
262
  author { create(:user, :confirmed, organization: feature.organization) }
@@ -29,15 +29,11 @@ shared_examples "comments" do
29
29
 
30
30
  visit resource_path
31
31
 
32
- within ".order-by" do
33
- page.find(".dropdown.menu .is-dropdown-submenu-parent").hover
34
- end
32
+ expect(page).to have_css(".comment", minimum: 1)
33
+ page.find(".order-by .dropdown.menu .is-dropdown-submenu-parent").hover
35
34
 
36
35
  click_link "Best rated"
37
-
38
- within "#comments" do
39
- expect(page.find(".comment", match: :first)).to have_content "Most Rated Comment"
40
- end
36
+ expect(page).to have_css(".comments > div:nth-child(2)", text: "Most Rated Comment")
41
37
  end
42
38
 
43
39
  context "when not authenticated" do
@@ -1,25 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # This holds Decidim's version and the Rails version on which it depends.
4
3
  module Decidim
5
- def self.version
6
- "0.6.8"
7
- end
8
-
9
- def self.rails_version
10
- ["~> 5.1.3"]
11
- end
12
-
13
- def self.faker_version
14
- "~> 1.8.4"
15
- end
16
-
17
- def self.add_default_gemspec_properties(spec)
18
- spec.version = Decidim.version
19
- spec.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
20
- spec.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
21
- spec.license = "AGPLv3"
22
- spec.homepage = "https://github.com/decidim/decidim"
23
- spec.required_ruby_version = ">= 2.3.1"
4
+ # This holds the decidim-core version.
5
+ module Core
6
+ def self.version
7
+ "0.7.0"
8
+ end
24
9
  end
25
10
  end
@@ -39,7 +39,7 @@ module Decidim
39
39
  @event_name = event_name
40
40
  @resource = resource
41
41
  @user = user
42
- @extra = extra
42
+ @extra = extra.with_indifferent_access
43
43
  end
44
44
 
45
45
  # Caches the locator for the given resource, so that
@@ -5,14 +5,15 @@ module Decidim
5
5
  autoload :Exporter, "decidim/exporters/exporter"
6
6
  autoload :JSON, "decidim/exporters/json"
7
7
  autoload :CSV, "decidim/exporters/csv"
8
+ autoload :Excel, "decidim/exporters/excel"
8
9
  autoload :ExportData, "decidim/exporters/export_data"
9
10
  autoload :Serializer, "decidim/exporters/serializer"
10
11
 
11
12
  # Get the exporter class constant from the format as a string.
12
13
  #
13
- # format - The exporter format as a string. i.e "csv"
14
+ # format - The exporter format as a string. i.e "CSV"
14
15
  def self.find_exporter(format)
15
- const_get(format.upcase)
16
+ const_get(format)
16
17
  end
17
18
  end
18
19
  end