decidim-core 0.28.0 → 0.28.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/cells/decidim/activity_cell.rb +2 -2
- data/app/cells/decidim/address/online.erb +27 -9
- data/app/cells/decidim/address/show.erb +27 -12
- data/app/cells/decidim/address_cell.rb +29 -0
- data/app/cells/decidim/announcement/show.erb +2 -2
- data/app/cells/decidim/author/show.erb +5 -5
- data/app/cells/decidim/authorization_modal/show.erb +8 -4
- data/app/cells/decidim/authorization_modal_cell.rb +1 -0
- data/app/cells/decidim/card/show.erb +1 -1
- data/app/cells/decidim/card_metadata/show.erb +2 -2
- data/app/cells/decidim/card_metadata_cell.rb +3 -3
- data/app/cells/decidim/coauthorships_cell.rb +1 -1
- data/app/cells/decidim/content_blocks/menu_breadcrumb_last_activity_cell.rb +6 -0
- data/app/cells/decidim/content_blocks/participatory_space_hero_cell.rb +20 -4
- data/app/cells/decidim/content_blocks/participatory_space_hero_settings_form/show.erb +8 -0
- data/app/cells/decidim/content_blocks/participatory_space_hero_settings_form_cell.rb +13 -0
- data/app/cells/decidim/content_blocks/participatory_space_metadata_cell.rb +1 -1
- data/app/cells/decidim/data_consent/category.erb +1 -1
- data/app/cells/decidim/footer_pages_cell.rb +3 -3
- data/app/cells/decidim/nav_links/show.erb +2 -2
- data/app/cells/decidim/notification/moderated.erb +12 -0
- data/app/cells/decidim/notification_cell.rb +5 -1
- data/app/cells/decidim/profile/details.erb +1 -1
- data/app/cells/decidim/profile/tabs.erb +3 -2
- data/app/cells/decidim/progress_bar/show.erb +1 -1
- data/app/cells/decidim/progress_bar_cell.rb +2 -0
- data/app/cells/decidim/report_button/flag_modal.erb +5 -1
- data/app/cells/decidim/resource_types_filter/show.erb +3 -3
- data/app/cells/decidim/statistic/show.erb +2 -2
- data/app/cells/decidim/tags_cell.rb +3 -1
- data/app/cells/decidim/upload_modal/modal.erb +1 -2
- data/app/commands/decidim/create_omniauth_registration.rb +1 -3
- data/app/commands/decidim/messaging/reply_to_conversation.rb +3 -0
- data/app/commands/decidim/messaging/start_conversation.rb +3 -0
- data/app/controllers/concerns/decidim/devise_authentication_methods.rb +36 -0
- data/app/controllers/concerns/decidim/force_authentication.rb +1 -1
- data/app/controllers/concerns/decidim/paginable.rb +1 -1
- data/app/controllers/concerns/decidim/use_organization_time_zone.rb +1 -1
- data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +1 -22
- data/app/controllers/decidim/devise/sessions_controller.rb +1 -24
- data/app/controllers/decidim/gamification/badges_controller.rb +2 -0
- data/app/controllers/decidim/links_controller.rb +15 -2
- data/app/events/decidim/welcome_notification_event.rb +6 -9
- data/app/helpers/concerns/decidim/flash_helper_extensions.rb +2 -2
- data/app/helpers/decidim/application_helper.rb +0 -18
- data/app/helpers/decidim/cells_paginate_helper.rb +1 -1
- data/app/helpers/decidim/check_boxes_tree_helper.rb +7 -8
- data/app/helpers/decidim/layout_helper.rb +1 -1
- data/app/helpers/decidim/map_helper.rb +1 -1
- data/app/helpers/decidim/menu_helper.rb +2 -0
- data/app/helpers/decidim/newsletters_helper.rb +83 -16
- data/app/helpers/decidim/paginate_helper.rb +1 -1
- data/app/helpers/decidim/sanitize_helper.rb +9 -0
- data/app/helpers/decidim/social_share_button_helper.rb +1 -1
- data/app/helpers/decidim/user_profile_helper.rb +7 -2
- data/app/mailers/decidim/application_mailer.rb +40 -6
- data/app/mailers/decidim/messaging/conversation_mailer.rb +3 -72
- data/app/models/decidim/push_notification_message.rb +38 -0
- data/app/packs/entrypoints/decidim_overrides.scss +2 -0
- data/app/packs/images/decidim/.keep +0 -0
- data/app/packs/src/decidim/a11y.js +15 -1
- data/app/packs/src/decidim/abide_form_validator_fixer.js +44 -0
- data/app/packs/src/decidim/account_form.js +1 -1
- data/app/packs/src/decidim/data_consent/consent_manager.test.js +1 -1
- data/app/packs/src/decidim/data_consent/index.js +1 -1
- data/app/packs/src/decidim/direct_uploads/upload_field.js +1 -1
- data/app/packs/src/decidim/direct_uploads/upload_modal.js +5 -5
- data/app/packs/src/decidim/editor/extensions/hashtag/index.js +1 -1
- data/app/packs/src/decidim/editor/extensions/mention/index.js +1 -1
- data/app/packs/src/decidim/editor/extensions/video_embed/index.js +3 -0
- data/app/packs/src/decidim/editor/test/editor/create.test.js +1 -1
- data/app/packs/src/decidim/editor/test/extensions/bold.test.js +2 -3
- data/app/packs/src/decidim/editor/test/extensions/character_count.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/decidim_kit.test.js +2 -3
- data/app/packs/src/decidim/editor/test/extensions/dialog.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/emoji.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/hashtag.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/heading.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/image.test.js +4 -4
- data/app/packs/src/decidim/editor/test/extensions/indent.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/link.test.js +3 -3
- data/app/packs/src/decidim/editor/test/extensions/mention.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/ordered_list.test.js +2 -2
- data/app/packs/src/decidim/editor/test/extensions/video_embed.test.js +3 -3
- data/app/packs/src/decidim/editor/test/helpers.js +5 -4
- data/app/packs/src/decidim/editor/test/toolbar/basic.test.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/content.test.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/full.test.js +3 -3
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic.js +6 -6
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_block.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_formatting.js +1 -1
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_indent.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_link.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_list.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_styling.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_content.js +7 -7
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_content_styling.js +2 -2
- data/app/packs/src/decidim/editor/test/toolbar/shared/context.js +1 -1
- data/app/packs/src/decidim/editor/test/utilities/paste_transform.test.js +2 -2
- data/app/packs/src/decidim/external_domain_warning.js +13 -0
- data/app/packs/src/decidim/external_domain_warning.test.js +1 -1
- data/app/packs/src/decidim/external_link.js +48 -9
- data/app/packs/src/decidim/external_link.test.js +1 -1
- data/app/packs/src/decidim/focus_guard.js +8 -20
- data/app/packs/src/decidim/form_filter.component_for_testing.js +1 -1
- data/app/packs/src/decidim/form_filter.js +3 -3
- data/app/packs/src/decidim/geocoding/attach_input.js +1 -1
- data/app/packs/src/decidim/i18n.test.js +1 -1
- data/app/packs/src/decidim/index.js +33 -2
- data/app/packs/src/decidim/input_hashtags.js +1 -1
- data/app/packs/src/decidim/input_mentions.js +1 -1
- data/app/packs/src/decidim/input_multiple_mentions.js +1 -1
- data/app/packs/src/decidim/sw/index.js +3 -3
- data/app/packs/src/decidim/user_registrations.js +1 -1
- data/app/packs/src/decidim/vizzs/index.js +1 -1
- data/app/packs/stylesheets/decidim/_accordion.scss +2 -2
- data/app/packs/stylesheets/decidim/_cards.scss +4 -4
- data/app/packs/stylesheets/decidim/_dropdown.scss +2 -2
- data/app/packs/stylesheets/decidim/_layout.scss +7 -7
- data/app/packs/stylesheets/decidim/_modal_update.scss +1 -3
- data/app/packs/stylesheets/decidim/application.scss +0 -3
- data/app/packs/stylesheets/decidim/decidim_application.scss +4 -0
- data/app/packs/stylesheets/decidim/legacy/leaflet.scss +88 -107
- data/app/presenters/decidim/admin_log/oauth_application_resource_presenter.rb +1 -1
- data/app/presenters/decidim/admin_log/organization_presenter.rb +1 -1
- data/app/presenters/decidim/log/diff_presenter.rb +1 -1
- data/app/presenters/decidim/log/resource_presenter.rb +7 -1
- data/app/presenters/decidim/notification_to_mailer_presenter.rb +9 -0
- data/app/services/decidim/events_manager.rb +6 -0
- data/app/services/decidim/iframe_disabler.rb +4 -0
- data/app/services/decidim/log/diff_changeset_calculator.rb +1 -1
- data/app/services/decidim/push_notification_message_sender.rb +40 -0
- data/app/services/decidim/send_push_notification.rb +22 -8
- data/app/uploaders/decidim/background_image_uploader.rb +11 -0
- data/app/views/decidim/account/show.html.erb +2 -2
- data/app/views/decidim/application/_collection.html.erb +2 -2
- data/app/views/decidim/application/_document.html.erb +3 -3
- data/app/views/decidim/devise/registrations/new.html.erb +2 -2
- data/app/views/decidim/endorsements/update_buttons_and_counters.js.erb +2 -1
- data/app/views/decidim/gamification/badges/index.html.erb +34 -33
- data/app/views/decidim/links/_modal.html.erb +1 -1
- data/app/views/decidim/links/new.html.erb +3 -1
- data/app/views/decidim/manifests/show.json.erb +1 -1
- data/app/views/decidim/messaging/conversations/create.js.erb +1 -1
- data/app/views/decidim/notifications_digest_mailer/_email_content.html.erb +7 -0
- data/app/views/decidim/notifications_settings/show.html.erb +6 -6
- data/app/views/decidim/offline/show.html.erb +15 -9
- data/app/views/decidim/pages/_tabbed.html.erb +2 -2
- data/app/views/decidim/searches/_filters.html.erb +2 -2
- data/app/views/decidim/shared/_filters.html.erb +2 -2
- data/app/views/decidim/shared/_orders.html.erb +2 -2
- data/app/views/decidim/shared/filters/_collection.html.erb +5 -3
- data/app/views/decidim/shared/filters/_dropdown_label.html.erb +21 -19
- data/app/views/layouts/decidim/_head.html.erb +1 -0
- data/app/views/layouts/decidim/_js_configuration.html.erb +3 -1
- data/app/views/layouts/decidim/_wrapper.html.erb +1 -1
- data/app/views/layouts/decidim/footer/_main_links.html.erb +3 -1
- data/app/views/layouts/decidim/footer/_main_social_media_links.html.erb +5 -5
- data/app/views/layouts/decidim/footer/_mini.html.erb +2 -2
- data/app/views/layouts/decidim/header/_main_links_desktop.html.erb +4 -2
- data/app/views/layouts/decidim/header/_menu_breadcrumb_items.html.erb +2 -0
- data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile_tablet.html.erb +1 -1
- data/app/views/layouts/decidim/shared/_layout_user_profile.html.erb +2 -2
- data/config/assets.rb +1 -0
- data/config/locales/ar.yml +60 -8
- data/config/locales/bg.yml +909 -2
- data/config/locales/ca.yml +31 -24
- data/config/locales/cs.yml +7 -3
- data/config/locales/de.yml +37 -30
- data/config/locales/el.yml +11 -7
- data/config/locales/en.yml +10 -3
- data/config/locales/es-MX.yml +17 -10
- data/config/locales/es-PY.yml +17 -10
- data/config/locales/es.yml +59 -52
- data/config/locales/eu.yml +26 -10
- data/config/locales/fi-plain.yml +11 -4
- data/config/locales/fi.yml +14 -7
- data/config/locales/fr-CA.yml +14 -7
- data/config/locales/fr.yml +14 -7
- data/config/locales/ga-IE.yml +9 -0
- data/config/locales/gl.yml +5 -2
- data/config/locales/he-IL.yml +1 -0
- data/config/locales/hu.yml +264 -8
- data/config/locales/id-ID.yml +0 -2
- data/config/locales/it.yml +9 -6
- data/config/locales/ja.yml +14 -7
- data/config/locales/kaa.yml +5 -0
- data/config/locales/lb.yml +9 -6
- data/config/locales/lt.yml +8 -12
- data/config/locales/lv.yml +8 -3
- data/config/locales/nl.yml +8 -3
- data/config/locales/no.yml +9 -6
- data/config/locales/pl.yml +616 -2
- data/config/locales/pt-BR.yml +202 -19
- data/config/locales/pt.yml +9 -6
- data/config/locales/ro-RO.yml +10 -5
- data/config/locales/ru.yml +15 -2
- data/config/locales/sk.yml +8 -3
- data/config/locales/sl.yml +8 -0
- data/config/locales/sv.yml +32 -6
- data/config/locales/tr-TR.yml +24 -9
- data/config/locales/uk.yml +22 -2
- data/config/locales/zh-CN.yml +0 -6
- data/config/locales/zh-TW.yml +10 -11
- data/decidim-core.gemspec +90 -0
- data/lib/decidim/asset_router/storage.rb +2 -0
- data/lib/decidim/attribute_encryptor.rb +6 -4
- data/lib/decidim/attributes/time_with_zone.rb +1 -1
- data/lib/decidim/core/engine.rb +7 -6
- data/lib/decidim/core/seeds.rb +37 -33
- data/lib/decidim/core/test/factories.rb +296 -89
- data/lib/decidim/core/test/shared_examples/amendable/amendment_created_event_examples.rb +6 -26
- data/lib/decidim/core/test/shared_examples/amendable/amendment_promoted_event_examples.rb +8 -26
- data/lib/decidim/core/test/shared_examples/comments_examples.rb +76 -6
- data/lib/decidim/core/test/shared_examples/has_attachment_collections.rb +8 -6
- data/lib/decidim/core/test/shared_examples/has_attachments.rb +8 -8
- data/lib/decidim/core/test/shared_examples/has_category.rb +27 -0
- data/lib/decidim/core/test/shared_examples/has_reference.rb +1 -1
- data/lib/decidim/core/test/shared_examples/has_space_in_mcell_examples.rb +1 -1
- data/lib/decidim/core/test/shared_examples/logo_email.rb +2 -2
- data/lib/decidim/core/test/shared_examples/map_examples.rb +3 -0
- data/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb +5 -2
- data/lib/decidim/core/test/shared_examples/resource_locator_presenter_examples.rb +134 -0
- data/lib/decidim/core/test/shared_examples/simple_event.rb +18 -2
- data/lib/decidim/core/test.rb +1 -0
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/core.rb +7 -1
- data/lib/decidim/engine_router.rb +17 -4
- data/lib/decidim/events/base_event.rb +7 -3
- data/lib/decidim/events/simple_event.rb +3 -17
- data/lib/decidim/form_builder.rb +8 -2
- data/lib/decidim/has_category.rb +1 -1
- data/lib/decidim/has_conversations.rb +91 -0
- data/lib/decidim/organization_settings.rb +10 -2
- data/lib/decidim/participable.rb +17 -0
- data/lib/decidim/upgrade/wysiwyg_migrator.rb +7 -0
- data/lib/decidim/view_model.rb +1 -0
- data/lib/decidim/webpacker/webpack/.modernizrrc +9 -0
- data/lib/premailer/adapter/decidim.rb +5 -4
- data/lib/tasks/decidim_reminders_tasks.rake +1 -0
- data/lib/tasks/upgrade/decidim_fix_categorization.rake +15 -0
- metadata +26 -27
- data/app/views/decidim/searches/index.js.erb +0 -7
- data/config/brakeman.ignore +0 -37
- data/config/environment.rb +0 -3
data/config/locales/zh-TW.yml
CHANGED
@@ -74,10 +74,7 @@ zh-TW:
|
|
74
74
|
'true': '是'
|
75
75
|
carrierwave:
|
76
76
|
errors:
|
77
|
-
file_cannot_be_processed: 無法處理檔案
|
78
|
-
file_resolution_too_large: 檔案解析度過大
|
79
77
|
file_size_too_large: 檔案太大。
|
80
|
-
not_inside_organization: 該文件未附加到任何組織
|
81
78
|
date:
|
82
79
|
formats:
|
83
80
|
decidim_short: "%d/%m/%Y"
|
@@ -318,7 +315,6 @@ zh-TW:
|
|
318
315
|
'1': 創建您的修正案
|
319
316
|
'2': 比較您的修正案
|
320
317
|
'3': 完成您的修正案
|
321
|
-
'4': 發佈您的修正案
|
322
318
|
anonymous_user: 匿名
|
323
319
|
application:
|
324
320
|
document:
|
@@ -464,8 +460,6 @@ zh-TW:
|
|
464
460
|
description: 說明
|
465
461
|
footer_sub_hero:
|
466
462
|
name: 頁尾子英雄橫幅
|
467
|
-
hero:
|
468
|
-
name: 英雄圖像
|
469
463
|
hero_settings_form:
|
470
464
|
background_image: 背景圖片
|
471
465
|
welcome_text: 歡迎文字
|
@@ -519,6 +513,7 @@ zh-TW:
|
|
519
513
|
registrations:
|
520
514
|
new:
|
521
515
|
already_have_an_account?: 已經有帳號了嗎?
|
516
|
+
log_in: 登入
|
522
517
|
newsletter: 偶爾收到包含相關信息的時事通訊。
|
523
518
|
newsletter_title: 聯絡人權限
|
524
519
|
sign_up: 註冊登記
|
@@ -824,6 +819,7 @@ zh-TW:
|
|
824
819
|
filename: 檔案名稱
|
825
820
|
remove: 移除
|
826
821
|
replace: 替換
|
822
|
+
save: 儲存
|
827
823
|
title: 標題
|
828
824
|
title_required: 標題為必填欄位!
|
829
825
|
uploaded: 已上傳
|
@@ -1106,7 +1102,6 @@ zh-TW:
|
|
1106
1102
|
token_error: 該連結已過期。
|
1107
1103
|
unsubscribe: 取消訂閱
|
1108
1104
|
newsletters_opt_in:
|
1109
|
-
unathorized: 抱歉,此連結已不再可用。
|
1110
1105
|
update:
|
1111
1106
|
error: 儲存通訊設定時出現問題。
|
1112
1107
|
success: 成功更新電子報設定.
|
@@ -1168,7 +1163,6 @@ zh-TW:
|
|
1168
1163
|
success: 您的通知設定已成功更新。
|
1169
1164
|
offline:
|
1170
1165
|
show:
|
1171
|
-
message: 看起來您目前處於離線狀態,請稍後再試。
|
1172
1166
|
retry: 重試
|
1173
1167
|
open_data:
|
1174
1168
|
not_available_yet: 開放數據檔案尚未可用,請稍後再試。
|
@@ -1192,11 +1186,13 @@ zh-TW:
|
|
1192
1186
|
register: 註冊
|
1193
1187
|
hero:
|
1194
1188
|
participate: 參與
|
1189
|
+
participate_title: 參與平台的流程
|
1195
1190
|
welcome: 歡迎來到 %{organization}!
|
1196
1191
|
statistics:
|
1197
1192
|
headline: '%{organization} 的目前狀態'
|
1198
1193
|
sub_hero:
|
1199
1194
|
register: 註冊
|
1195
|
+
register_title: 註冊以創建帳戶
|
1200
1196
|
index:
|
1201
1197
|
standalone_pages: 頁
|
1202
1198
|
subheading: 瀏覽 %{name} 的幫助頁面
|
@@ -1570,12 +1566,16 @@ zh-TW:
|
|
1570
1566
|
signed_up_but_unconfirmed: 確認信件已送至您的 Email 信箱,請點擊信件內連結以啓動您的帳號。
|
1571
1567
|
update_needs_confirmation: 您已經成功的更新帳號資訊,但我們仍需確認您的電子信箱,請至新信箱收信並點擊連結以確認您的新電子郵件帳號。
|
1572
1568
|
updated: 您的帳號已成功升級。
|
1569
|
+
sessions:
|
1570
|
+
new:
|
1571
|
+
log_in: 登入
|
1573
1572
|
shared:
|
1574
1573
|
links:
|
1575
1574
|
back: 返回
|
1576
1575
|
didn_t_receive_confirmation_instructions: 沒有收到確認的說明嗎?
|
1577
1576
|
didn_t_receive_unlock_instructions: 沒有收到解鎖說明?
|
1578
1577
|
forgot_your_password: 忘記密碼了嗎?
|
1578
|
+
log_in: 登入
|
1579
1579
|
sign_up: 註冊登記
|
1580
1580
|
minimum_password_length:
|
1581
1581
|
other: "One\n(最少%{count} 個字符)\n\nOther\n(最少%{count} 個字符)"
|
@@ -1591,16 +1591,13 @@ zh-TW:
|
|
1591
1591
|
button: 新增Emoji
|
1592
1592
|
categories:
|
1593
1593
|
activities: 活躍狀態
|
1594
|
-
animals-nature: 動物與自然
|
1595
1594
|
custom: 自訂
|
1596
1595
|
flags: 旗幟
|
1597
|
-
food-drink: 食物 & 飲料
|
1598
1596
|
objects: 目標
|
1599
1597
|
people-body: 人與身體
|
1600
1598
|
recents: 最近使用的
|
1601
1599
|
smileys-emotion: 表情符號和情感
|
1602
1600
|
symbols: 符號
|
1603
|
-
travel-places: 旅遊與地點
|
1604
1601
|
error:
|
1605
1602
|
load: 無法載入表情符號
|
1606
1603
|
recents:
|
@@ -1703,9 +1700,11 @@ zh-TW:
|
|
1703
1700
|
data_consent_settings: Cookie 設定
|
1704
1701
|
decidim_logo: Decidim 商標
|
1705
1702
|
download_open_data: 下載開放數據檔案
|
1703
|
+
log_in: 登入
|
1706
1704
|
made_with_open_source: 使用<a target="_blank" href="https://github.com/decidim/decidim">自由軟體</a>建立的網站。
|
1707
1705
|
sign_up: 註冊
|
1708
1706
|
header:
|
1707
|
+
log_in: 登入
|
1709
1708
|
main_menu: 主選單
|
1710
1709
|
user_menu: 使用者選單
|
1711
1710
|
impersonation_warning:
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
$LOAD_PATH.push File.expand_path("lib", __dir__)
|
4
|
+
|
5
|
+
# Maintain your gem's version:
|
6
|
+
require "decidim/core/version"
|
7
|
+
|
8
|
+
# Describe your gem and declare its dependencies:
|
9
|
+
Gem::Specification.new do |s|
|
10
|
+
s.name = "decidim-core"
|
11
|
+
s.version = Decidim::Core.version
|
12
|
+
s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
|
13
|
+
s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
|
14
|
+
s.homepage = "https://decidim.org"
|
15
|
+
s.metadata = {
|
16
|
+
"bug_tracker_uri" => "https://github.com/decidim/decidim/issues",
|
17
|
+
"documentation_uri" => "https://docs.decidim.org/",
|
18
|
+
"funding_uri" => "https://opencollective.com/decidim",
|
19
|
+
"homepage_uri" => "https://decidim.org",
|
20
|
+
"source_code_uri" => "https://github.com/decidim/decidim"
|
21
|
+
}
|
22
|
+
s.summary = "The core of the Decidim framework."
|
23
|
+
s.description = "Adds core features so other engines can hook into the framework."
|
24
|
+
s.license = "AGPL-3.0"
|
25
|
+
s.required_ruby_version = "~> 3.1.0"
|
26
|
+
|
27
|
+
s.files = Dir.chdir(__dir__) do
|
28
|
+
`git ls-files -z`.split("\x0").select do |f|
|
29
|
+
(File.expand_path(f) == __FILE__) ||
|
30
|
+
f.start_with?(*%w(app/ config/ db/ lib/ Rakefile README.md))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
s.add_dependency "active_link_to", "~> 1.0"
|
35
|
+
s.add_dependency "acts_as_list", "~> 1.0"
|
36
|
+
s.add_dependency "batch-loader", "~> 1.2"
|
37
|
+
s.add_dependency "browser", "~> 2.7"
|
38
|
+
s.add_dependency "carrierwave", "~> 2.2.5", ">= 2.2.5"
|
39
|
+
s.add_dependency "cells-erb", "~> 0.1.0"
|
40
|
+
s.add_dependency "cells-rails", "~> 0.1.3"
|
41
|
+
s.add_dependency "charlock_holmes", "~> 0.7"
|
42
|
+
s.add_dependency "date_validator", "~> 0.12.0"
|
43
|
+
s.add_dependency "devise", "~> 4.7"
|
44
|
+
s.add_dependency "devise-i18n", "~> 1.2", "< 1.11.1"
|
45
|
+
s.add_dependency "diffy", "~> 3.3"
|
46
|
+
s.add_dependency "doorkeeper", "~> 5.6", ">= 5.6.6"
|
47
|
+
s.add_dependency "doorkeeper-i18n", "~> 4.0"
|
48
|
+
s.add_dependency "file_validators", "~> 3.0"
|
49
|
+
s.add_dependency "fog-local", "~> 0.6"
|
50
|
+
s.add_dependency "foundation_rails_helper", "~> 4.0"
|
51
|
+
s.add_dependency "geocoder", "~> 1.8"
|
52
|
+
s.add_dependency "hashdiff", ">= 0.4.0", "< 2.0.0"
|
53
|
+
s.add_dependency "invisible_captcha", "~> 0.12"
|
54
|
+
s.add_dependency "kaminari", "~> 1.2", ">= 1.2.1"
|
55
|
+
s.add_dependency "loofah", "~> 2.19", ">= 2.19.1"
|
56
|
+
s.add_dependency "mime-types", ">= 1.16", "< 4.0"
|
57
|
+
s.add_dependency "mini_magick", "~> 4.9"
|
58
|
+
s.add_dependency "net-smtp", "~> 0.3.1"
|
59
|
+
s.add_dependency "omniauth", "~> 2.0"
|
60
|
+
s.add_dependency "omniauth-facebook", "~> 5.0"
|
61
|
+
s.add_dependency "omniauth-google-oauth2", "~> 1.0"
|
62
|
+
s.add_dependency "omniauth-rails_csrf_protection", "~> 1.0"
|
63
|
+
s.add_dependency "omniauth-twitter", "~> 1.4"
|
64
|
+
s.add_dependency "paper_trail", "~> 12.0"
|
65
|
+
s.add_dependency "pg", "~> 1.4.0", "< 2"
|
66
|
+
s.add_dependency "pg_search", "~> 2.2"
|
67
|
+
s.add_dependency "premailer-rails", "~> 1.10"
|
68
|
+
# We need psych 4+ in order to use the `aliases: true` option,
|
69
|
+
# see https://stackoverflow.com/questions/71191685/visit-psych-nodes-alias-unknown-alias-default-psychbadalias
|
70
|
+
# Also note that we need Rails 6.1.5+,
|
71
|
+
# see https://gist.github.com/yahonda/2776d8d7b6ea7045359f38c10449937b
|
72
|
+
s.add_dependency "psych", "~> 4.0"
|
73
|
+
s.add_dependency "rack", "~> 2.2", ">= 2.2.6.4"
|
74
|
+
s.add_dependency "rack-attack", "~> 6.0"
|
75
|
+
s.add_dependency "rails", "~> 6.1.7", ">=6.1.7.4"
|
76
|
+
s.add_dependency "rails-i18n", "~> 6.0"
|
77
|
+
s.add_dependency "ransack", "~> 3.2.1"
|
78
|
+
s.add_dependency "redis", "~> 4.1"
|
79
|
+
s.add_dependency "request_store", "~> 1.5.0"
|
80
|
+
s.add_dependency "rubyXL", "~> 3.4"
|
81
|
+
s.add_dependency "rubyzip", "~> 2.0"
|
82
|
+
s.add_dependency "seven_zip_ruby", "~> 1.3"
|
83
|
+
s.add_dependency "shakapacker", "~> 7.1.0"
|
84
|
+
s.add_dependency "valid_email2", "~> 4.0"
|
85
|
+
s.add_dependency "web-push", "~> 3.0"
|
86
|
+
s.add_dependency "wisper", "~> 2.0"
|
87
|
+
|
88
|
+
s.add_development_dependency "decidim-api", Decidim::Core.version
|
89
|
+
s.add_development_dependency "decidim-dev", Decidim::Core.version
|
90
|
+
end
|
@@ -22,6 +22,8 @@ module Decidim
|
|
22
22
|
def url(**options)
|
23
23
|
if asset.is_a? ActiveStorage::Attached
|
24
24
|
routes.rails_blob_url(asset.blob, **default_options.merge(options))
|
25
|
+
elsif asset.is_a? ActiveStorage::Blob
|
26
|
+
routes.rails_blob_url(asset, **default_options.merge(options))
|
25
27
|
else
|
26
28
|
representation_url(**options)
|
27
29
|
end
|
@@ -19,10 +19,12 @@ module Decidim
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def self.cryptor
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
@cryptor ||= begin
|
23
|
+
key = ActiveSupport::KeyGenerator.new("attribute").generate_key(
|
24
|
+
Rails.application.secrets.secret_key_base, ActiveSupport::MessageEncryptor.key_len
|
25
|
+
)
|
26
|
+
ActiveSupport::MessageEncryptor.new(key)
|
27
|
+
end
|
26
28
|
end
|
27
29
|
end
|
28
30
|
end
|
data/lib/decidim/core/engine.rb
CHANGED
@@ -379,16 +379,17 @@ module Decidim
|
|
379
379
|
|
380
380
|
initializer "decidim_core.menu" do
|
381
381
|
Decidim::Core::Menu.register_menu!
|
382
|
-
end
|
383
|
-
|
384
|
-
initializer "decidim_core.user_menu" do
|
385
382
|
Decidim::Core::Menu.register_user_menu!
|
386
383
|
end
|
387
384
|
|
388
385
|
initializer "decidim_core.notifications" do
|
389
|
-
|
390
|
-
|
391
|
-
|
386
|
+
if Rails.autoloaders.zeitwerk_enabled?
|
387
|
+
config.after_initialize do
|
388
|
+
Decidim::EventsManager.subscribe_events!
|
389
|
+
end
|
390
|
+
else
|
391
|
+
config.to_prepare do
|
392
|
+
Decidim::EventsManager.subscribe_events!
|
392
393
|
end
|
393
394
|
end
|
394
395
|
end
|
data/lib/decidim/core/seeds.rb
CHANGED
@@ -25,11 +25,11 @@ module Decidim
|
|
25
25
|
smtp_email = ENV.fetch("SMTP_FROM_EMAIL", ::Faker::Internet.email)
|
26
26
|
|
27
27
|
primary_color, secondary_color, tertiary_color = [
|
28
|
-
["#
|
29
|
-
["#
|
30
|
-
["#
|
31
|
-
["#
|
32
|
-
["#
|
28
|
+
["#bf4044", "#09780e", "#3584e4"],
|
29
|
+
["#09780e", "#4448bb", "#da565b"],
|
30
|
+
["#bf4086", "#487511", "#5384ac"],
|
31
|
+
["#086263", "#811380", "#abac53"],
|
32
|
+
["#5340bf", "#a82c2c", "#40bf53"]
|
33
33
|
].sample
|
34
34
|
|
35
35
|
colors = {
|
@@ -77,34 +77,12 @@ module Decidim
|
|
77
77
|
)
|
78
78
|
|
79
79
|
if organization.top_scopes.none?
|
80
|
-
province =
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
)
|
85
|
-
|
86
|
-
municipality = Decidim::ScopeType.create!(
|
87
|
-
name: Decidim::Faker::Localized.literal("municipality"),
|
88
|
-
plural: Decidim::Faker::Localized.literal("municipalities"),
|
89
|
-
organization:
|
90
|
-
)
|
91
|
-
|
92
|
-
3.times do |time|
|
93
|
-
parent = Decidim::Scope.create!(
|
94
|
-
name: Decidim::Faker::Localized.literal(::Faker::Address.unique.state),
|
95
|
-
code: "#{::Faker::Address.country_code}_#{time}",
|
96
|
-
scope_type: province,
|
97
|
-
organization:
|
98
|
-
)
|
99
|
-
|
80
|
+
province = create_scope_type!(name: "province", plural: "provinces")
|
81
|
+
municipality = create_scope_type!(name: "municipality", plural: "municipalities")
|
82
|
+
3.times do
|
83
|
+
parent = create_scope!(scope_type: province, parent: nil)
|
100
84
|
5.times do
|
101
|
-
|
102
|
-
name: Decidim::Faker::Localized.literal(::Faker::Address.unique.city),
|
103
|
-
code: "#{parent.code}-#{::Faker::Address.unique.state_abbr}",
|
104
|
-
scope_type: municipality,
|
105
|
-
organization:,
|
106
|
-
parent:
|
107
|
-
)
|
85
|
+
create_scope!(scope_type: municipality, parent:)
|
108
86
|
end
|
109
87
|
end
|
110
88
|
end
|
@@ -231,7 +209,7 @@ module Decidim
|
|
231
209
|
|
232
210
|
oauth_application.organization_logo.attach(io: File.open(File.join(seeds_root, "homepage_image.jpg")), filename: "organization_logo.jpg", content_type: "image/jpeg")
|
233
211
|
|
234
|
-
Decidim::
|
212
|
+
Decidim::ContentBlocksCreator.new(organization).create_default!
|
235
213
|
|
236
214
|
hero_content_block = Decidim::ContentBlock.find_by(organization:, manifest_name: :hero, scope_name: :homepage)
|
237
215
|
hero_content_block.images_container.background_image = create_blob!(seeds_file: "homepage_image.jpg", filename: "homepage_image.jpg", content_type: "image/jpeg")
|
@@ -242,6 +220,32 @@ module Decidim
|
|
242
220
|
hero_content_block.save!
|
243
221
|
end
|
244
222
|
# rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Rails/Output
|
223
|
+
|
224
|
+
private
|
225
|
+
|
226
|
+
def create_scope_type!(name:, plural:)
|
227
|
+
Decidim::ScopeType.create!(
|
228
|
+
name: Decidim::Faker::Localized.literal(name),
|
229
|
+
plural: Decidim::Faker::Localized.literal(plural),
|
230
|
+
organization:
|
231
|
+
)
|
232
|
+
end
|
233
|
+
|
234
|
+
def create_scope!(scope_type:, parent:)
|
235
|
+
n = rand(99_999)
|
236
|
+
code = parent.nil? ? "#{::Faker::Address.country_code}_#{n}" : "#{parent.code}-#{::Faker::Address.postcode}_#{n}"
|
237
|
+
name = [::Faker::Address.state, ::Faker::Address.city].sample
|
238
|
+
|
239
|
+
Decidim::Scope.create!(
|
240
|
+
name: Decidim::Faker::Localized.literal(name),
|
241
|
+
code:,
|
242
|
+
scope_type:,
|
243
|
+
organization:,
|
244
|
+
parent:
|
245
|
+
)
|
246
|
+
rescue ActiveRecord::RecordInvalid
|
247
|
+
retry
|
248
|
+
end
|
245
249
|
end
|
246
250
|
end
|
247
251
|
end
|