decidim-admin 0.31.5 → 0.32.0.rc2
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/README.md +2 -12
- data/app/cells/decidim/admin/attachments_privacy_warning/show.erb +1 -1
- data/app/cells/decidim/admin/attachments_privacy_warning_cell.rb +2 -6
- data/app/commands/decidim/admin/content_blocks/reorder_content_blocks.rb +1 -1
- data/app/commands/decidim/admin/participatory_space/create_member.rb +99 -0
- data/app/commands/decidim/admin/participatory_space/destroy_member.rb +30 -0
- data/app/commands/decidim/admin/participatory_space/import_member_csv.rb +46 -0
- data/app/commands/decidim/admin/participatory_space/publish_all_members.rb +52 -0
- data/app/commands/decidim/admin/participatory_space/unpublish_all_members.rb +52 -0
- data/app/commands/decidim/admin/participatory_space/update_member.rb +13 -0
- data/app/commands/decidim/admin/reorder_components.rb +1 -1
- data/app/commands/decidim/admin/reorder_taxonomies.rb +1 -1
- data/app/commands/decidim/admin/update_organization.rb +1 -1
- data/app/controllers/concerns/decidim/admin/content_blocks/landing_page.rb +1 -0
- data/app/controllers/concerns/decidim/admin/content_blocks/landing_page_content_blocks.rb +3 -2
- data/app/controllers/concerns/decidim/admin/filterable.rb +4 -4
- data/app/controllers/concerns/decidim/admin/participatory_space_admin_context.rb +1 -0
- data/app/controllers/concerns/decidim/admin/participatory_space_export.rb +1 -1
- data/app/controllers/decidim/admin/area_types_controller.rb +2 -2
- data/app/controllers/decidim/admin/areas_controller.rb +3 -2
- data/app/controllers/decidim/admin/block_user_controller.rb +2 -2
- data/app/controllers/decidim/admin/component_permissions_controller.rb +1 -1
- data/app/controllers/decidim/admin/components/base_controller.rb +13 -9
- data/app/controllers/decidim/admin/components_controller.rb +3 -2
- data/app/controllers/decidim/admin/concerns/has_attachment_collections.rb +2 -2
- data/app/controllers/decidim/admin/concerns/has_attachments.rb +2 -2
- data/app/controllers/decidim/admin/conflicts_controller.rb +1 -1
- data/app/controllers/decidim/admin/exports_controller.rb +1 -1
- data/app/controllers/decidim/admin/impersonations_controller.rb +1 -1
- data/app/controllers/decidim/admin/imports_controller.rb +2 -1
- data/app/controllers/decidim/admin/managed_users/promotions_controller.rb +1 -1
- data/app/controllers/decidim/admin/newsletters_controller.rb +9 -8
- data/app/controllers/decidim/admin/organization_appearance_controller.rb +1 -1
- data/app/controllers/decidim/admin/organization_controller.rb +1 -1
- data/app/controllers/decidim/admin/organization_external_domain_allowlist_controller.rb +1 -1
- data/app/controllers/decidim/admin/participatory_space/concerns/has_members.rb +166 -0
- data/app/controllers/decidim/admin/participatory_space/concerns/has_members_csv_import.rb +67 -0
- data/app/controllers/decidim/admin/participatory_space/concerns/members_filterable.rb +36 -0
- data/app/controllers/decidim/admin/participatory_space/user_role_controller.rb +2 -2
- data/app/controllers/decidim/admin/reminders_controller.rb +1 -1
- data/app/controllers/decidim/admin/resource_permissions_controller.rb +1 -1
- data/app/controllers/decidim/admin/scope_types_controller.rb +2 -2
- data/app/controllers/decidim/admin/scopes_controller.rb +3 -2
- data/app/controllers/decidim/admin/share_tokens_controller.rb +2 -2
- data/app/controllers/decidim/admin/space_publications_controller.rb +2 -2
- data/app/controllers/decidim/admin/static_page_topics_controller.rb +2 -2
- data/app/controllers/decidim/admin/static_pages_controller.rb +2 -2
- data/app/controllers/decidim/admin/taxonomies_controller.rb +3 -3
- data/app/controllers/decidim/admin/taxonomy_filters_controller.rb +3 -3
- data/app/controllers/decidim/admin/taxonomy_items_controller.rb +3 -3
- data/app/controllers/decidim/admin/users_controller.rb +1 -1
- data/app/forms/decidim/admin/content_block_form.rb +28 -1
- data/app/forms/decidim/admin/organization_form.rb +0 -1
- data/app/forms/decidim/admin/participatory_space/member_csv_import_form.rb +33 -0
- data/app/forms/decidim/admin/participatory_space/member_form.rb +26 -0
- data/app/forms/decidim/admin/participatory_space_admin_user_form.rb +1 -1
- data/app/forms/decidim/admin/selective_newsletter_form.rb +7 -7
- data/app/forms/decidim/admin/taxonomy_filter_form.rb +1 -0
- data/app/helpers/decidim/admin/newsletters_helper.rb +8 -5
- data/app/helpers/decidim/admin/search_form_helper.rb +17 -0
- data/app/helpers/decidim/admin/settings_helper.rb +2 -0
- data/app/jobs/decidim/admin/newsletter_job.rb +2 -2
- data/app/jobs/decidim/admin/participatory_space/destroy_members_follows_job.rb +36 -0
- data/app/jobs/decidim/admin/participatory_space/import_member_csv_job.rb +29 -0
- data/app/packs/src/decidim/admin/controllers/access_mode/access_mode.test.js +68 -0
- data/app/packs/src/decidim/admin/controllers/access_mode/controller.js +52 -0
- data/app/packs/src/decidim/admin/newsletters.js +2 -2
- data/app/packs/stylesheets/decidim/admin/_datepicker.scss +0 -4
- data/app/queries/decidim/admin/newsletter_recipients.rb +8 -8
- data/app/views/decidim/admin/admin_terms/show.html.erb +3 -1
- data/app/views/decidim/admin/area_types/index.html.erb +3 -2
- data/app/views/decidim/admin/areas/index.html.erb +3 -2
- data/app/views/decidim/admin/attachment_collections/edit.html.erb +2 -2
- data/app/views/decidim/admin/attachment_collections/index.html.erb +2 -2
- data/app/views/decidim/admin/attachment_collections/new.html.erb +2 -2
- data/app/views/decidim/admin/attachments/index.html.erb +3 -2
- data/app/views/decidim/admin/authorization_workflows/index.html.erb +2 -2
- data/app/views/decidim/admin/block_user/new.html.erb +1 -0
- data/app/views/decidim/admin/components/index.html.erb +2 -2
- data/app/views/decidim/admin/components/manage_trash.html.erb +2 -2
- data/app/views/decidim/admin/conflicts/edit.html.erb +3 -1
- data/app/views/decidim/admin/conflicts/index.html.erb +3 -2
- data/app/views/decidim/admin/dashboard/show.html.erb +4 -4
- data/app/views/decidim/admin/help_sections/update.html.erb +2 -0
- data/app/views/decidim/admin/impersonatable_users/index.html.erb +3 -2
- data/app/views/decidim/admin/impersonations/_form.html.erb +2 -2
- data/app/views/decidim/admin/impersonations/new.html.erb +3 -2
- data/app/views/decidim/admin/imports/new.html.erb +1 -0
- data/app/views/decidim/admin/logs/_logs_list.html.erb +1 -1
- data/app/views/decidim/admin/logs/index.html.erb +1 -1
- data/app/views/decidim/admin/managed_users/impersonation_logs/index.html.erb +6 -5
- data/app/views/decidim/admin/managed_users/promotions/new.html.erb +3 -2
- data/app/views/decidim/admin/{participatory_space_private_users → members}/edit.html.erb +2 -2
- data/app/views/decidim/admin/{participatory_space_private_users → members}/index.html.erb +25 -25
- data/app/views/decidim/admin/{participatory_space_private_users → members}/new.html.erb +2 -2
- data/app/views/decidim/admin/{participatory_space_private_users_csv_imports → members_csv_imports}/new.html.erb +2 -2
- data/app/views/decidim/admin/moderations/_moderation-tr.html.erb +2 -6
- data/app/views/decidim/admin/moderations/_moderations-thead.html.erb +0 -1
- data/app/views/decidim/admin/moderations/reports/index.html.erb +1 -1
- data/app/views/decidim/admin/newsletter_templates/show.html.erb +3 -2
- data/app/views/decidim/admin/newsletters/confirm_recipients.html.erb +4 -6
- data/app/views/decidim/admin/newsletters/index.html.erb +2 -2
- data/app/views/decidim/admin/newsletters/select_recipients_to_deliver.html.erb +2 -2
- data/app/views/decidim/admin/newsletters/show.html.erb +3 -2
- data/app/views/decidim/admin/officializations/index.html.erb +6 -4
- data/app/views/decidim/admin/officializations/show_email.html.erb +2 -0
- data/app/views/decidim/admin/organization/form/_extra_features.html.erb +0 -4
- data/app/views/decidim/admin/organization_external_domain_allowlist/_form.html.erb +2 -2
- data/app/views/decidim/admin/organization_external_domain_allowlist/edit.html.erb +2 -2
- data/app/views/decidim/admin/reminders/new.html.erb +8 -1
- data/app/views/decidim/admin/resource_permissions/edit.html.erb +2 -2
- data/app/views/decidim/admin/scope_types/index.html.erb +3 -2
- data/app/views/decidim/admin/scopes/index.html.erb +2 -2
- data/app/views/decidim/admin/share_tokens/index.html.erb +2 -0
- data/app/views/decidim/admin/shared/landing_page/_content_blocks.html.erb +0 -2
- data/app/views/decidim/admin/shared/landing_page/edit.html.erb +2 -0
- data/app/views/decidim/admin/shared/landing_page_content_blocks/edit.html.erb +1 -0
- data/app/views/decidim/admin/static_page_topics/index.html.erb +2 -2
- data/app/views/decidim/admin/static_pages/edit.html.erb +2 -1
- data/app/views/decidim/admin/static_pages/index.html.erb +2 -2
- data/app/views/decidim/admin/statistics/_statistics.html.erb +1 -1
- data/app/views/decidim/admin/statistics/index.html.erb +2 -0
- data/app/views/decidim/admin/taxonomies/_row.html.erb +1 -1
- data/app/views/decidim/admin/taxonomies/_row_children.html.erb +1 -1
- data/app/views/decidim/admin/taxonomies/_table.html.erb +1 -1
- data/app/views/decidim/admin/taxonomies/edit.html.erb +2 -2
- data/app/views/decidim/admin/taxonomies/index.html.erb +4 -4
- data/app/views/decidim/admin/taxonomy_filters/index.html.erb +2 -2
- data/app/views/decidim/admin/taxonomy_filters_selector/index.html.erb +2 -0
- data/app/views/decidim/admin/taxonomy_filters_selector/new.html.erb +2 -0
- data/app/views/decidim/admin/taxonomy_filters_selector/show.html.erb +2 -0
- data/app/views/decidim/admin/taxonomy_items/edit.html.erb +2 -0
- data/app/views/decidim/admin/taxonomy_items/new.html.erb +2 -0
- data/app/views/decidim/admin/users/index.html.erb +3 -2
- data/config/locales/ar.yml +4 -48
- data/config/locales/bg.yml +4 -54
- data/config/locales/bs-BA.yml +0 -23
- data/config/locales/ca-IT.yml +126 -98
- data/config/locales/ca.yml +126 -98
- data/config/locales/cs.yml +122 -95
- data/config/locales/de.yml +109 -93
- data/config/locales/el.yml +11 -44
- data/config/locales/en.yml +126 -98
- data/config/locales/eo.yml +0 -6
- data/config/locales/es-MX.yml +126 -98
- data/config/locales/es-PY.yml +126 -98
- data/config/locales/es.yml +126 -98
- data/config/locales/eu.yml +126 -98
- data/config/locales/fi-plain.yml +126 -98
- data/config/locales/fi.yml +126 -98
- data/config/locales/fr-CA.yml +91 -90
- data/config/locales/fr.yml +91 -90
- data/config/locales/ga-IE.yml +0 -12
- data/config/locales/gl.yml +4 -40
- data/config/locales/he-IL.yml +0 -4
- data/config/locales/hu.yml +4 -51
- data/config/locales/id-ID.yml +4 -33
- data/config/locales/is-IS.yml +0 -14
- data/config/locales/it.yml +4 -67
- data/config/locales/ja.yml +124 -98
- data/config/locales/kaa.yml +0 -15
- data/config/locales/ko.yml +0 -39
- data/config/locales/lb.yml +4 -40
- data/config/locales/lt.yml +4 -51
- data/config/locales/lv.yml +4 -37
- data/config/locales/nl.yml +4 -45
- data/config/locales/no.yml +4 -45
- data/config/locales/pl.yml +4 -53
- data/config/locales/pt-BR.yml +109 -96
- data/config/locales/pt.yml +4 -41
- data/config/locales/ro-RO.yml +9 -50
- data/config/locales/ru.yml +4 -34
- data/config/locales/sk.yml +126 -98
- data/config/locales/sl.yml +0 -6
- data/config/locales/sq-AL.yml +0 -20
- data/config/locales/sr-CS.yml +0 -23
- data/config/locales/sv.yml +74 -86
- data/config/locales/th-TH.yml +0 -7
- data/config/locales/tr-TR.yml +21 -57
- data/config/locales/uk.yml +0 -25
- data/config/locales/zh-CN.yml +4 -37
- data/config/locales/zh-TW.yml +4 -51
- data/decidim-admin.gemspec +7 -10
- data/lib/decidim/admin/engine.rb +5 -2
- data/lib/decidim/admin/menu.rb +1 -1
- data/lib/decidim/admin/test/admin_members_shared_examples.rb +119 -0
- data/lib/decidim/admin/test/admin_participatory_space_access_examples.rb +3 -3
- data/lib/decidim/admin/test/filterable_examples.rb +20 -11
- data/lib/decidim/admin/test/invite_participatory_space_admins_shared_examples.rb +17 -17
- data/lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb +1 -1
- data/lib/decidim/admin/test/invite_participatory_space_moderators_shared_examples.rb +1 -1
- data/lib/decidim/admin/test/invite_participatory_space_users_shared_context.rb +1 -1
- data/lib/decidim/admin/test/manage_attachment_collections_examples.rb +3 -3
- data/lib/decidim/admin/test/manage_attachments_examples.rb +6 -6
- data/lib/decidim/admin/test/manage_component_permissions_examples.rb +5 -5
- data/lib/decidim/admin/test/manage_moderations_examples.rb +6 -6
- data/lib/decidim/admin/test/manage_participatory_space_publications_examples.rb +2 -2
- data/lib/decidim/admin/test/manage_resource_soft_deletion_examples.rb +3 -3
- data/lib/decidim/admin/version.rb +1 -1
- data/lib/decidim/admin.rb +0 -2
- metadata +39 -35
- data/app/commands/decidim/admin/create_participatory_space_private_user.rb +0 -98
- data/app/commands/decidim/admin/destroy_participatory_space_private_user.rb +0 -28
- data/app/commands/decidim/admin/process_participatory_space_private_user_import_csv.rb +0 -44
- data/app/commands/decidim/admin/publish_all_participatory_space_private_users.rb +0 -50
- data/app/commands/decidim/admin/unpublish_all_participatory_space_private_users.rb +0 -50
- data/app/commands/decidim/admin/update_participatory_space_private_user.rb +0 -11
- data/app/controllers/concerns/decidim/participatory_space_private_users/admin/filterable.rb +0 -34
- data/app/controllers/decidim/admin/concerns/has_private_users.rb +0 -169
- data/app/controllers/decidim/admin/concerns/has_private_users_csv_import.rb +0 -65
- data/app/forms/decidim/admin/participatory_space_private_user_csv_import_form.rb +0 -31
- data/app/forms/decidim/admin/participatory_space_private_user_form.rb +0 -24
- data/app/jobs/decidim/admin/destroy_private_users_follows_job.rb +0 -37
- data/app/jobs/decidim/admin/import_participatory_space_private_user_csv_job.rb +0 -27
- data/app/views/decidim/admin/devise/mailers/password_change.html.erb +0 -3
- data/app/views/decidim/admin/devise/mailers/reset_password_instructions.html.erb +0 -8
- /data/app/views/decidim/admin/{participatory_space_private_users → members}/_form.html.erb +0 -0
data/config/locales/zh-CN.yml
CHANGED
|
@@ -66,11 +66,6 @@ zh-CN:
|
|
|
66
66
|
welcome_notification_body: 欢迎通知机构
|
|
67
67
|
welcome_notification_subject: 欢迎通知主题
|
|
68
68
|
youtube_handler: YouTube 处理程序
|
|
69
|
-
participatory_space_private_user:
|
|
70
|
-
email: 电子邮件地址
|
|
71
|
-
name: 名称
|
|
72
|
-
participatory_space_private_user_csv_import:
|
|
73
|
-
file: 文件
|
|
74
69
|
scope:
|
|
75
70
|
code: 代码
|
|
76
71
|
name: 名称
|
|
@@ -230,10 +225,6 @@ zh-CN:
|
|
|
230
225
|
values:
|
|
231
226
|
'false': 已授权
|
|
232
227
|
'true': 未正式授权
|
|
233
|
-
participatory_space_private_users:
|
|
234
|
-
user_invitation_sent_at_not_null:
|
|
235
|
-
values:
|
|
236
|
-
'false': 未发送
|
|
237
228
|
private_space_eq:
|
|
238
229
|
label: 非公开的
|
|
239
230
|
values:
|
|
@@ -281,7 +272,6 @@ zh-CN:
|
|
|
281
272
|
impersonate: 仿冒的
|
|
282
273
|
impersonate_existing_managed_user: 管理参与者 "%{name}"
|
|
283
274
|
impersonate_existing_user: 管理参与者 "%{name}"
|
|
284
|
-
impersonate_new_managed_user: 管理新参与者
|
|
285
275
|
managed_users:
|
|
286
276
|
promotion:
|
|
287
277
|
error: 在促进管理下的参与者方面存在问题。
|
|
@@ -290,6 +280,10 @@ zh-CN:
|
|
|
290
280
|
new:
|
|
291
281
|
explanation: 管理下的参与者可以提升到标准参与者。 这意味着他们将被邀请到应用程序中,您将无法再次管理他们。 邀请的参与者将收到一封电子邮件来接受您的邀请。
|
|
292
282
|
promote: 升级
|
|
283
|
+
members_csv_imports:
|
|
284
|
+
new:
|
|
285
|
+
csv_upload:
|
|
286
|
+
title: 上传您的 CSV 文件
|
|
293
287
|
menu:
|
|
294
288
|
admin_log: 管理员活动日志
|
|
295
289
|
admins: 管理员
|
|
@@ -343,8 +337,6 @@ zh-CN:
|
|
|
343
337
|
sent_to: 发送至
|
|
344
338
|
subject: 议 题
|
|
345
339
|
name: 通讯
|
|
346
|
-
participatory_space_private_user:
|
|
347
|
-
name: 参与性空间私人参与者
|
|
348
340
|
scope:
|
|
349
341
|
fields:
|
|
350
342
|
name: 名称
|
|
@@ -423,7 +415,6 @@ zh-CN:
|
|
|
423
415
|
title: 选择要交付的收件人
|
|
424
416
|
warning: "<strong>注意:</strong> 这份通讯将只发送给已激活 <em>我想在其通知设置中接收新闻简讯</em>。"
|
|
425
417
|
show:
|
|
426
|
-
preview: 预览
|
|
427
418
|
select_recipients_to_deliver: 选择要交付的收件人
|
|
428
419
|
subject: 议 题
|
|
429
420
|
update:
|
|
@@ -465,24 +456,6 @@ zh-CN:
|
|
|
465
456
|
update:
|
|
466
457
|
error: 更新这个组织时出现问题。
|
|
467
458
|
success: 组织更新成功。
|
|
468
|
-
participatory_space_private_users:
|
|
469
|
-
create:
|
|
470
|
-
error: 在这种参与空间中添加私人参与者时出现了问题。
|
|
471
|
-
success: 参与性空间私人参与者访问成功创建。
|
|
472
|
-
destroy:
|
|
473
|
-
error: 删除这个参与空间的私人参与者时出错。
|
|
474
|
-
success: 参与性空间私人参与者访问成功被摧毁。
|
|
475
|
-
edit:
|
|
476
|
-
update: 更新
|
|
477
|
-
index:
|
|
478
|
-
title: 参与性空间私人参与者
|
|
479
|
-
new:
|
|
480
|
-
create: 创建
|
|
481
|
-
title: 新的参与性空间活动私人参与者。
|
|
482
|
-
participatory_space_private_users_csv_imports:
|
|
483
|
-
new:
|
|
484
|
-
csv_upload:
|
|
485
|
-
title: 上传您的 CSV 文件
|
|
486
459
|
resource_permissions:
|
|
487
460
|
edit:
|
|
488
461
|
submit: 提交
|
|
@@ -536,7 +509,6 @@ zh-CN:
|
|
|
536
509
|
title: 新主题
|
|
537
510
|
update:
|
|
538
511
|
error: 更新这个主题时出现问题。
|
|
539
|
-
success: 主题更新成功
|
|
540
512
|
static_pages:
|
|
541
513
|
create:
|
|
542
514
|
error: 创建新页面时出现问题。
|
|
@@ -557,13 +529,8 @@ zh-CN:
|
|
|
557
529
|
update:
|
|
558
530
|
error: 更新此页面时出现问题。
|
|
559
531
|
titles:
|
|
560
|
-
area_types: 区域类型
|
|
561
532
|
areas: 地区
|
|
562
533
|
authorization_workflows: 核查方法
|
|
563
|
-
impersonations: 参与者管理
|
|
564
|
-
pages: 页 次
|
|
565
|
-
participants: 参加者
|
|
566
|
-
scope_types: 范围类型
|
|
567
534
|
scopes: 范围
|
|
568
535
|
users:
|
|
569
536
|
create:
|
data/config/locales/zh-TW.yml
CHANGED
|
@@ -47,7 +47,6 @@ zh-TW:
|
|
|
47
47
|
default_locale: 預設語言
|
|
48
48
|
description: 說明
|
|
49
49
|
enable_omnipresent_banner: 顯示全域廣告
|
|
50
|
-
enable_participatory_space_filters: 啟用參與空間過濾器
|
|
51
50
|
facebook_handler: Facebook 處理器
|
|
52
51
|
favicon: 圖示
|
|
53
52
|
force_authentication: 強制認證
|
|
@@ -86,11 +85,6 @@ zh-TW:
|
|
|
86
85
|
welcome_notification_body: 歡迎通知內容
|
|
87
86
|
welcome_notification_subject: 歡迎通知主旨
|
|
88
87
|
youtube_handler: YouTube 處理器
|
|
89
|
-
participatory_space_private_user:
|
|
90
|
-
email: 電子郵件
|
|
91
|
-
name: 名稱
|
|
92
|
-
participatory_space_private_user_csv_import:
|
|
93
|
-
file: 檔案
|
|
94
88
|
scope:
|
|
95
89
|
code: 代碼
|
|
96
90
|
name: 名稱
|
|
@@ -131,10 +125,6 @@ zh-TW:
|
|
|
131
125
|
attributes:
|
|
132
126
|
official_img_footer:
|
|
133
127
|
allowed_file_content_types: 圖片有誤
|
|
134
|
-
participatory_space_private_user_csv_import:
|
|
135
|
-
attributes:
|
|
136
|
-
file:
|
|
137
|
-
malformed: 匯入檔案格式有誤,請小心閱讀教學並且確認檔案是使用 UTF-8 編碼
|
|
138
128
|
user_group_csv_verification:
|
|
139
129
|
attributes:
|
|
140
130
|
file:
|
|
@@ -172,8 +162,6 @@ zh-TW:
|
|
|
172
162
|
import: 匯入
|
|
173
163
|
newsletter:
|
|
174
164
|
new: 新電子報
|
|
175
|
-
participatory_space_private_user:
|
|
176
|
-
new: 新參與空間私有使用者
|
|
177
165
|
per_page: 每頁
|
|
178
166
|
share: 分享
|
|
179
167
|
user:
|
|
@@ -292,7 +280,6 @@ zh-TW:
|
|
|
292
280
|
title: '新增元件: %{name}'
|
|
293
281
|
publish:
|
|
294
282
|
success: 這個元件已經成功發佈
|
|
295
|
-
title: 组件
|
|
296
283
|
unpublish:
|
|
297
284
|
success: 這個元件已經成功取消發佈
|
|
298
285
|
update:
|
|
@@ -352,10 +339,6 @@ zh-TW:
|
|
|
352
339
|
values:
|
|
353
340
|
'false': 官方化
|
|
354
341
|
'true': 非官方化
|
|
355
|
-
participatory_space_private_users:
|
|
356
|
-
user_invitation_sent_at_not_null:
|
|
357
|
-
values:
|
|
358
|
-
'false': 未發送
|
|
359
342
|
private_space_eq:
|
|
360
343
|
label: 私人的
|
|
361
344
|
values:
|
|
@@ -418,7 +401,6 @@ zh-TW:
|
|
|
418
401
|
impersonate: 模擬
|
|
419
402
|
impersonate_existing_managed_user: 管理參與者 "%{name}"
|
|
420
403
|
impersonate_existing_user: 管理參與者 "%{name}"
|
|
421
|
-
impersonate_new_managed_user: 管理新參與者
|
|
422
404
|
imports:
|
|
423
405
|
and: 和
|
|
424
406
|
data_errors:
|
|
@@ -468,6 +450,10 @@ zh-TW:
|
|
|
468
450
|
new:
|
|
469
451
|
explanation: 受管理的參與者可以晉升為標準參與者。這意味著他們將受邀加入應用程式,您將無法再對其進行管理。被邀請的參與者將收到一封電子郵件,以接受您的邀請。
|
|
470
452
|
promote: 推廣
|
|
453
|
+
members_csv_imports:
|
|
454
|
+
new:
|
|
455
|
+
csv_upload:
|
|
456
|
+
title: 請上傳您的 CSV 檔案。
|
|
471
457
|
menu:
|
|
472
458
|
admin_log: 管理員活動日誌
|
|
473
459
|
admins: 管理員
|
|
@@ -525,8 +511,6 @@ zh-TW:
|
|
|
525
511
|
sent_to: 發送至
|
|
526
512
|
subject: 主旨
|
|
527
513
|
name: 電子報
|
|
528
|
-
participatory_space_private_user:
|
|
529
|
-
name: 參與空間私有參與者
|
|
530
514
|
scope:
|
|
531
515
|
fields:
|
|
532
516
|
name: 名稱
|
|
@@ -649,7 +633,6 @@ zh-TW:
|
|
|
649
633
|
send:
|
|
650
634
|
no_recipients: 沒有選擇收件人.
|
|
651
635
|
show:
|
|
652
|
-
preview: 預覽
|
|
653
636
|
select_recipients_to_deliver: 選擇要傳送的收件人
|
|
654
637
|
subject: 主旨
|
|
655
638
|
update:
|
|
@@ -703,30 +686,6 @@ zh-TW:
|
|
|
703
686
|
update:
|
|
704
687
|
error: 更新此組織時發生問題。
|
|
705
688
|
success: 組織更新成功
|
|
706
|
-
participatory_space_private_users:
|
|
707
|
-
create:
|
|
708
|
-
error: 在此參與空間中添加私人參與者時出現問題。
|
|
709
|
-
success: 成功建立參與空間的私人參與者訪問權限。
|
|
710
|
-
destroy:
|
|
711
|
-
error: 刪除參與空間的私人參與者時發生問題。
|
|
712
|
-
success: 成功刪除參與空間的私人參與者訪問權限。
|
|
713
|
-
edit:
|
|
714
|
-
update: 更新
|
|
715
|
-
index:
|
|
716
|
-
title: 參與空間私有參與者
|
|
717
|
-
new:
|
|
718
|
-
create: 建立
|
|
719
|
-
title: 新的參與空間私人參與者。
|
|
720
|
-
participatory_space_private_users_csv_imports:
|
|
721
|
-
new:
|
|
722
|
-
csv_upload:
|
|
723
|
-
title: 請上傳您的 CSV 檔案。
|
|
724
|
-
destroy:
|
|
725
|
-
button: 刪除所有私人參與者
|
|
726
|
-
confirm: 您確定要刪除所有私人參與者嗎?此操作無法撤銷,您將無法恢復它們。
|
|
727
|
-
empty: 您沒有私人參與者。
|
|
728
|
-
explanation: 您有 %{count} 位私人參與者。
|
|
729
|
-
title: 刪除私人參與者
|
|
730
689
|
reminders:
|
|
731
690
|
create:
|
|
732
691
|
error: 在創建提醒時遇到問題。
|
|
@@ -792,7 +751,6 @@ zh-TW:
|
|
|
792
751
|
title: 新增主題
|
|
793
752
|
update:
|
|
794
753
|
error: 更新主題時發生問題。
|
|
795
|
-
success: 主題已成功更新。
|
|
796
754
|
static_pages:
|
|
797
755
|
create:
|
|
798
756
|
error: 創建新頁面時出現問題。
|
|
@@ -816,14 +774,9 @@ zh-TW:
|
|
|
816
774
|
error: 更新此頁面時出現問題。
|
|
817
775
|
success: 頁面已更新成功.
|
|
818
776
|
titles:
|
|
819
|
-
area_types: 區域類型
|
|
820
777
|
areas: 區域
|
|
821
778
|
authorization_workflows: 驗證方式
|
|
822
|
-
impersonations: 參與者管理
|
|
823
|
-
pages: 頁
|
|
824
779
|
panel: 管理員
|
|
825
|
-
participants: 參與者
|
|
826
|
-
scope_types: 範圍類型
|
|
827
780
|
scopes: 範圍
|
|
828
781
|
users:
|
|
829
782
|
create:
|
data/decidim-admin.gemspec
CHANGED
|
@@ -2,12 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
$LOAD_PATH.push File.expand_path("lib", __dir__)
|
|
4
4
|
|
|
5
|
-
# Maintain your gem's version:
|
|
6
|
-
require "decidim/admin/version"
|
|
7
|
-
|
|
8
|
-
# Describe your gem and declare its dependencies:
|
|
9
5
|
Gem::Specification.new do |s|
|
|
10
|
-
|
|
6
|
+
version = "0.32.0.rc2"
|
|
7
|
+
s.version = version
|
|
11
8
|
s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
|
|
12
9
|
s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
|
|
13
10
|
s.license = "AGPL-3.0-or-later"
|
|
@@ -19,7 +16,7 @@ Gem::Specification.new do |s|
|
|
|
19
16
|
"homepage_uri" => "https://decidim.org",
|
|
20
17
|
"source_code_uri" => "https://github.com/decidim/decidim"
|
|
21
18
|
}
|
|
22
|
-
s.required_ruby_version = "~> 3.
|
|
19
|
+
s.required_ruby_version = "~> 3.4.0"
|
|
23
20
|
|
|
24
21
|
s.name = "decidim-admin"
|
|
25
22
|
s.summary = "Decidim organization administration"
|
|
@@ -33,11 +30,11 @@ Gem::Specification.new do |s|
|
|
|
33
30
|
end
|
|
34
31
|
|
|
35
32
|
s.add_dependency "active_link_to", "~> 1.0"
|
|
36
|
-
s.add_dependency "decidim-core",
|
|
37
|
-
s.add_dependency "devise", "
|
|
33
|
+
s.add_dependency "decidim-core", version
|
|
34
|
+
s.add_dependency "devise", ">= 4.7", "< 6.0"
|
|
38
35
|
s.add_dependency "devise-i18n", "~> 1.2"
|
|
39
36
|
s.add_dependency "devise_invitable", "~> 2.0", ">= 2.0.9"
|
|
40
37
|
|
|
41
|
-
s.add_development_dependency "decidim-dev",
|
|
42
|
-
s.add_development_dependency "decidim-participatory_processes",
|
|
38
|
+
s.add_development_dependency "decidim-dev", version
|
|
39
|
+
s.add_development_dependency "decidim-participatory_processes", version
|
|
43
40
|
end
|
data/lib/decidim/admin/engine.rb
CHANGED
|
@@ -20,7 +20,11 @@ module Decidim
|
|
|
20
20
|
|
|
21
21
|
initializer "decidim_admin.mount_routes" do |_app|
|
|
22
22
|
Decidim::Core::Engine.routes do
|
|
23
|
-
|
|
23
|
+
extend Decidim::Routes::LocaleRedirects
|
|
24
|
+
|
|
25
|
+
scope "/:locale", **locale_scope_options do
|
|
26
|
+
mount Decidim::Admin::Engine => "/admin"
|
|
27
|
+
end
|
|
24
28
|
end
|
|
25
29
|
end
|
|
26
30
|
|
|
@@ -44,7 +48,6 @@ module Decidim
|
|
|
44
48
|
Decidim.icons.register(name: "earth-line", icon: "earth-line", category: "system", description: "Earth line", engine: :admin)
|
|
45
49
|
|
|
46
50
|
Decidim.icons.register(name: "attachment-2", icon: "attachment-2", category: "system", description: "", engine: :admin)
|
|
47
|
-
Decidim.icons.register(name: "spy-line", icon: "spy-line", category: "system", description: "", engine: :admin)
|
|
48
51
|
Decidim.icons.register(name: "refresh-line", icon: "refresh-line", category: "system", description: "", engine: :admin)
|
|
49
52
|
Decidim.icons.register(name: "zoom-in-line", icon: "zoom-in-line", category: "system", description: "", engine: :admin)
|
|
50
53
|
Decidim.icons.register(name: "add-line", icon: "add-line", category: "system", description: "", engine: :admin)
|
data/lib/decidim/admin/menu.rb
CHANGED
|
@@ -48,7 +48,7 @@ module Decidim
|
|
|
48
48
|
def self.register_impersonate_menu!
|
|
49
49
|
Decidim.menu :impersonate_menu do |menu|
|
|
50
50
|
menu.add_item :conflicts,
|
|
51
|
-
I18n.t("title", scope: "decidim.admin.conflicts"),
|
|
51
|
+
I18n.t("title", scope: "decidim.admin.conflicts.index"),
|
|
52
52
|
decidim_admin.conflicts_path,
|
|
53
53
|
active: is_active_link?(decidim_admin.conflicts_path),
|
|
54
54
|
if: allowed_to?(:index, :impersonatable_user)
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
shared_examples "manage admin members examples" do
|
|
4
|
+
let(:other_user) { create(:user, organization:, email: "my_email@example.org") }
|
|
5
|
+
|
|
6
|
+
let!(:member) { create(:member, user:, participatory_space:) }
|
|
7
|
+
|
|
8
|
+
before do
|
|
9
|
+
switch_to_host(organization.host)
|
|
10
|
+
login_as user, scope: :user
|
|
11
|
+
visit participatory_space_edit_path
|
|
12
|
+
within_admin_sidebar_menu do
|
|
13
|
+
click_on "Members"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it "shows the member list" do
|
|
18
|
+
within "#members table" do
|
|
19
|
+
expect(page).to have_content(member.user.email)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it "creates a new member" do
|
|
24
|
+
click_on "New member"
|
|
25
|
+
|
|
26
|
+
within ".new_member" do
|
|
27
|
+
fill_in :member_name, with: "John Doe"
|
|
28
|
+
fill_in :member_email, with: other_user.email
|
|
29
|
+
|
|
30
|
+
find("*[type=submit]").click
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
expect(page).to have_callout("Member access successfully created.")
|
|
34
|
+
|
|
35
|
+
within "#members table" do
|
|
36
|
+
expect(page).to have_content(other_user.email)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
visit decidim_admin.root_path
|
|
40
|
+
expect(page).to have_content("invited #{other_user.name} to be a member")
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
describe "when import a batch of members from csv" do
|
|
44
|
+
it "import a batch of members" do
|
|
45
|
+
click_on "Import via CSV"
|
|
46
|
+
|
|
47
|
+
# The CSV has no headers
|
|
48
|
+
expect(Decidim::Admin::ParticipatorySpace::ImportMemberCsvJob).to receive(:perform_later).once.ordered.with("john.doe@example.org", "John Doe", participatory_space, user)
|
|
49
|
+
expect(Decidim::Admin::ParticipatorySpace::ImportMemberCsvJob).to receive(:perform_later).once.ordered.with("jane.doe@example.org", "Jane Doe", participatory_space, user)
|
|
50
|
+
dynamically_attach_file(:member_csv_import_file, Decidim::Dev.asset("import_members.csv"))
|
|
51
|
+
perform_enqueued_jobs { click_on "Upload" }
|
|
52
|
+
|
|
53
|
+
expect(page).to have_content("CSV file uploaded successfully")
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
describe "when publishing all members" do
|
|
58
|
+
let!(:member) { create(:member, :unpublished, user:, participatory_space:) }
|
|
59
|
+
|
|
60
|
+
it "publishes all members" do
|
|
61
|
+
click_on "Publish all"
|
|
62
|
+
|
|
63
|
+
sleep(1)
|
|
64
|
+
expect(member.reload).to be_published
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
it "displays the correct log message" do
|
|
68
|
+
click_on "Publish all"
|
|
69
|
+
sleep(1)
|
|
70
|
+
visit decidim_admin.root_path
|
|
71
|
+
expect(page).to have_content("published all members of the #{translated(participatory_space.title)}")
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
describe "when managing different users" do
|
|
76
|
+
before do
|
|
77
|
+
create(:member, user: other_user, participatory_space:)
|
|
78
|
+
visit current_path
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
it "deletes a member" do
|
|
82
|
+
within "#members tr", text: other_user.email do
|
|
83
|
+
find("button[data-controller='dropdown']").click
|
|
84
|
+
accept_confirm { click_on "Delete" }
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
expect(page).to have_callout("Member access successfully destroyed.")
|
|
88
|
+
|
|
89
|
+
within "#members table" do
|
|
90
|
+
expect(page).to have_no_content(other_user.email)
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
context "when the user has not accepted the invitation" do
|
|
95
|
+
before do
|
|
96
|
+
form = Decidim::Admin::ParticipatorySpace::MemberForm.from_params(
|
|
97
|
+
name: "test",
|
|
98
|
+
email: "test@example.org"
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
Decidim::Admin::ParticipatorySpace::CreateMember.call(
|
|
102
|
+
form,
|
|
103
|
+
participatory_space
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
visit current_path
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
it "resends the invitation to the user" do
|
|
110
|
+
within "#members tr", text: "test@example.org" do
|
|
111
|
+
find("button[data-controller='dropdown']").click
|
|
112
|
+
click_on "Resend invitation"
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
expect(page).to have_callout("Invitation successfully resent.")
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
@@ -11,7 +11,7 @@ end
|
|
|
11
11
|
shared_examples "showing the unauthorized error message" do
|
|
12
12
|
it "redirects to the relevant unauthorized page" do
|
|
13
13
|
expect(page).to have_content("You are not authorized to perform this action")
|
|
14
|
-
expect(page).to have_current_path(
|
|
14
|
+
expect(page).to have_current_path(decidim_admin.root_path)
|
|
15
15
|
end
|
|
16
16
|
end
|
|
17
17
|
|
|
@@ -40,7 +40,7 @@ shared_examples "admin participatory space access" do
|
|
|
40
40
|
|
|
41
41
|
context "when the user is a normal user" do
|
|
42
42
|
let(:user) { create(:user, :confirmed, organization:) }
|
|
43
|
-
let(:unauthorized_path) {
|
|
43
|
+
let(:unauthorized_path) { decidim.root_path }
|
|
44
44
|
|
|
45
45
|
it_behaves_like "a 404 page"
|
|
46
46
|
end
|
|
@@ -53,7 +53,7 @@ shared_examples "admin participatory space access" do
|
|
|
53
53
|
visit decidim.root_path
|
|
54
54
|
|
|
55
55
|
within "#admin-bar" do
|
|
56
|
-
expect(page).to have_link("Admin dashboard", href:
|
|
56
|
+
expect(page).to have_link("Admin dashboard", href: decidim_admin.root_path)
|
|
57
57
|
end
|
|
58
58
|
end
|
|
59
59
|
end
|
|
@@ -148,27 +148,36 @@ shared_examples "filtering collection by published/unpublished" do
|
|
|
148
148
|
it_behaves_like "paginating a collection"
|
|
149
149
|
end
|
|
150
150
|
|
|
151
|
-
shared_examples "filtering collection by
|
|
151
|
+
shared_examples "filtering collection by open/restricted/transparent" do
|
|
152
152
|
include_context "with filterable context"
|
|
153
153
|
|
|
154
154
|
unless block_given?
|
|
155
|
-
let!(:
|
|
156
|
-
create(factory_name,
|
|
155
|
+
let!(:open_space) do
|
|
156
|
+
create(factory_name, :open, organization:)
|
|
157
157
|
end
|
|
158
158
|
|
|
159
|
-
let!(:
|
|
160
|
-
create(factory_name,
|
|
159
|
+
let!(:restricted_space) do
|
|
160
|
+
create(factory_name, :restricted, organization:)
|
|
161
161
|
end
|
|
162
|
+
|
|
163
|
+
let!(:transparent_space) do
|
|
164
|
+
create(factory_name, :transparent, organization:)
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
it_behaves_like "a filtered collection", options: "Access mode", filter: "Open" do
|
|
169
|
+
let(:in_filter) { translated(open_space.title) }
|
|
170
|
+
let(:not_in_filter) { [translated(restricted_space.title), translated(transparent_space.title)] }
|
|
162
171
|
end
|
|
163
172
|
|
|
164
|
-
it_behaves_like "a filtered collection", options: "
|
|
165
|
-
let(:in_filter) { translated(
|
|
166
|
-
let(:not_in_filter) { translated(
|
|
173
|
+
it_behaves_like "a filtered collection", options: "Access mode", filter: "Restricted" do
|
|
174
|
+
let(:in_filter) { translated(restricted_space.title) }
|
|
175
|
+
let(:not_in_filter) { [translated(open_space.title), translated(transparent_space.title)] }
|
|
167
176
|
end
|
|
168
177
|
|
|
169
|
-
it_behaves_like "a filtered collection", options: "
|
|
170
|
-
let(:in_filter) { translated(
|
|
171
|
-
let(:not_in_filter) { translated(
|
|
178
|
+
it_behaves_like "a filtered collection", options: "Access mode", filter: "Transparent" do
|
|
179
|
+
let(:in_filter) { translated(transparent_space.title) }
|
|
180
|
+
let(:not_in_filter) { [translated(open_space.title), translated(restricted_space.title)] }
|
|
172
181
|
end
|
|
173
182
|
|
|
174
183
|
it_behaves_like "paginating a collection"
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
shared_examples "inviting participatory space admins" do |
|
|
3
|
+
shared_examples "inviting participatory space admins" do |check_members_page: true, check_landing_page: true|
|
|
4
4
|
let(:role) { "Administrator" }
|
|
5
5
|
|
|
6
6
|
before do
|
|
7
7
|
switch_to_host organization.host
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
-
shared_examples "sees
|
|
10
|
+
shared_examples "sees space without members menu" do
|
|
11
11
|
it "can access all sections" do
|
|
12
12
|
within_admin_sidebar_menu do
|
|
13
13
|
expect(page).to have_content(about_this_space_label)
|
|
@@ -16,13 +16,13 @@ shared_examples "inviting participatory space admins" do |check_private_space: t
|
|
|
16
16
|
expect(page).to have_content("Components")
|
|
17
17
|
expect(page).to have_content("Attachments")
|
|
18
18
|
expect(page).to have_content(space_admins_label)
|
|
19
|
-
expect(page).to have_no_content("Members") if participatory_space.respond_to?(:
|
|
19
|
+
expect(page).to have_no_content("Members") if participatory_space.respond_to?(:has_members)
|
|
20
20
|
expect(page).to have_content("Moderations")
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
shared_examples "sees
|
|
25
|
+
shared_examples "sees space with members menu" do
|
|
26
26
|
it "can access all sections" do
|
|
27
27
|
within_admin_sidebar_menu do
|
|
28
28
|
expect(page).to have_content(about_this_space_label)
|
|
@@ -31,7 +31,7 @@ shared_examples "inviting participatory space admins" do |check_private_space: t
|
|
|
31
31
|
expect(page).to have_content("Components")
|
|
32
32
|
expect(page).to have_content("Attachments")
|
|
33
33
|
expect(page).to have_content(space_admins_label)
|
|
34
|
-
expect(page).to have_content("Members") if participatory_space.respond_to?(:
|
|
34
|
+
expect(page).to have_content("Members") if participatory_space.respond_to?(:has_members)
|
|
35
35
|
expect(page).to have_content("Moderations")
|
|
36
36
|
end
|
|
37
37
|
end
|
|
@@ -52,7 +52,7 @@ shared_examples "inviting participatory space admins" do |check_private_space: t
|
|
|
52
52
|
find("*[type=submit]").click
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
-
expect(page).to have_current_path
|
|
55
|
+
expect(page).to have_current_path decidim_admin.admin_terms_show_path
|
|
56
56
|
|
|
57
57
|
visit decidim_admin.admin_terms_show_path
|
|
58
58
|
|
|
@@ -81,7 +81,7 @@ shared_examples "inviting participatory space admins" do |check_private_space: t
|
|
|
81
81
|
find("*[type=submit]").click
|
|
82
82
|
end
|
|
83
83
|
|
|
84
|
-
expect(page).to have_current_path
|
|
84
|
+
expect(page).to have_current_path decidim_admin.admin_terms_show_path
|
|
85
85
|
|
|
86
86
|
visit decidim_admin.admin_terms_show_path
|
|
87
87
|
|
|
@@ -98,14 +98,14 @@ shared_examples "inviting participatory space admins" do |check_private_space: t
|
|
|
98
98
|
end
|
|
99
99
|
|
|
100
100
|
context "and is a public space" do
|
|
101
|
-
it_behaves_like "sees
|
|
101
|
+
it_behaves_like "sees space without members menu"
|
|
102
102
|
end
|
|
103
103
|
|
|
104
|
-
if
|
|
105
|
-
context "and is a
|
|
106
|
-
let(:participatory_space) {
|
|
104
|
+
if check_members_page
|
|
105
|
+
context "and is a space with members" do
|
|
106
|
+
let(:participatory_space) { members_participatory_space }
|
|
107
107
|
|
|
108
|
-
it_behaves_like "sees
|
|
108
|
+
it_behaves_like "sees space with members menu"
|
|
109
109
|
end
|
|
110
110
|
end
|
|
111
111
|
end
|
|
@@ -163,14 +163,14 @@ shared_examples "inviting participatory space admins" do |check_private_space: t
|
|
|
163
163
|
end
|
|
164
164
|
|
|
165
165
|
context "and is a public space" do
|
|
166
|
-
it_behaves_like "sees
|
|
166
|
+
it_behaves_like "sees space without members menu"
|
|
167
167
|
end
|
|
168
168
|
|
|
169
|
-
if
|
|
170
|
-
context "and is a
|
|
171
|
-
let(:participatory_space) {
|
|
169
|
+
if check_members_page
|
|
170
|
+
context "and is a space with members" do
|
|
171
|
+
let(:participatory_space) { members_participatory_space }
|
|
172
172
|
|
|
173
|
-
it_behaves_like "sees
|
|
173
|
+
it_behaves_like "sees space with members menu"
|
|
174
174
|
end
|
|
175
175
|
end
|
|
176
176
|
end
|
|
@@ -22,7 +22,7 @@ shared_examples "inviting participatory space collaborators" do
|
|
|
22
22
|
find("*[type=submit]").click
|
|
23
23
|
end
|
|
24
24
|
|
|
25
|
-
expect(page).to have_current_path
|
|
25
|
+
expect(page).to have_current_path decidim_admin.admin_terms_show_path
|
|
26
26
|
|
|
27
27
|
visit decidim_admin.admin_terms_show_path
|
|
28
28
|
find_button("I agree with the terms").click
|
|
@@ -20,7 +20,7 @@ shared_examples "inviting participatory space moderators" do
|
|
|
20
20
|
find("*[type=submit]").click
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
expect(page).to have_current_path
|
|
23
|
+
expect(page).to have_current_path decidim_admin.admin_terms_show_path
|
|
24
24
|
|
|
25
25
|
visit decidim_admin.admin_terms_show_path
|
|
26
26
|
find_button("I agree with the terms").click
|
|
@@ -18,7 +18,7 @@ shared_context "when inviting participatory space users" do
|
|
|
18
18
|
fill_in "Email", with: email
|
|
19
19
|
select role, from: "Role"
|
|
20
20
|
click_on "Create"
|
|
21
|
-
expect(page).to
|
|
21
|
+
expect(page).to have_callout(added_callout_message)
|
|
22
22
|
logout :user
|
|
23
23
|
end
|
|
24
24
|
|
|
@@ -44,7 +44,7 @@ shared_examples "manage attachment collections examples" do
|
|
|
44
44
|
find("*[type=submit]").click
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
-
expect(page).to
|
|
47
|
+
expect(page).to have_callout("Folder created successfully.")
|
|
48
48
|
|
|
49
49
|
within "#attachment_collections table" do
|
|
50
50
|
expect(page).to have_content(translated(attributes[:name]))
|
|
@@ -72,7 +72,7 @@ shared_examples "manage attachment collections examples" do
|
|
|
72
72
|
find("*[type=submit]").click
|
|
73
73
|
end
|
|
74
74
|
|
|
75
|
-
expect(page).to
|
|
75
|
+
expect(page).to have_callout("Folder updated successfully.")
|
|
76
76
|
|
|
77
77
|
within "#attachment_collections table" do
|
|
78
78
|
expect(page).to have_content(translated(attributes[:name]))
|
|
@@ -96,7 +96,7 @@ shared_examples "manage attachment collections examples" do
|
|
|
96
96
|
accept_confirm { click_on "Delete" }
|
|
97
97
|
end
|
|
98
98
|
|
|
99
|
-
expect(page).to
|
|
99
|
+
expect(page).to have_callout("Folder destroyed successfully.")
|
|
100
100
|
|
|
101
101
|
within "#attachment_collections table" do
|
|
102
102
|
expect(page).to have_no_content(translated(attachment_collection2.name))
|