decidim-decidim_awesome 0.10.2 → 0.10.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -1
  3. data/README.md +134 -15
  4. data/app/cells/concerns/decidim/decidim_awesome/proposal_m_cell_override.rb +4 -24
  5. data/app/cells/decidim/decidim_awesome/content_blocks/map_cell.rb +9 -5
  6. data/app/commands/concerns/decidim/decidim_awesome/admin/needs_constraint_helpers.rb +1 -1
  7. data/app/commands/concerns/decidim/decidim_awesome/proposals/admin/update_proposal_override.rb +31 -0
  8. data/app/commands/concerns/decidim/decidim_awesome/proposals/create_collaborative_draft_override.rb +27 -0
  9. data/app/commands/concerns/decidim/decidim_awesome/proposals/create_proposal_override.rb +27 -0
  10. data/app/commands/concerns/decidim/decidim_awesome/proposals/update_collaborative_draft_override.rb +27 -0
  11. data/app/commands/concerns/decidim/decidim_awesome/proposals/update_proposal_override.rb +26 -0
  12. data/app/commands/decidim/decidim_awesome/admin/create_proposal_custom_field.rb +4 -3
  13. data/app/commands/decidim/decidim_awesome/admin/destroy_proposal_custom_field.rb +6 -3
  14. data/app/controllers/concerns/decidim/decidim_awesome/admin/maintenance_context.rb +43 -0
  15. data/app/controllers/concerns/decidim/decidim_awesome/admin_accountability/admin/filterable_helper.rb +3 -2
  16. data/app/controllers/concerns/decidim/decidim_awesome/limit_pending_amendments.rb +35 -0
  17. data/app/controllers/concerns/decidim/decidim_awesome/proposals/orderable_override.rb +9 -22
  18. data/app/controllers/decidim/decidim_awesome/admin/admin_accountability_controller.rb +7 -7
  19. data/app/controllers/decidim/decidim_awesome/admin/application_controller.rb +2 -0
  20. data/app/controllers/decidim/decidim_awesome/admin/checks_controller.rb +7 -3
  21. data/app/controllers/decidim/decidim_awesome/admin/config_controller.rb +8 -5
  22. data/app/controllers/decidim/decidim_awesome/admin/constraints_controller.rb +3 -1
  23. data/app/controllers/decidim/decidim_awesome/admin/custom_redirects_controller.rb +0 -2
  24. data/app/controllers/decidim/decidim_awesome/admin/maintenance_controller.rb +76 -0
  25. data/app/controllers/decidim/decidim_awesome/admin/menu_hacks_controller.rb +0 -2
  26. data/app/controllers/decidim/decidim_awesome/admin/proposal_custom_fields_controller.rb +12 -4
  27. data/app/controllers/decidim/decidim_awesome/iframe_component/iframe_controller.rb +8 -1
  28. data/app/forms/concerns/decidim/decidim_awesome/proposals/proposal_form_override.rb +21 -0
  29. data/app/forms/{decidim → concerns/decidim}/decidim_awesome/proposals/proposal_wizard_create_step_form_override.rb +1 -0
  30. data/app/forms/decidim/decidim_awesome/admin/config_form.rb +35 -9
  31. data/app/helpers/{decidim → concerns/decidim}/decidim_awesome/amendments_helper_override.rb +17 -7
  32. data/app/helpers/concerns/decidim/decidim_awesome/proposals/application_helper_override.rb +126 -0
  33. data/app/helpers/decidim/decidim_awesome/admin/config_constraints_helpers.rb +5 -26
  34. data/app/jobs/decidim/decidim_awesome/destroy_private_data_job.rb +22 -0
  35. data/app/models/concerns/decidim/decidim_awesome/has_proposal_extra_fields.rb +38 -9
  36. data/app/models/decidim/decidim_awesome/paper_trail_version.rb +5 -1
  37. data/app/models/decidim/decidim_awesome/proposal_extra_field.rb +35 -1
  38. data/app/overrides/decidim/proposals/admin/proposals/show/add_private_body.html.erb.deface +7 -0
  39. data/app/overrides/decidim/proposals/admin/proposals/show/replace_body.html.erb.deface +5 -0
  40. data/app/overrides/decidim/proposals/proposals/show/limit_amendments_modal.html.erb.deface +5 -0
  41. data/app/packs/entrypoints/decidim_decidim_awesome_map.scss +1 -1
  42. data/app/packs/src/decidim/decidim_awesome/admin/auto_edit.js +5 -3
  43. data/app/packs/src/decidim/decidim_awesome/admin/constraints.js +1 -1
  44. data/app/packs/src/decidim/decidim_awesome/admin/custom_fields_builder.js +5 -4
  45. data/app/packs/src/decidim/decidim_awesome/amendments/show_modal_on_limits.js +30 -0
  46. data/app/packs/src/decidim/decidim_awesome/awesome_application.js +1 -0
  47. data/app/packs/src/decidim/decidim_awesome/editors/editor.js +1 -6
  48. data/app/packs/src/decidim/decidim_awesome/editors/tabs_focus.js +18 -9
  49. data/app/packs/src/decidim/decidim_awesome/forms/custom_fields_renderer.js +35 -26
  50. data/app/packs/src/decidim/decidim_awesome/proposals/custom_fields.js +31 -15
  51. data/app/packs/stylesheets/decidim/decidim_awesome/admin/codemirror.scss +12 -7
  52. data/app/packs/stylesheets/decidim/decidim_awesome/admin/constraints.scss +69 -25
  53. data/app/packs/stylesheets/decidim/decidim_awesome/admin/custom_fields.scss +34 -27
  54. data/app/packs/stylesheets/decidim/decidim_awesome/admin/user_picker.scss +2 -2
  55. data/app/packs/stylesheets/decidim/decidim_awesome/awesome_admin.scss +3 -3
  56. data/app/packs/stylesheets/decidim/decidim_awesome/awesome_admin_global.scss +28 -0
  57. data/app/packs/stylesheets/decidim/decidim_awesome/awesome_application.scss +3 -2
  58. data/app/packs/stylesheets/decidim/decidim_awesome/awesome_map/map.scss +15 -15
  59. data/app/packs/stylesheets/decidim/decidim_awesome/editors/quill_editor.scss +3 -3
  60. data/app/packs/stylesheets/decidim/decidim_awesome/forms/autosave.scss +3 -3
  61. data/app/packs/stylesheets/decidim/decidim_awesome/forms/custom_fields.scss +187 -0
  62. data/app/packs/stylesheets/decidim/decidim_awesome/shared/spinner.scss +47 -0
  63. data/app/packs/stylesheets/decidim/decidim_awesome/voting/voting_cards.scss +7 -7
  64. data/app/permissions/decidim/decidim_awesome/admin/permissions.rb +14 -3
  65. data/app/presenters/concerns/decidim/decidim_awesome/proposals/proposal_presenter_override.rb +20 -0
  66. data/app/presenters/decidim/decidim_awesome/admin_log/component_presenter_override.rb +30 -0
  67. data/app/presenters/decidim/decidim_awesome/private_data_presenter.rb +70 -0
  68. data/app/queries/decidim/decidim_awesome/private_data_finder.rb +19 -0
  69. data/app/serializers/concerns/decidim/decidim_awesome/proposal_serializer_override.rb +1 -0
  70. data/app/serializers/concerns/decidim/decidim_awesome/proposals/proposal_serializer_methods.rb +72 -0
  71. data/app/serializers/concerns/decidim/decidim_awesome/proposals/proposal_serializer_override.rb +38 -0
  72. data/app/serializers/decidim/decidim_awesome/proposals/private_proposal_serializer.rb +42 -0
  73. data/app/types/concerns/decidim/decidim_awesome/add_proposal_type_custom_fields.rb +59 -0
  74. data/app/types/concerns/decidim/decidim_awesome/{proposal_type_override.rb → add_proposal_type_vote_weights.rb} +3 -1
  75. data/app/views/decidim/decidim_awesome/admin/checks/index.html.erb +52 -48
  76. data/app/views/decidim/decidim_awesome/admin/config/_autoedit_box_label.html.erb +7 -2
  77. data/app/views/decidim/decidim_awesome/admin/config/_constraints.html.erb +16 -8
  78. data/app/views/decidim/decidim_awesome/admin/config/_form_admins.html.erb +1 -1
  79. data/app/views/decidim/decidim_awesome/admin/config/_form_editors.html.erb +12 -16
  80. data/app/views/decidim/decidim_awesome/admin/config/_form_proposal_custom_fields.html.erb +35 -15
  81. data/app/views/decidim/decidim_awesome/admin/config/_form_proposal_private_custom_fields.html.erb +1 -0
  82. data/app/views/decidim/decidim_awesome/admin/config/_form_proposals.html.erb +22 -22
  83. data/app/views/decidim/decidim_awesome/admin/config/_form_styles.html.erb +1 -1
  84. data/app/views/decidim/decidim_awesome/admin/config/show.html.erb +1 -1
  85. data/app/views/decidim/decidim_awesome/admin/custom_redirects/index.html.erb +14 -13
  86. data/app/views/decidim/decidim_awesome/admin/maintenance/_private_data.html.erb +44 -0
  87. data/app/views/decidim/decidim_awesome/admin/maintenance/show.html.erb +44 -0
  88. data/app/views/decidim/decidim_awesome/admin/menu_hacks/index.html.erb +28 -29
  89. data/app/views/decidim/decidim_awesome/admin/proposals/_editor.html.erb +8 -5
  90. data/app/views/decidim/decidim_awesome/admin/proposals/_private_body.html.erb +20 -0
  91. data/app/views/decidim/decidim_awesome/amendments/_modal.html.erb +16 -0
  92. data/app/views/decidim/decidim_awesome/custom_fields/_form_render.html.erb +10 -2
  93. data/app/views/layouts/decidim/decidim_awesome/admin/_base.html.erb +21 -0
  94. data/app/views/layouts/decidim/decidim_awesome/admin/application.html.erb +1 -73
  95. data/app/views/layouts/decidim/decidim_awesome/admin/maintenance.html.erb +19 -0
  96. data/config/i18n-tasks.yml +22 -3
  97. data/config/locales/ca.yml +97 -9
  98. data/config/locales/cs.yml +109 -6
  99. data/config/locales/de.yml +92 -6
  100. data/config/locales/en.yml +102 -8
  101. data/config/locales/es.yml +96 -8
  102. data/config/locales/eu.yml +15 -1
  103. data/config/locales/fr.yml +94 -6
  104. data/config/locales/hu.yml +53 -4
  105. data/config/locales/it.yml +16 -6
  106. data/config/locales/ja.yml +94 -6
  107. data/config/locales/lt.yml +0 -2
  108. data/config/locales/nl.yml +9 -4
  109. data/config/locales/pt-BR.yml +16 -7
  110. data/config/locales/ro-RO.yml +11 -2
  111. data/config/locales/sv.yml +17 -6
  112. data/db/migrate/20240531224204_add_decidim_awesome_proposal_private_fields.rb +29 -0
  113. data/db/migrate/20240729164227_add_decidim_awesome_proposal_private_fields_date.rb +20 -0
  114. data/lib/decidim/decidim_awesome/admin_engine.rb +22 -6
  115. data/lib/decidim/decidim_awesome/api/types/localized_custom_fields_type.rb +22 -0
  116. data/lib/decidim/decidim_awesome/api/types/translated_custom_fields_type.rb +52 -0
  117. data/lib/decidim/decidim_awesome/awesome.rb +45 -8
  118. data/lib/decidim/decidim_awesome/awesome_helpers.rb +5 -1
  119. data/lib/decidim/decidim_awesome/checksums.yml +23 -0
  120. data/lib/decidim/decidim_awesome/custom_fields.rb +8 -0
  121. data/lib/decidim/decidim_awesome/engine.rb +143 -52
  122. data/lib/decidim/decidim_awesome/lock.rb +47 -0
  123. data/lib/decidim/decidim_awesome/menu.rb +146 -0
  124. data/lib/decidim/decidim_awesome/test/initializer.rb +4 -1
  125. data/lib/decidim/decidim_awesome/test/shared_examples/{box_label_editor.rb → box_label_editor_examples.rb} +1 -1
  126. data/lib/decidim/decidim_awesome/test/shared_examples/config_examples.rb +20 -2
  127. data/lib/decidim/decidim_awesome/test/shared_examples/custom_fields_examples.rb +155 -0
  128. data/lib/decidim/decidim_awesome/test/shared_examples/editor_examples.rb +24 -0
  129. data/lib/decidim/decidim_awesome/test/shared_examples/menu_hack_contexts.rb +2 -2
  130. data/lib/decidim/decidim_awesome/test/shared_examples/scoped_admins_examples.rb +3 -5
  131. data/lib/decidim/decidim_awesome/test/shared_examples/summary_examples.rb +78 -12
  132. data/lib/decidim/decidim_awesome/version.rb +1 -1
  133. data/package.json +2 -2
  134. metadata +52 -13
  135. data/app/helpers/decidim/decidim_awesome/proposals/application_helper_override.rb +0 -78
  136. /data/app/presenters/{decidim → concerns/decidim}/decidim_awesome/menu_item_presenter_override.rb +0 -0
  137. /data/app/presenters/{decidim → concerns/decidim}/decidim_awesome/menu_presenter_override.rb +0 -0
@@ -0,0 +1,155 @@
1
+ # frozen_string_literal: true
2
+
3
+ shared_examples "creates a new box" do |name|
4
+ it "saves the content" do
5
+ click_on "Add a new \"#{name}\" box"
6
+
7
+ expect(page).to have_admin_callout("created successfully")
8
+
9
+ sleep 2
10
+ page.execute_script("document.querySelector('.proposal_custom_fields_editor').FormBuilder.actions.setData(#{data})")
11
+
12
+ click_on "Update configuration"
13
+
14
+ sleep 2
15
+ expect(page).to have_admin_callout("updated successfully")
16
+ expect(page).to have_content("Full Name")
17
+ expect(page).to have_content("Occupation")
18
+ expect(page).to have_content("Street Sweeper")
19
+ expect(page).to have_content("Short Bio")
20
+ end
21
+ end
22
+
23
+ shared_examples "updates a box" do
24
+ it "updates the content" do
25
+ sleep 2
26
+ expect(page).to have_content("Full Name")
27
+ expect(page).to have_content("Occupation")
28
+ expect(page).to have_content("Street Sweeper")
29
+ expect(page).not_to have_content("Short Bio")
30
+
31
+ page.execute_script("$('.proposal_custom_fields_container[data-key=\"foo\"] .proposal_custom_fields_editor')[0].FormBuilder.actions.setData(#{data})")
32
+ click_on "Update configuration"
33
+
34
+ sleep 2
35
+ expect(page).to have_admin_callout("updated successfully")
36
+ expect(page).to have_content("Full Name")
37
+ expect(page).not_to have_content("Occupation")
38
+ expect(page).not_to have_content("Street Sweeper")
39
+ expect(page).to have_content("Short Bio")
40
+ end
41
+ end
42
+
43
+ shared_examples "removes a box" do |name|
44
+ let(:custom_fields) do
45
+ {
46
+ "foo" => "[#{data1}]",
47
+ "bar" => "[#{data2}]"
48
+ }
49
+ end
50
+
51
+ it "updates the content" do
52
+ sleep 2
53
+ expect(page).to have_content("Full Name")
54
+ expect(page).to have_content("Occupation")
55
+ expect(page).to have_content("Street Sweeper")
56
+ expect(page).not_to have_content("Short Bio")
57
+
58
+ within ".proposal_custom_fields_container[data-key=\"foo\"]" do
59
+ accept_confirm { click_on "Remove this \"#{name}\" box" }
60
+ end
61
+
62
+ sleep 2
63
+ expect(page).to have_admin_callout("removed successfully")
64
+ expect(page).not_to have_content("Full Name")
65
+ expect(page).to have_content("Occupation")
66
+ expect(page).to have_content("Street Sweeper")
67
+ expect(page).not_to have_content("Short Bio")
68
+
69
+ expect(Decidim::DecidimAwesome::AwesomeConfig.find_by(organization: organization, var: "#{var_name}_foo")).not_to be_present
70
+ expect(Decidim::DecidimAwesome::AwesomeConfig.find_by(organization: organization, var: "#{var_name}_bar")).to be_present
71
+ end
72
+ end
73
+
74
+ shared_examples "adds a constraint" do
75
+ let(:custom_fields) do
76
+ {
77
+ "foo" => "[#{data1}]",
78
+ "bar" => "[#{data2}]"
79
+ }
80
+ end
81
+
82
+ it "adds a new config helper var" do
83
+ within ".proposal_custom_fields_container[data-key=\"foo\"]" do
84
+ click_button "Add case"
85
+ end
86
+
87
+ select "Processes", from: "constraint_participatory_space_manifest"
88
+ within ".modal-content" do
89
+ click_on "Save"
90
+ end
91
+
92
+ sleep 2
93
+
94
+ within ".proposal_custom_fields_container[data-key=\"foo\"] .constraints-editor" do
95
+ expect(page).to have_content("Processes")
96
+ end
97
+
98
+ expect(Decidim::DecidimAwesome::AwesomeConfig.find_by(organization: organization, var: "#{var_name}_bar")).to be_present
99
+ expect(Decidim::DecidimAwesome::AwesomeConfig.find_by(organization: organization, var: "#{var_name}_bar").constraints.first.settings).to eq(constraint.settings)
100
+ end
101
+ end
102
+
103
+ shared_examples "removes a constraint" do
104
+ let(:custom_fields) do
105
+ {
106
+ "foo" => "[#{data1}]",
107
+ "bar" => "[#{data2}]"
108
+ }
109
+ end
110
+
111
+ it "removes the helper config var" do
112
+ within ".proposal_custom_fields_container[data-key=\"bar\"] .constraints-editor" do
113
+ expect(page).to have_content("Processes")
114
+ expect(page).to have_content("Proposals")
115
+ end
116
+
117
+ within ".proposal_custom_fields_container[data-key=\"bar\"] .constraints-editor" do
118
+ within first(".constraints-list li") do
119
+ click_on "Delete"
120
+ end
121
+ end
122
+
123
+ within ".proposal_custom_fields_container[data-key=\"bar\"] .constraints-editor" do
124
+ expect(page).not_to have_content("Proposals")
125
+ end
126
+
127
+ visit decidim_admin_decidim_awesome.config_path("#{var_name}s")
128
+
129
+ within ".proposal_custom_fields_container[data-key=\"bar\"] .constraints-editor" do
130
+ expect(page).not_to have_content("Proposals")
131
+ end
132
+
133
+ expect(Decidim::DecidimAwesome::AwesomeConfig.find_by(organization: organization, var: "#{var_name}_bar")).to be_present
134
+ expect(Decidim::DecidimAwesome::AwesomeConfig.find_by(organization: organization, var: "#{var_name}_bar").constraints.count).to eq(1)
135
+ expect(Decidim::DecidimAwesome::AwesomeConfig.find_by(organization: organization, var: "#{var_name}_bar").constraints.first).to eq(another_constraint)
136
+ end
137
+
138
+ context "and there is only one constraint" do
139
+ let!(:another_constraint) { nil }
140
+
141
+ it "do not remove the helper config var" do
142
+ within ".proposal_custom_fields_container[data-key=\"bar\"] .constraints-editor" do
143
+ click_on "Delete"
144
+ end
145
+
146
+ within ".proposal_custom_fields_container[data-key=\"bar\"] .constraints-editor" do
147
+ expect(page).to have_content("Proposals")
148
+ end
149
+
150
+ expect(page).to have_content("Sorry, this cannot be deleted")
151
+ expect(Decidim::DecidimAwesome::AwesomeConfig.find_by(organization: organization, var: "#{var_name}_bar").constraints.count).to eq(1)
152
+ expect(Decidim::DecidimAwesome::AwesomeConfig.find_by(organization: organization, var: "#{var_name}_bar").constraints.first).to eq(constraint)
153
+ end
154
+ end
155
+ end
@@ -1,5 +1,29 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ shared_examples "has no image support" do
4
+ it "has no image button" do
5
+ expect(page).not_to have_xpath("//button[@class='editor-toolbar-control'][@data-editor-type='image']")
6
+ end
7
+ end
8
+
9
+ shared_examples "has image support" do
10
+ it "has image button" do
11
+ expect(page).to have_xpath("//button[@class='editor-toolbar-control'][@data-editor-type='image']")
12
+ end
13
+ end
14
+
15
+ shared_examples "has no video support" do
16
+ it "has no video button" do
17
+ expect(page).not_to have_xpath("//button[@class='editor-toolbar-control'][@data-editor-type='videoEmbed']")
18
+ end
19
+ end
20
+
21
+ shared_examples "has video support" do
22
+ it "has video button" do
23
+ expect(page).to have_xpath("//button[@class='editor-toolbar-control'][@data-editor-type='videoEmbed']")
24
+ end
25
+ end
26
+
3
27
  shared_examples "has no drag and drop" do |rte|
4
28
  it "has no help text" do
5
29
  expect(page).not_to have_content("Add images by dragging & dropping or pasting them.")
@@ -10,6 +10,7 @@ shared_context "with menu hacks params" do
10
10
  end
11
11
  let(:params) do
12
12
  {
13
+ menu_id: :menu,
13
14
  raw_label: label,
14
15
  url: url,
15
16
  position: position,
@@ -36,8 +37,7 @@ shared_context "with menu hacks params" do
36
37
  let(:position) { 2 }
37
38
  let(:target) { "_blank" }
38
39
  let(:visibility) { "hidden" }
39
- let(:menu_name) { "menu" }
40
-
40
+ let(:menu_name) { :menu }
41
41
  let(:another_params) do
42
42
  {
43
43
  allow_images_in_full_editor: true,
@@ -34,7 +34,7 @@ shared_examples "allows awesome access" do
34
34
 
35
35
  it "allows module access" do
36
36
  visit decidim_admin_decidim_awesome.config_path(:editors)
37
- expect(page).to have_content("Tweaks for editors")
37
+ expect(page).to have_content("Tweaks for Editor Hacks")
38
38
  end
39
39
  end
40
40
 
@@ -117,14 +117,12 @@ shared_examples "allows all admin routes" do
117
117
  end
118
118
 
119
119
  it "allows the assemblies page" do
120
- click_link "Assemblies"
121
-
120
+ click_link_or_button "Assemblies"
122
121
  expect(page).to have_content("New assembly")
123
122
  end
124
123
 
125
124
  it "allows the processes page" do
126
- click_link "Processes"
127
-
125
+ click_link_or_button "Processes"
128
126
  expect(page).to have_content("New process")
129
127
  end
130
128
  end
@@ -25,31 +25,105 @@ end
25
25
  shared_examples "activated concerns" do |enabled|
26
26
  it "common concerns are registered" do
27
27
  expect(ActionView::Base.included_modules).to include(Decidim::DecidimAwesome::AwesomeHelpers)
28
- expect(Decidim::MenuPresenter.included_modules).to include(Decidim::DecidimAwesome::MenuPresenterOverride)
29
- expect(Decidim::MenuItemPresenter.included_modules).to include(Decidim::DecidimAwesome::MenuItemPresenterOverride)
28
+ expect(Decidim::ViewModel.included_modules).to include(Decidim::DecidimAwesome::AwesomeHelpers)
30
29
  end
31
30
 
32
31
  if enabled
33
32
  it "concerns are registered" do
34
33
  expect(Decidim::User.included_modules).to include(Decidim::DecidimAwesome::UserOverride)
34
+ expect(Decidim::MenuPresenter.included_modules).to include(Decidim::DecidimAwesome::MenuPresenterOverride)
35
+ expect(Decidim::MenuItemPresenter.included_modules).to include(Decidim::DecidimAwesome::MenuItemPresenterOverride)
35
36
  expect(Decidim::ErrorsController.included_modules).to include(Decidim::DecidimAwesome::NotFoundRedirect)
36
37
  expect(Decidim::Proposals::ApplicationHelper.included_modules).to include(Decidim::DecidimAwesome::Proposals::ApplicationHelperOverride)
37
38
  expect(Decidim::Proposals::ProposalWizardCreateStepForm.included_modules).to include(Decidim::DecidimAwesome::Proposals::ProposalWizardCreateStepFormOverride)
39
+ expect(Decidim::Proposals::ProposalWizardCreateStepForm.included_modules).to include(Decidim::DecidimAwesome::Proposals::ProposalFormOverride)
40
+ expect(Decidim::Proposals::Admin::ProposalForm.included_modules).to include(Decidim::DecidimAwesome::Proposals::ProposalFormOverride)
38
41
  expect(Decidim::AmendmentsHelper.included_modules).to include(Decidim::DecidimAwesome::AmendmentsHelperOverride)
39
42
  expect(EtiquetteValidator.included_modules).to include(Decidim::DecidimAwesome::EtiquetteValidatorOverride)
43
+ expect(Decidim::Proposals::ProposalVote.included_modules).to include(Decidim::DecidimAwesome::HasVoteWeight)
44
+ expect(Decidim::Proposals::ProposalType.included_modules).to include(Decidim::DecidimAwesome::AddProposalTypeVoteWeights)
45
+ expect(Decidim::Proposals::ProposalType.included_modules).to include(Decidim::DecidimAwesome::AddProposalTypeCustomFields)
46
+ expect(Decidim::Proposals::Proposal.included_modules).to include(Decidim::DecidimAwesome::HasProposalExtraFields)
47
+ expect(Decidim::Proposals::CollaborativeDraft.included_modules).to include(Decidim::DecidimAwesome::HasProposalExtraFields)
48
+ expect(Decidim::Proposals::ProposalSerializer.included_modules).to include(Decidim::DecidimAwesome::Proposals::ProposalSerializerOverride)
49
+ expect(Decidim::Proposals::ProposalVotesController.included_modules).to include(Decidim::DecidimAwesome::Proposals::ProposalVotesControllerOverride)
50
+ expect(Decidim::AmendmentsController.included_modules).to include(Decidim::DecidimAwesome::LimitPendingAmendments)
51
+ expect(Decidim::Proposals::ProposalsController.included_modules).to include(Decidim::DecidimAwesome::Proposals::OrderableOverride)
52
+ expect(Decidim::AdminLog::ComponentPresenter.included_modules).to include(Decidim::DecidimAwesome::AdminLog::ComponentPresenterOverride)
40
53
  end
54
+
41
55
  else
42
56
  it "concerns are not registered" do
43
57
  expect(Decidim::User.included_modules).not_to include(Decidim::DecidimAwesome::UserOverride)
58
+ expect(Decidim::MenuPresenter.included_modules).not_to include(Decidim::DecidimAwesome::MenuPresenterOverride)
59
+ expect(Decidim::MenuItemPresenter.included_modules).not_to include(Decidim::DecidimAwesome::MenuItemPresenterOverride)
44
60
  expect(Decidim::ErrorsController.included_modules).not_to include(Decidim::DecidimAwesome::NotFoundRedirect)
45
61
  expect(Decidim::Proposals::ApplicationHelper.included_modules).not_to include(Decidim::DecidimAwesome::Proposals::ApplicationHelperOverride)
46
62
  expect(Decidim::Proposals::ProposalWizardCreateStepForm.included_modules).not_to include(Decidim::DecidimAwesome::Proposals::ProposalWizardCreateStepFormOverride)
63
+ expect(Decidim::Proposals::ProposalWizardCreateStepForm.included_modules).not_to include(Decidim::DecidimAwesome::Proposals::ProposalFormOverride)
64
+ expect(Decidim::Proposals::Admin::ProposalForm.included_modules).not_to include(Decidim::DecidimAwesome::Proposals::ProposalFormOverride)
47
65
  expect(Decidim::AmendmentsHelper.included_modules).not_to include(Decidim::DecidimAwesome::AmendmentsHelperOverride)
48
66
  expect(EtiquetteValidator.included_modules).not_to include(Decidim::DecidimAwesome::EtiquetteValidatorOverride)
67
+ expect(Decidim::Proposals::ProposalVote.included_modules).not_to include(Decidim::DecidimAwesome::HasVoteWeight)
68
+ expect(Decidim::Proposals::ProposalType.included_modules).not_to include(Decidim::DecidimAwesome::AddProposalTypeVoteWeights)
69
+ expect(Decidim::Proposals::ProposalType.included_modules).not_to include(Decidim::DecidimAwesome::AddProposalTypeCustomFields)
70
+ expect(Decidim::Proposals::Proposal.included_modules).not_to include(Decidim::DecidimAwesome::HasProposalExtraFields)
71
+ expect(Decidim::Proposals::CollaborativeDraft.included_modules).not_to include(Decidim::DecidimAwesome::HasProposalExtraFields)
72
+ expect(Decidim::Proposals::ProposalSerializer.included_modules).not_to include(Decidim::DecidimAwesome::Proposals::ProposalSerializerOverride)
73
+ expect(Decidim::Proposals::ProposalVotesController.included_modules).not_to include(Decidim::DecidimAwesome::Proposals::ProposalVotesControllerOverride)
74
+ expect(Decidim::AmendmentsController.included_modules).not_to include(Decidim::DecidimAwesome::LimitPendingAmendments)
75
+ expect(Decidim::Proposals::ProposalsController.included_modules).not_to include(Decidim::DecidimAwesome::Proposals::OrderableOverride)
76
+ expect(Decidim::AdminLog::ComponentPresenter.included_modules).not_to include(Decidim::DecidimAwesome::AdminLog::ComponentPresenterOverride)
49
77
  end
50
78
  end
51
79
  end
52
80
 
81
+ shared_examples "csp directives" do |enabled|
82
+ let(:organization) { create(:organization) }
83
+ let(:fonts) { controller.content_security_policy.send(:policy)["font-src"] }
84
+ let(:scripts) { controller.content_security_policy.send(:policy)["script-src"] }
85
+ let(:frames) { controller.content_security_policy.send(:policy)["frame-src"] }
86
+
87
+ shared_examples "controller directives" do
88
+ if enabled
89
+ it "has CSP directives" do
90
+ get :show do
91
+ expect(fonts).to eq(["'self'", "data:"])
92
+ expect(scripts).to eq(["'self'", "'unsafe-inline'", "'unsafe-eval'", "https://www.intergram.xyz"])
93
+ expect(frames).to eq(["'self'", "www.youtube-nocookie.com", "player.vimeo.com", "https://www.intergram.xyz"])
94
+ end
95
+ end
96
+ else
97
+ it "has no CSP directives" do
98
+ get :show do
99
+ expect(fonts).to eq(["'self'"])
100
+ expect(scripts).to eq(["'self'", "'unsafe-inline'", "'unsafe-eval'"])
101
+ expect(frames).to eq(["'self'", "www.youtube-nocookie.com", "player.vimeo.com"])
102
+ end
103
+ end
104
+ end
105
+ end
106
+
107
+ describe Decidim::HomepageController, type: :controller do
108
+ routes { Decidim::Core::Engine.routes }
109
+ before do
110
+ request.env["decidim.current_organization"] = user.organization
111
+ end
112
+
113
+ it_behaves_like "controller directives"
114
+ end
115
+
116
+ describe Decidim::Admin::DashboardController, type: :controller do
117
+ routes { Decidim::Admin::Engine.routes }
118
+
119
+ before do
120
+ request.env["decidim.current_organization"] = user.organization
121
+ end
122
+
123
+ it_behaves_like "controller directives"
124
+ end
125
+ end
126
+
53
127
  shared_examples "custom menus" do |enabled|
54
128
  describe Decidim::MenuPresenter, type: :helper do
55
129
  before do
@@ -167,11 +241,7 @@ shared_examples "basic rendering" do |enabled|
167
241
 
168
242
  if enabled
169
243
  it "renders the editors page" do
170
- expect(page).to have_content("Tweaks for editors")
171
- end
172
-
173
- it "has custom fields javascript" do
174
- expect(page).to have_xpath("//script[contains(@src,'decidim_admin_decidim_awesome_custom_fields')]", visible: :all)
244
+ expect(page).to have_content("Tweaks for Editor Hacks")
175
245
  end
176
246
 
177
247
  it "has all admin menus" do
@@ -183,11 +253,7 @@ shared_examples "basic rendering" do |enabled|
183
253
  end
184
254
  else
185
255
  it "renders the compatibility checks page" do
186
- expect(page).to have_content("System compatibility checks")
187
- end
188
-
189
- it "do not have custom fields javascript" do
190
- expect(page).not_to have_xpath("//script[contains(@src,'decidim_admin_decidim_awesome_custom_fields')]", visible: :all)
256
+ expect(page).to have_content("Maintenance tools: System Compatibility Checks")
191
257
  end
192
258
 
193
259
  it "has no admin menus" do
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  # This holds the decidim-decidim_awesome version.
5
5
  module DecidimAwesome
6
- VERSION = "0.10.2"
6
+ VERSION = "0.10.3"
7
7
  COMPAT_DECIDIM_VERSION = [">= 0.26.0", "< 0.28"].freeze
8
8
  end
9
9
  end
data/package.json CHANGED
@@ -21,7 +21,7 @@
21
21
  "keywords": [
22
22
  "decidim"
23
23
  ],
24
- "author": "ivan@platoniq.net",
24
+ "author": "ivan@pokecode.net",
25
25
  "license": "AGPL-3.0-or-later",
26
26
  "bugs": {
27
27
  "url": "https://github.com/decidim-ice/decidim-module-decidim_awesome/issues"
@@ -57,7 +57,7 @@
57
57
  "codemirror": "^5.65.0",
58
58
  "europa": "^4.0.0",
59
59
  "form-storage": "^1.3.5",
60
- "formBuilder": "^3.6.1",
60
+ "formBuilder": "^3.19.12",
61
61
  "highlight.js": "^11.4.0",
62
62
  "inline-attachment": "^2.0.3",
63
63
  "inscrybmde": "^1.11.6",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-decidim_awesome
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.2
4
+ version: 0.10.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Vergés
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-21 00:00:00.000000000 Z
11
+ date: 2024-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: decidim-admin
@@ -126,6 +126,11 @@ files:
126
126
  - app/cells/decidim/decidim_awesome/voting/voting_cards_proposal_modal_cell.rb
127
127
  - app/cells/decidim/proposals/proposal_m/footer.erb
128
128
  - app/commands/concerns/decidim/decidim_awesome/admin/needs_constraint_helpers.rb
129
+ - app/commands/concerns/decidim/decidim_awesome/proposals/admin/update_proposal_override.rb
130
+ - app/commands/concerns/decidim/decidim_awesome/proposals/create_collaborative_draft_override.rb
131
+ - app/commands/concerns/decidim/decidim_awesome/proposals/create_proposal_override.rb
132
+ - app/commands/concerns/decidim/decidim_awesome/proposals/update_collaborative_draft_override.rb
133
+ - app/commands/concerns/decidim/decidim_awesome/proposals/update_proposal_override.rb
129
134
  - app/commands/decidim/decidim_awesome/admin/create_constraint.rb
130
135
  - app/commands/decidim/decidim_awesome/admin/create_custom_redirect.rb
131
136
  - app/commands/decidim/decidim_awesome/admin/create_menu_hack.rb
@@ -145,8 +150,10 @@ files:
145
150
  - app/commands/decidim/decidim_awesome/admin/update_menu_hack.rb
146
151
  - app/commands/decidim/decidim_awesome/command.rb
147
152
  - app/commands/decidim/decidim_awesome/create_editor_image.rb
153
+ - app/controllers/concerns/decidim/decidim_awesome/admin/maintenance_context.rb
148
154
  - app/controllers/concerns/decidim/decidim_awesome/admin_accountability/admin/filterable.rb
149
155
  - app/controllers/concerns/decidim/decidim_awesome/admin_accountability/admin/filterable_helper.rb
156
+ - app/controllers/concerns/decidim/decidim_awesome/limit_pending_amendments.rb
150
157
  - app/controllers/concerns/decidim/decidim_awesome/needs_awesome_config.rb
151
158
  - app/controllers/concerns/decidim/decidim_awesome/not_found_redirect.rb
152
159
  - app/controllers/concerns/decidim/decidim_awesome/proposals/orderable_override.rb
@@ -157,6 +164,7 @@ files:
157
164
  - app/controllers/decidim/decidim_awesome/admin/config_controller.rb
158
165
  - app/controllers/decidim/decidim_awesome/admin/constraints_controller.rb
159
166
  - app/controllers/decidim/decidim_awesome/admin/custom_redirects_controller.rb
167
+ - app/controllers/decidim/decidim_awesome/admin/maintenance_controller.rb
160
168
  - app/controllers/decidim/decidim_awesome/admin/menu_hacks_controller.rb
161
169
  - app/controllers/decidim/decidim_awesome/admin/proposal_custom_fields_controller.rb
162
170
  - app/controllers/decidim/decidim_awesome/admin/scoped_admins_controller.rb
@@ -166,18 +174,20 @@ files:
166
174
  - app/controllers/decidim/decidim_awesome/editor_images_controller.rb
167
175
  - app/controllers/decidim/decidim_awesome/iframe_component/iframe_controller.rb
168
176
  - app/controllers/decidim/decidim_awesome/map_component/map_controller.rb
177
+ - app/forms/concerns/decidim/decidim_awesome/proposals/proposal_form_override.rb
178
+ - app/forms/concerns/decidim/decidim_awesome/proposals/proposal_wizard_create_step_form_override.rb
169
179
  - app/forms/decidim/decidim_awesome/admin/config_form.rb
170
180
  - app/forms/decidim/decidim_awesome/admin/constraint_form.rb
171
181
  - app/forms/decidim/decidim_awesome/admin/custom_redirect_form.rb
172
182
  - app/forms/decidim/decidim_awesome/admin/intergram_form.rb
173
183
  - app/forms/decidim/decidim_awesome/admin/menu_form.rb
174
184
  - app/forms/decidim/decidim_awesome/editor_image_form.rb
175
- - app/forms/decidim/decidim_awesome/proposals/proposal_wizard_create_step_form_override.rb
185
+ - app/helpers/concerns/decidim/decidim_awesome/amendments_helper_override.rb
186
+ - app/helpers/concerns/decidim/decidim_awesome/proposals/application_helper_override.rb
176
187
  - app/helpers/decidim/decidim_awesome/admin/config_constraints_helpers.rb
177
188
  - app/helpers/decidim/decidim_awesome/admin/system_checker_helpers.rb
178
- - app/helpers/decidim/decidim_awesome/amendments_helper_override.rb
179
189
  - app/helpers/decidim/decidim_awesome/map_helper.rb
180
- - app/helpers/decidim/decidim_awesome/proposals/application_helper_override.rb
190
+ - app/jobs/decidim/decidim_awesome/destroy_private_data_job.rb
181
191
  - app/jobs/decidim/decidim_awesome/export_admin_actions_job.rb
182
192
  - app/jobs/decidim/decidim_awesome/migrate_legacy_images_job.rb
183
193
  - app/middleware/decidim/decidim_awesome/current_config.rb
@@ -192,8 +202,11 @@ files:
192
202
  - app/models/decidim/decidim_awesome/proposal_extra_field.rb
193
203
  - app/models/decidim/decidim_awesome/vote_weight.rb
194
204
  - app/overrides/decidim/proposals/admin/proposals/_form/replace_editor.html.erb.deface
205
+ - app/overrides/decidim/proposals/admin/proposals/show/add_private_body.html.erb.deface
206
+ - app/overrides/decidim/proposals/admin/proposals/show/replace_body.html.erb.deface
195
207
  - app/overrides/decidim/proposals/proposals/_vote_button/replace_vote_button.html.erb.deface
196
208
  - app/overrides/decidim/proposals/proposals/_votes_count/replace_counter.html.erb.deface
209
+ - app/overrides/decidim/proposals/proposals/show/limit_amendments_modal.html.erb.deface
197
210
  - app/overrides/layouts/decidim/_head/add_awesome_legacy_scripts.rb
198
211
  - app/overrides/layouts/decidim/_head/add_awesome_tags.html.erb.deface
199
212
  - app/overrides/layouts/decidim/admin/_header/replace_scripts.html.erb.deface
@@ -219,6 +232,7 @@ files:
219
232
  - app/packs/src/decidim/decidim_awesome/admin/form_exit_warn.js
220
233
  - app/packs/src/decidim/decidim_awesome/admin/proposal_sortings.js
221
234
  - app/packs/src/decidim/decidim_awesome/admin/user_picker.js
235
+ - app/packs/src/decidim/decidim_awesome/amendments/show_modal_on_limits.js
222
236
  - app/packs/src/decidim/decidim_awesome/awesome_admin.js
223
237
  - app/packs/src/decidim/decidim_awesome/awesome_application.js
224
238
  - app/packs/src/decidim/decidim_awesome/awesome_map/api/api_fetcher.js
@@ -247,25 +261,36 @@ files:
247
261
  - app/packs/stylesheets/decidim/decidim_awesome/admin/custom_fields.scss
248
262
  - app/packs/stylesheets/decidim/decidim_awesome/admin/user_picker.scss
249
263
  - app/packs/stylesheets/decidim/decidim_awesome/awesome_admin.scss
264
+ - app/packs/stylesheets/decidim/decidim_awesome/awesome_admin_global.scss
250
265
  - app/packs/stylesheets/decidim/decidim_awesome/awesome_application.scss
251
266
  - app/packs/stylesheets/decidim/decidim_awesome/awesome_iframe/iframe.scss
252
267
  - app/packs/stylesheets/decidim/decidim_awesome/awesome_map/map.scss
253
268
  - app/packs/stylesheets/decidim/decidim_awesome/editors/markdown_editor.scss
254
269
  - app/packs/stylesheets/decidim/decidim_awesome/editors/quill_editor.scss
255
270
  - app/packs/stylesheets/decidim/decidim_awesome/forms/autosave.scss
271
+ - app/packs/stylesheets/decidim/decidim_awesome/forms/custom_fields.scss
272
+ - app/packs/stylesheets/decidim/decidim_awesome/shared/spinner.scss
256
273
  - app/packs/stylesheets/decidim/decidim_awesome/voting/voting_cards.scss
257
274
  - app/packs/stylesheets/vendor/select2-foundation-theme.scss
258
275
  - app/permissions/decidim/decidim_awesome/admin/permissions.rb
259
276
  - app/permissions/decidim/decidim_awesome/permissions.rb
260
- - app/presenters/decidim/decidim_awesome/menu_item_presenter_override.rb
261
- - app/presenters/decidim/decidim_awesome/menu_presenter_override.rb
277
+ - app/presenters/concerns/decidim/decidim_awesome/menu_item_presenter_override.rb
278
+ - app/presenters/concerns/decidim/decidim_awesome/menu_presenter_override.rb
279
+ - app/presenters/concerns/decidim/decidim_awesome/proposals/proposal_presenter_override.rb
280
+ - app/presenters/decidim/decidim_awesome/admin_log/component_presenter_override.rb
262
281
  - app/presenters/decidim/decidim_awesome/paper_trail_base_presenter.rb
263
282
  - app/presenters/decidim/decidim_awesome/participatory_space_role_presenter.rb
283
+ - app/presenters/decidim/decidim_awesome/private_data_presenter.rb
264
284
  - app/presenters/decidim/decidim_awesome/role_base_presenter.rb
265
285
  - app/presenters/decidim/decidim_awesome/user_entity_presenter.rb
286
+ - app/queries/decidim/decidim_awesome/private_data_finder.rb
266
287
  - app/serializers/concerns/decidim/decidim_awesome/proposal_serializer_override.rb
288
+ - app/serializers/concerns/decidim/decidim_awesome/proposals/proposal_serializer_methods.rb
289
+ - app/serializers/concerns/decidim/decidim_awesome/proposals/proposal_serializer_override.rb
267
290
  - app/serializers/decidim/decidim_awesome/paper_trail_version_serializer.rb
268
- - app/types/concerns/decidim/decidim_awesome/proposal_type_override.rb
291
+ - app/serializers/decidim/decidim_awesome/proposals/private_proposal_serializer.rb
292
+ - app/types/concerns/decidim/decidim_awesome/add_proposal_type_custom_fields.rb
293
+ - app/types/concerns/decidim/decidim_awesome/add_proposal_type_vote_weights.rb
269
294
  - app/uploaders/decidim/cw/decidim_awesome/image_uploader.rb
270
295
  - app/uploaders/decidim/decidim_awesome/image_uploader.rb
271
296
  - app/validators/concerns/decidim/decidim_awesome/etiquette_validator_override.rb
@@ -278,6 +303,7 @@ files:
278
303
  - app/views/decidim/decidim_awesome/admin/config/_form_editors.html.erb
279
304
  - app/views/decidim/decidim_awesome/admin/config/_form_livechat.html.erb
280
305
  - app/views/decidim/decidim_awesome/admin/config/_form_proposal_custom_fields.html.erb
306
+ - app/views/decidim/decidim_awesome/admin/config/_form_proposal_private_custom_fields.html.erb
281
307
  - app/views/decidim/decidim_awesome/admin/config/_form_proposals.html.erb
282
308
  - app/views/decidim/decidim_awesome/admin/config/_form_styles.html.erb
283
309
  - app/views/decidim/decidim_awesome/admin/config/_form_surveys.html.erb
@@ -290,12 +316,16 @@ files:
290
316
  - app/views/decidim/decidim_awesome/admin/custom_redirects/edit.html.erb
291
317
  - app/views/decidim/decidim_awesome/admin/custom_redirects/index.html.erb
292
318
  - app/views/decidim/decidim_awesome/admin/custom_redirects/new.html.erb
319
+ - app/views/decidim/decidim_awesome/admin/maintenance/_private_data.html.erb
320
+ - app/views/decidim/decidim_awesome/admin/maintenance/show.html.erb
293
321
  - app/views/decidim/decidim_awesome/admin/menu_hacks/_form.html.erb
294
322
  - app/views/decidim/decidim_awesome/admin/menu_hacks/edit.html.erb
295
323
  - app/views/decidim/decidim_awesome/admin/menu_hacks/index.html.erb
296
324
  - app/views/decidim/decidim_awesome/admin/menu_hacks/new.html.erb
297
325
  - app/views/decidim/decidim_awesome/admin/proposals/_editor.html.erb
326
+ - app/views/decidim/decidim_awesome/admin/proposals/_private_body.html.erb
298
327
  - app/views/decidim/decidim_awesome/admin/shared/_filters_with_date.html.erb
328
+ - app/views/decidim/decidim_awesome/amendments/_modal.html.erb
299
329
  - app/views/decidim/decidim_awesome/custom_fields/_form_render.html.erb
300
330
  - app/views/decidim/decidim_awesome/iframe_component/iframe/show.html.erb
301
331
  - app/views/decidim/decidim_awesome/map_component/map/_api_ready.html.erb
@@ -308,7 +338,9 @@ files:
308
338
  - app/views/layouts/decidim/decidim_awesome/_awesome_config.html.erb
309
339
  - app/views/layouts/decidim/decidim_awesome/_custom_styles.html.erb
310
340
  - app/views/layouts/decidim/decidim_awesome/_intergram_widget.html.erb
341
+ - app/views/layouts/decidim/decidim_awesome/admin/_base.html.erb
311
342
  - app/views/layouts/decidim/decidim_awesome/admin/application.html.erb
343
+ - app/views/layouts/decidim/decidim_awesome/admin/maintenance.html.erb
312
344
  - config/assets.rb
313
345
  - config/i18n-tasks.yml
314
346
  - config/locales/ca.yml
@@ -334,10 +366,14 @@ files:
334
366
  - db/migrate/20210628150825_change_awesome_config_var_type.rb
335
367
  - db/migrate/20231006113837_create_decidim_awesome_vote_weights.rb
336
368
  - db/migrate/20231006113841_create_decidim_awesome_proposal_extra_fields.rb
369
+ - db/migrate/20240531224204_add_decidim_awesome_proposal_private_fields.rb
370
+ - db/migrate/20240729164227_add_decidim_awesome_proposal_private_fields_date.rb
337
371
  - db/seeds.rb
338
372
  - lib/decidim/decidim_awesome.rb
339
373
  - lib/decidim/decidim_awesome/admin.rb
340
374
  - lib/decidim/decidim_awesome/admin_engine.rb
375
+ - lib/decidim/decidim_awesome/api/types/localized_custom_fields_type.rb
376
+ - lib/decidim/decidim_awesome/api/types/translated_custom_fields_type.rb
341
377
  - lib/decidim/decidim_awesome/awesome.rb
342
378
  - lib/decidim/decidim_awesome/awesome_helpers.rb
343
379
  - lib/decidim/decidim_awesome/checksums.yml
@@ -352,9 +388,11 @@ files:
352
388
  - lib/decidim/decidim_awesome/iframe_component/admin_engine.rb
353
389
  - lib/decidim/decidim_awesome/iframe_component/component.rb
354
390
  - lib/decidim/decidim_awesome/iframe_component/engine.rb
391
+ - lib/decidim/decidim_awesome/lock.rb
355
392
  - lib/decidim/decidim_awesome/map_component/admin_engine.rb
356
393
  - lib/decidim/decidim_awesome/map_component/component.rb
357
394
  - lib/decidim/decidim_awesome/map_component/engine.rb
395
+ - lib/decidim/decidim_awesome/menu.rb
358
396
  - lib/decidim/decidim_awesome/menu_hacker.rb
359
397
  - lib/decidim/decidim_awesome/system_checker.rb
360
398
  - lib/decidim/decidim_awesome/test/factories.rb
@@ -362,10 +400,11 @@ files:
362
400
  - lib/decidim/decidim_awesome/test/layouts/decidim/_head.html.erb
363
401
  - lib/decidim/decidim_awesome/test/layouts/decidim/admin/_header.html.erb
364
402
  - lib/decidim/decidim_awesome/test/shared_examples/action_log_presenter_examples.rb
365
- - lib/decidim/decidim_awesome/test/shared_examples/box_label_editor.rb
403
+ - lib/decidim/decidim_awesome/test/shared_examples/box_label_editor_examples.rb
366
404
  - lib/decidim/decidim_awesome/test/shared_examples/config_examples.rb
367
405
  - lib/decidim/decidim_awesome/test/shared_examples/controller_examples.rb
368
406
  - lib/decidim/decidim_awesome/test/shared_examples/current_config_examples.rb
407
+ - lib/decidim/decidim_awesome/test/shared_examples/custom_fields_examples.rb
369
408
  - lib/decidim/decidim_awesome/test/shared_examples/custom_redirects_contexts.rb
370
409
  - lib/decidim/decidim_awesome/test/shared_examples/editor_examples.rb
371
410
  - lib/decidim/decidim_awesome/test/shared_examples/menu_hack_contexts.rb
@@ -382,7 +421,7 @@ licenses:
382
421
  - AGPL-3.0
383
422
  metadata:
384
423
  rubygems_mfa_required: 'true'
385
- post_install_message:
424
+ post_install_message:
386
425
  rdoc_options: []
387
426
  require_paths:
388
427
  - lib
@@ -397,8 +436,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
397
436
  - !ruby/object:Gem::Version
398
437
  version: '0'
399
438
  requirements: []
400
- rubygems_version: 3.2.33
401
- signing_key:
439
+ rubygems_version: 3.5.10
440
+ signing_key:
402
441
  specification_version: 4
403
442
  summary: A decidim decidim_awesome module
404
443
  test_files: []