decidim-decidim_awesome 0.12.0 → 0.12.4
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/CHANGELOG.md +45 -0
- data/README.md +25 -15
- data/Rakefile +12 -0
- data/app/cells/concerns/decidim/decidim_awesome/global_menu_cell_override.rb +14 -2
- data/app/cells/concerns/decidim/decidim_awesome/proposal_l_cell_override.rb +5 -4
- data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal/show.erb +3 -3
- data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal/vote_block_for.erb +1 -1
- data/app/commands/concerns/decidim/decidim_awesome/admin/needs_constraint_helpers.rb +39 -5
- data/app/commands/decidim/decidim_awesome/admin/create_authorization_group.rb +42 -0
- data/app/commands/decidim/decidim_awesome/admin/create_custom_redirect.rb +10 -14
- data/app/commands/decidim/decidim_awesome/admin/create_menu_hack.rb +9 -8
- data/app/commands/decidim/decidim_awesome/admin/create_proposal_custom_field.rb +3 -8
- data/app/commands/decidim/decidim_awesome/admin/create_scoped_admin.rb +4 -8
- data/app/commands/decidim/decidim_awesome/admin/create_scoped_style.rb +3 -7
- data/app/commands/decidim/decidim_awesome/admin/destroy_authorization_group.rb +37 -0
- data/app/commands/decidim/decidim_awesome/admin/destroy_custom_redirect.rb +10 -9
- data/app/commands/decidim/decidim_awesome/admin/destroy_menu_hack.rb +8 -7
- data/app/commands/decidim/decidim_awesome/admin/destroy_proposal_custom_field.rb +7 -13
- data/app/commands/decidim/decidim_awesome/admin/destroy_scoped_admin.rb +7 -10
- data/app/commands/decidim/decidim_awesome/admin/destroy_scoped_style.rb +6 -11
- data/app/commands/decidim/decidim_awesome/admin/update_config.rb +12 -1
- data/app/commands/decidim/decidim_awesome/admin/update_custom_redirect.rb +11 -11
- data/app/commands/decidim/decidim_awesome/admin/update_menu_hack.rb +10 -8
- data/app/controllers/concerns/decidim/decidim_awesome/admin/maintenance_context.rb +0 -28
- data/app/controllers/concerns/decidim/decidim_awesome/enforce_access_authorizations.rb +49 -0
- data/app/controllers/concerns/decidim/decidim_awesome/needs_hashcash.rb +43 -0
- data/app/controllers/concerns/decidim/decidim_awesome/not_found_redirect.rb +2 -2
- data/app/controllers/decidim/decidim_awesome/admin/admin_authorizations_controller.rb +2 -2
- data/app/controllers/decidim/decidim_awesome/admin/checks_controller.rb +0 -4
- data/app/controllers/decidim/decidim_awesome/admin/config_controller.rb +2 -1
- data/app/controllers/decidim/decidim_awesome/admin/constraints_controller.rb +2 -0
- data/app/controllers/decidim/decidim_awesome/admin/custom_redirects_controller.rb +1 -2
- data/app/controllers/decidim/decidim_awesome/admin/force_authorizations_controller.rb +44 -0
- data/app/controllers/decidim/decidim_awesome/admin/hashcash_controller.rb +39 -0
- data/app/controllers/decidim/decidim_awesome/admin/menu_hacks_controller.rb +1 -1
- data/app/controllers/decidim/decidim_awesome/admin/{maintenance_controller.rb → private_data_controller.rb} +9 -9
- data/app/controllers/decidim/decidim_awesome/required_authorizations_controller.rb +51 -13
- data/app/controllers/decidim/decidim_awesome/utils_controller.rb +17 -0
- data/app/forms/concerns/decidim/decidim_awesome/proposals/admin/proposal_form_customizations.rb +59 -0
- data/app/forms/concerns/decidim/decidim_awesome/proposals/proposal_form_customizations.rb +28 -28
- data/app/forms/concerns/decidim/decidim_awesome/proposals/proposal_form_customizations_base.rb +36 -0
- data/app/forms/concerns/decidim/decidim_awesome/proposals/proposal_form_override.rb +7 -1
- data/app/forms/decidim/decidim_awesome/admin/authorization_group_form.rb +66 -0
- data/app/forms/decidim/decidim_awesome/admin/config_form.rb +23 -24
- data/app/forms/decidim/decidim_awesome/admin/constraint_form.rb +2 -0
- data/app/helpers/concerns/decidim/decidim_awesome/amendments_helper_override.rb +2 -1
- data/app/helpers/decidim/decidim_awesome/admin/config_constraints_helpers.rb +21 -18
- data/app/helpers/decidim/decidim_awesome/map_helper.rb +4 -2
- data/app/models/decidim/decidim_awesome/paper_trail_version.rb +1 -1
- data/app/overrides/decidim/assemblies/admin/assemblies/_form/add_visibility_callout.html.erb.deface +3 -0
- data/app/overrides/decidim/conferences/admin/conferences/_form/add_visibility_callout.html.erb.deface +3 -0
- data/app/overrides/decidim/devise/registrations/new/add_hashcash.html.erb.deface +3 -0
- data/app/overrides/decidim/devise/sessions/new/add_hashcash.html.erb.deface +3 -0
- data/app/overrides/decidim/participatory_processes/admin/participatory_process_groups/_form/add_visibility_callout.html.erb.deface +3 -0
- data/app/overrides/decidim/participatory_processes/admin/participatory_processes/_form/add_visibility_callout.html.erb.deface +3 -0
- data/app/overrides/decidim/shared/_login_modal/add_hashcash.html.erb.deface +3 -0
- data/app/overrides/layouts/decidim/_head/add_awesome_custom_styles.html.erb.deface +3 -0
- data/app/overrides/layouts/decidim/_head/add_awesome_tags.html.erb.deface +0 -2
- data/app/packs/entrypoints/decidim_decidim_awesome_hashcash.js +4 -0
- data/app/packs/src/decidim/decidim_awesome/admin/auto_edit.js +25 -6
- data/app/packs/src/decidim/decidim_awesome/admin/custom_fields_builder.js +4 -2
- data/app/packs/src/decidim/decidim_awesome/admin/verifications.js +6 -3
- data/app/packs/src/decidim/decidim_awesome/awesome_admin.js +0 -1
- data/app/packs/src/decidim/decidim_awesome/awesome_map/api/proposals_fetcher.js +1 -1
- data/app/packs/src/decidim/decidim_awesome/awesome_map/controllers/controller.js +1 -1
- data/app/packs/src/decidim/decidim_awesome/awesome_map/controllers/proposals_controller.js +1 -1
- data/app/packs/src/decidim/decidim_awesome/awesome_map/controls_ui.js +6 -6
- data/app/packs/src/decidim/decidim_awesome/awesome_map/load_map.js +1 -1
- data/app/packs/src/decidim/decidim_awesome/forms/autosave.js +3 -3
- data/app/packs/src/decidim/decidim_awesome/forms/custom_fields_renderer.js +1 -113
- data/app/packs/src/decidim/decidim_awesome/proposals/images.js +1 -1
- data/app/packs/src/vendor/form_builder_langs/ar-SA.lang +111 -0
- data/app/packs/src/vendor/form_builder_langs/ar-TN.lang +94 -0
- data/app/packs/src/vendor/form_builder_langs/ca-ES.lang +110 -0
- data/app/packs/src/vendor/form_builder_langs/cs-CZ.lang +105 -0
- data/app/packs/src/vendor/form_builder_langs/da-DK.lang +110 -0
- data/app/packs/src/vendor/form_builder_langs/de-DE.lang +109 -0
- data/app/packs/src/vendor/form_builder_langs/el-GR.lang +110 -0
- data/app/packs/src/vendor/form_builder_langs/en-US.lang +117 -0
- data/app/packs/src/vendor/form_builder_langs/es-ES.lang +103 -0
- data/app/packs/src/vendor/form_builder_langs/fa-IR.lang +108 -0
- data/app/packs/src/vendor/form_builder_langs/fi-FI.lang +107 -0
- data/app/packs/src/vendor/form_builder_langs/fr-FR.lang +117 -0
- data/app/packs/src/vendor/form_builder_langs/he-IL.lang +108 -0
- data/app/packs/src/vendor/form_builder_langs/hi-IN.lang +110 -0
- data/app/packs/src/vendor/form_builder_langs/hu-HU.lang +108 -0
- data/app/packs/src/vendor/form_builder_langs/id-ID.lang +110 -0
- data/app/packs/src/vendor/form_builder_langs/it-IT.lang +107 -0
- data/app/packs/src/vendor/form_builder_langs/ja-JP.lang +108 -0
- data/app/packs/src/vendor/form_builder_langs/my-MM.lang +108 -0
- data/app/packs/src/vendor/form_builder_langs/nb-NO.lang +94 -0
- data/app/packs/src/vendor/form_builder_langs/nl-NL.lang +94 -0
- data/app/packs/src/vendor/form_builder_langs/pl-PL.lang +122 -0
- data/app/packs/src/vendor/form_builder_langs/pt-BR.lang +110 -0
- data/app/packs/src/vendor/form_builder_langs/pu-IN.lang +110 -0
- data/app/packs/src/vendor/form_builder_langs/qz-MM.lang +108 -0
- data/app/packs/src/vendor/form_builder_langs/ro-RO.lang +94 -0
- data/app/packs/src/vendor/form_builder_langs/ru-RU.lang +110 -0
- data/app/packs/src/vendor/form_builder_langs/sl-SI.lang +110 -0
- data/app/packs/src/vendor/form_builder_langs/th-TH.lang +111 -0
- data/app/packs/src/vendor/form_builder_langs/tr-TR.lang +115 -0
- data/app/packs/src/vendor/form_builder_langs/uk-UA.lang +108 -0
- data/app/packs/src/vendor/form_builder_langs/vi-VN.lang +94 -0
- data/app/packs/src/vendor/form_builder_langs/zh-CN.lang +100 -0
- data/app/packs/src/vendor/form_builder_langs/zh-TW.lang +94 -0
- data/app/packs/src/vendor/hashcash.js +83 -0
- data/app/packs/src/vendor/sha1.js +143 -0
- data/app/packs/src/vendor/stamp.js +50 -0
- data/app/packs/stylesheets/decidim/decidim_awesome/admin/codemirror.scss +6 -1
- data/app/packs/stylesheets/decidim/decidim_awesome/admin/constraints.scss +5 -0
- data/app/packs/stylesheets/decidim/decidim_awesome/admin/custom_fields.scss +1 -2
- data/app/packs/stylesheets/decidim/decidim_awesome/forms/autosave.scss +2 -12
- data/app/presenters/decidim/decidim_awesome/private_data_presenter.rb +2 -2
- data/app/queries/decidim/decidim_awesome/space_constraint_finder.rb +43 -0
- data/app/serializers/concerns/decidim/decidim_awesome/proposals/proposal_serializer_methods.rb +3 -2
- data/app/services/decidim/decidim_awesome/access_authorization_service.rb +79 -0
- data/app/types/concerns/decidim/decidim_awesome/add_proposal_type_custom_fields.rb +2 -1
- data/app/views/decidim/decidim_awesome/admin/admin_accountability/index.html.erb +4 -4
- data/app/views/decidim/decidim_awesome/admin/admin_authorizations/callout.html.erb +2 -2
- data/app/views/decidim/decidim_awesome/admin/admin_authorizations/conflict.html.erb +4 -4
- data/app/views/decidim/decidim_awesome/admin/admin_authorizations/edit.html.erb +6 -5
- data/app/views/decidim/decidim_awesome/admin/checks/index.html.erb +6 -6
- data/app/views/decidim/decidim_awesome/admin/config/_authorization_options_form.html.erb +19 -0
- data/app/views/decidim/decidim_awesome/admin/config/_autoedit_box_label.html.erb +2 -2
- data/app/views/decidim/decidim_awesome/admin/config/_constraints.html.erb +3 -3
- data/app/views/decidim/decidim_awesome/admin/config/_form_admins.html.erb +4 -3
- data/app/views/decidim/decidim_awesome/admin/config/_form_editors.html.erb +1 -1
- data/app/views/decidim/decidim_awesome/admin/config/_form_proposal_custom_fields.html.erb +4 -4
- data/app/views/decidim/decidim_awesome/admin/config/_form_scoped_styles.html.erb +3 -3
- data/app/views/decidim/decidim_awesome/admin/config/_form_surveys.html.erb +40 -2
- data/app/views/decidim/decidim_awesome/admin/config/_form_verifications.html.erb +71 -9
- data/app/views/decidim/decidim_awesome/admin/constraints/_form.html.erb +5 -4
- data/app/views/decidim/decidim_awesome/admin/hashcash/_filters.html.erb +55 -0
- data/app/views/decidim/decidim_awesome/admin/hashcash/index.html.erb +33 -0
- data/app/views/decidim/decidim_awesome/admin/hashcash/ip_addresses.html.erb +29 -0
- data/app/views/decidim/decidim_awesome/admin/hashcash/show.html.erb +42 -0
- data/app/views/decidim/decidim_awesome/admin/menu_hacks/index.html.erb +2 -2
- data/app/views/decidim/decidim_awesome/admin/{maintenance → private_data}/_private_data.html.erb +2 -2
- data/app/views/decidim/decidim_awesome/admin/{maintenance/show.html.erb → private_data/index.html.erb} +2 -3
- data/app/views/decidim/decidim_awesome/admin/proposals/_private_body.html.erb +1 -1
- data/app/views/decidim/decidim_awesome/admin/shared/_visibility_notice.html.erb +8 -0
- data/app/views/decidim/decidim_awesome/amendments/_modal.html.erb +2 -2
- data/app/views/decidim/decidim_awesome/hashcash/_hidden_field.html.erb +4 -0
- data/app/views/decidim/decidim_awesome/required_authorizations/index.html.erb +14 -4
- data/app/views/layouts/decidim/decidim_awesome/_awesome_config.html.erb +2 -2
- data/app/views/layouts/decidim/decidim_awesome/admin/maintenance.html.erb +2 -11
- data/config/assets.rb +1 -0
- data/config/i18n-tasks.yml +2 -0
- data/config/locales/ca.yml +100 -37
- data/config/locales/cs.yml +100 -36
- data/config/locales/de.yml +98 -35
- data/config/locales/en.yml +117 -44
- data/config/locales/es.yml +100 -36
- data/config/locales/eu.yml +34 -39
- data/config/locales/fr.yml +77 -31
- data/config/locales/ja.yml +99 -36
- data/config/locales/sv.yml +49 -0
- data/lib/decidim/decidim_awesome/admin_engine.rb +9 -5
- data/lib/decidim/decidim_awesome/{authorizator.rb → authorizer.rb} +1 -1
- data/lib/decidim/decidim_awesome/awesome.rb +34 -24
- data/lib/decidim/decidim_awesome/awesome_helpers.rb +14 -5
- data/lib/decidim/decidim_awesome/checksums.yml +26 -40
- data/lib/decidim/decidim_awesome/config.rb +18 -7
- data/lib/decidim/decidim_awesome/context_analyzers/request_analyzer.rb +1 -1
- data/lib/decidim/decidim_awesome/engine.rb +14 -3
- data/lib/decidim/decidim_awesome/menu.rb +151 -138
- data/lib/decidim/decidim_awesome/middleware/current_config.rb +5 -10
- data/lib/decidim/decidim_awesome/test/initializer.rb +5 -2
- data/lib/decidim/decidim_awesome/test/shared_examples/config_examples.rb +1 -3
- data/lib/decidim/decidim_awesome/test/shared_examples/editor_examples.rb +2 -1
- data/lib/decidim/decidim_awesome/test/shared_examples/proposal_form_examples.rb +191 -0
- data/lib/decidim/decidim_awesome/test/shared_examples/summary_examples.rb +15 -4
- data/lib/decidim/decidim_awesome/version.rb +1 -1
- data/lib/tasks/decidim_awesome_upgrade_tasks.rake +4 -1
- data/package.json +7 -8
- metadata +86 -13
- data/app/controllers/concerns/decidim/decidim_awesome/check_login_authorizations.rb +0 -60
- data/app/packs/src/decidim/decidim_awesome/admin/verification_selects.js +0 -21
- data/config/rubocop/disabled.yml +0 -11
- data/config/rubocop/faker.yml +0 -480
- data/config/rubocop/rails.yml +0 -88
- data/config/rubocop/rspec.yml +0 -65
- data/config/rubocop/ruby.yml +0 -1210
@@ -24,7 +24,8 @@ module Decidim
|
|
24
24
|
return @custom_config if @custom_config
|
25
25
|
|
26
26
|
@custom_config = Config.new(object.organization)
|
27
|
-
@custom_config.context_from_component(object.component)
|
27
|
+
@custom_config.context_from_component!(object.component)
|
28
|
+
@custom_config.application_context!(current_user: object.creator) if object.respond_to?(:creator)
|
28
29
|
@custom_config
|
29
30
|
end
|
30
31
|
|
@@ -10,12 +10,12 @@
|
|
10
10
|
</span>
|
11
11
|
<div class="dropdown-pane" id="export-dropdown" data-dropdown data-auto-focus="true" data-close-on-click="true">
|
12
12
|
<ul class="vertical menu add-components">
|
13
|
-
<% %w
|
13
|
+
<% %w(CSV JSON Excel).each do |format| %>
|
14
14
|
<li class="exports--format--<%= format.downcase %> exports--registrations">
|
15
15
|
<%= link_to t("decidim.decidim_awesome.admin.admin_accountability.exports.export_as", export_format:
|
16
|
-
format.upcase), export_admin_accountability_path(export_params.merge(format:
|
17
|
-
|
18
|
-
|
16
|
+
format.upcase), export_admin_accountability_path(export_params.merge(format:)),
|
17
|
+
method: :post,
|
18
|
+
class: "focus-visible:outline-none" %>
|
19
19
|
</li>
|
20
20
|
<% end %>
|
21
21
|
</ul>
|
@@ -1,3 +1,3 @@
|
|
1
1
|
<%= cell("decidim/announcement",
|
2
|
-
|
3
|
-
|
2
|
+
local_assigns[:message].presence || t("decidim.decidim_awesome.admin.admin_authorizations.#{i18n_key}", name: workflow&.fullname, user: user.name),
|
3
|
+
callout_class: klass) %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<%= cell("decidim/announcement", {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
title: t("decidim.decidim_awesome.admin.admin_authorizations.conflict"),
|
3
|
+
body: t("decidim.decidim_awesome.admin.admin_authorizations.conflict_help_html", user: link_to(conflict.user.name, decidim_admin.officializations_path(q: { name_or_nickname_or_email_cont: conflict.user.email })))
|
4
|
+
},
|
5
|
+
callout_class: "alert") %>
|
@@ -1,10 +1,11 @@
|
|
1
1
|
<div class="form-defaults">
|
2
|
+
<%= callout if defined?(callout) %>
|
2
3
|
<%= decidim_form_for(handler,
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
builder: Decidim::AuthorizationFormBuilder,
|
5
|
+
as: "authorization_handler",
|
6
|
+
url: decidim_admin_decidim_awesome.admin_authorization_path(id: user.id, handler: params[:handler]),
|
7
|
+
method: :patch,
|
8
|
+
remote: true) do |form| %>
|
8
9
|
<% if lookup_context.exists?(handler.to_partial_path, [], true) %>
|
9
10
|
<%= render partial: handler.to_partial_path, locals: { handler:, form: } %>
|
10
11
|
<% else %>
|
@@ -46,9 +46,9 @@
|
|
46
46
|
<strong><%= t ".head_tags" %></strong>
|
47
47
|
<ul class="vertical menu">
|
48
48
|
<% {
|
49
|
-
|
50
|
-
|
51
|
-
|
49
|
+
CSS: "//head/link[@rel='stylesheet'][contains(@href,'decidim_decidim_awesome')]",
|
50
|
+
JavaScript: "//script[contains(@src,'decidim_decidim_awesome')]"
|
51
|
+
}.each do |part, xpath| %>
|
52
52
|
<li>
|
53
53
|
<%= part %>
|
54
54
|
<% if head.xpath(xpath).count.positive? %>
|
@@ -66,9 +66,9 @@
|
|
66
66
|
<strong><%= t ".admin_head_tags" %></strong>
|
67
67
|
<ul class="vertical menu">
|
68
68
|
<% {
|
69
|
-
|
70
|
-
|
71
|
-
|
69
|
+
CSS: "//head/link[@rel='stylesheet'][contains(@href,'decidim_admin_decidim_awesome')]",
|
70
|
+
JavaScript: "//script[contains(@src,'decidim_admin_decidim_awesome')]"
|
71
|
+
}.each do |part, xpath| %>
|
72
72
|
<li>
|
73
73
|
<%= part %>
|
74
74
|
<% if admin_head.xpath(xpath).count.positive? %>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<%
|
2
|
+
handler_name = local_assigns[:handler_name]
|
3
|
+
schema = form.object.options_schema(handler_name)
|
4
|
+
attributes = form.object.options_attributes(handler_name)
|
5
|
+
%>
|
6
|
+
|
7
|
+
<%= form.fields_for(:authorization_handlers_options) do |options_form| %>
|
8
|
+
<%= options_form.fields_for(handler_name, schema) do |attribute_options_form| %>
|
9
|
+
<% attributes.each do |name, attribute| %>
|
10
|
+
<%= settings_attribute_input(
|
11
|
+
attribute_options_form,
|
12
|
+
attribute,
|
13
|
+
name,
|
14
|
+
"decidim.authorization_handlers.#{handler_name}.fields",
|
15
|
+
tabs_prefix: "#{name}_tabs_prefix"
|
16
|
+
) %>
|
17
|
+
<% end %>
|
18
|
+
<% end %>
|
19
|
+
<% end %>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<%= label_tag var do %>
|
2
2
|
<%= t("config.#{var}",
|
3
|
-
|
4
|
-
|
3
|
+
scope: "activemodel.attributes",
|
4
|
+
id: "<span class='awesome-auto-edit' data-var='#{var}' data-scope='#{scope}' data-key='#{key}'>#{key}</span>").html_safe %>
|
5
5
|
|
6
6
|
<%= icon_link_to "pencil-line", "#", t("edit_label", scope: "decidim.decidim_awesome.admin.config.form"), class: "awesome-auto-edit", data: { "scope" => "#{scope}" } %>
|
7
7
|
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<span class="label warning"><%= t ".always" %></span>
|
6
6
|
<% end %>
|
7
7
|
|
8
|
-
<ul class="constraints-list<%= " inactive" if constraints&.
|
8
|
+
<ul class="constraints-list<%= " inactive" if constraints&.find { |c| c.settings["participatory_space_manifest"] == "none" } %>">
|
9
9
|
<% constraints&.each do |constraint| %>
|
10
10
|
<li>
|
11
11
|
<% constraint.settings.reverse_each do |k, val| %>
|
@@ -13,7 +13,7 @@
|
|
13
13
|
<% end %>
|
14
14
|
|
15
15
|
<div class="inline-flex items-center gap-1 ml-10">
|
16
|
-
<button id="<%= "edit-#{key}-#{constraint.id}" %>" type="button" name="button" class="edit-condition button button__xs button__transparent-secondary" data-dialog-open="<%= "edit-modal-#{key}" %>" data-constraints-url="<%= constraint_path(id: constraint.id, key:
|
16
|
+
<button id="<%= "edit-#{key}-#{constraint.id}" %>" type="button" name="button" class="edit-condition button button__xs button__transparent-secondary" data-dialog-open="<%= "edit-modal-#{key}" %>" data-constraints-url="<%= constraint_path(id: constraint.id, key:) %>">
|
17
17
|
<%= t ".edit" %>
|
18
18
|
</button>
|
19
19
|
|
@@ -23,7 +23,7 @@
|
|
23
23
|
<% end %>
|
24
24
|
</ul>
|
25
25
|
|
26
|
-
<button id="<%= "new-#{key}" %>" type="button" name="button" class="add-condition button button__xs button__secondary" data-dialog-open="<%= "new-modal-#{key}" %>" data-constraints-url="<%= new_constraint_path(key:
|
26
|
+
<button id="<%= "new-#{key}" %>" type="button" name="button" class="add-condition button button__xs button__secondary" data-dialog-open="<%= "new-modal-#{key}" %>" data-constraints-url="<%= new_constraint_path(key:) %>">
|
27
27
|
<%= icon "add-box-line" %>
|
28
28
|
<%= t ".add_condition" %>
|
29
29
|
</button>
|
@@ -4,10 +4,11 @@
|
|
4
4
|
|
5
5
|
<% form.object.scoped_admins&.each do |key, value| %>
|
6
6
|
<div class="card p-4 scoped_admins_container js-box-container" data-key="<%= key %>">
|
7
|
-
<%= render(partial: "decidim/decidim_awesome/admin/config/autoedit_box_label", locals: { var: "scoped_admins", key
|
8
|
-
<p class="form-error is-visible" id="scoped-admin-error-<%=
|
7
|
+
<%= render(partial: "decidim/decidim_awesome/admin/config/autoedit_box_label", locals: { var: "scoped_admins", key:, scope: "scoped_admin_#{key}", delete_path: decidim_admin_decidim_awesome.scoped_admin_path(key:) }) %>
|
8
|
+
<p class="form-error is-visible" id="scoped-admin-error-<%= key %>"><%= errors[key.to_sym].join("<br>") if errors %></p>
|
9
9
|
|
10
|
-
<%=
|
10
|
+
<%= hidden_field_tag("config[scoped_admins][#{key}][]") %>
|
11
|
+
<%= select_tag "config[scoped_admins][#{key}]", options_for_select(users_for(value), value), { include_blank: false, class: "multiusers-select", multiple: true, data: { url: decidim_admin_decidim_awesome.users_path } } %>
|
11
12
|
|
12
13
|
<%= render(partial: "decidim/decidim_awesome/admin/config/constraints", locals: { key: "scoped_admin_#{key}", constraints: constraints_for("scoped_admin_#{key}") }) %>
|
13
14
|
</div>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<div class="row column card p-4">
|
9
9
|
<%= form.check_box key, help_text: t("help.#{key}", scope: "decidim.decidim_awesome.admin.config.form") %>
|
10
10
|
|
11
|
-
<%= render(partial: "decidim/decidim_awesome/admin/config/constraints", locals: { key
|
11
|
+
<%= render(partial: "decidim/decidim_awesome/admin/config/constraints", locals: { key:, constraints: constraints_for(key) }) %>
|
12
12
|
</div>
|
13
13
|
<% end %>
|
14
14
|
</div>
|
@@ -8,9 +8,9 @@
|
|
8
8
|
<div>
|
9
9
|
<p class="help-text text-alert"><%= t("help.proposal_private_custom_fields", scope: "decidim.decidim_awesome.admin.config.form") %></p>
|
10
10
|
<p class="help-text"><%= t("help.proposal_private_custom_fields_translations",
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
scope: "decidim.decidim_awesome.admin.config.form",
|
12
|
+
warning: content_tag(:i, t("decidim.decidim_awesome.proposal_private_custom_fields_disclosure")),
|
13
|
+
key: content_tag("code", "decidim.decidim_awesome.proposal_private_custom_fields_disclosure")
|
14
14
|
).html_safe %></p>
|
15
15
|
</div>
|
16
16
|
<% else %>
|
@@ -22,7 +22,7 @@
|
|
22
22
|
<% end %>
|
23
23
|
<% form.object.send(config_var)&.each do |key, value| %>
|
24
24
|
<div class="card p-4 proposal_custom_fields_container<%= " private" if priv %> js-box-container" data-key="<%= key %>" data-var="<%= config_var %>">
|
25
|
-
<%= render("decidim/decidim_awesome/admin/config/autoedit_box_label", var: config_var, key
|
25
|
+
<%= render("decidim/decidim_awesome/admin/config/autoedit_box_label", var: config_var, key:, scope: "#{field}_#{key}", delete_path: decidim_admin_decidim_awesome.proposal_custom_field_path(key:, private: priv)) %>
|
26
26
|
<p class="form-error is-visible"><%= errors[key.to_sym].join("<br>") if errors %></p>
|
27
27
|
|
28
28
|
<%= hidden_field_tag key, value, name: "config[#{config_var}][#{key}]" %>
|
@@ -11,7 +11,7 @@
|
|
11
11
|
<%= t("help.scoped_admin_styles_variables", scope: "decidim.decidim_awesome.admin.config.form") %>
|
12
12
|
</p>
|
13
13
|
<p class="colors">
|
14
|
-
<%
|
14
|
+
<% %w(primary secondary tertiary success warning alert).each do |color| %>
|
15
15
|
<span class="color-box <%= color %>" style="background-color: <%= current_organization.colors[color] %>"></span>
|
16
16
|
<code>var(--<%= color %>)</code>
|
17
17
|
<% end %>
|
@@ -23,7 +23,7 @@
|
|
23
23
|
<%= t("help.scoped_styles_variables", scope: "decidim.decidim_awesome.admin.config.form") %>
|
24
24
|
</p>
|
25
25
|
<p class="colors">
|
26
|
-
<%
|
26
|
+
<% %w(primary secondary tertiary success warning alert).each do |color| %>
|
27
27
|
<span class="color-box <%= color %>" style="background-color: <%= current_organization.colors[color] %>"></span>
|
28
28
|
<code>var(--<%= color %>)</code>
|
29
29
|
<% end %>
|
@@ -32,7 +32,7 @@
|
|
32
32
|
<% end %>
|
33
33
|
<% form.object.send(config_var)&.each do |key, value| %>
|
34
34
|
<div class="card p-4 scoped_styles_container<%= " private" if admin_styles %> js-box-container" data-key="<%= key %>" data-var="<%= config_var %>">
|
35
|
-
<%= render("decidim/decidim_awesome/admin/config/autoedit_box_label", var: config_var, key
|
35
|
+
<%= render("decidim/decidim_awesome/admin/config/autoedit_box_label", var: config_var, key:, scope: "#{style}_#{key}", delete_path: decidim_admin_decidim_awesome.scoped_style_path(key:, admin_panel: admin_styles)) %>
|
36
36
|
<p class="form-error is-visible" id="custom-style-error-<%= key %>"><%= errors[key.to_sym].join("<br>") if errors %></p>
|
37
37
|
<%= text_area_tag key, value, name: "config[#{config_var}][#{key}]", rows: 5 %>
|
38
38
|
<%= render("decidim/decidim_awesome/admin/config/constraints", key: "#{style}_#{key}", constraints: constraints_for("#{style}_#{key}")) %>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<% if config_enabled? :auto_save_forms %>
|
3
3
|
<div class="row column">
|
4
4
|
<%= form.check_box :auto_save_forms %>
|
5
|
-
<span class="help-text mb-4"
|
5
|
+
<span class="help-text mb-4">
|
6
6
|
<%= t("help.auto_save_forms", scope: "decidim.decidim_awesome.admin.config.form") %>
|
7
7
|
</span>
|
8
8
|
<%= render(partial: "decidim/decidim_awesome/admin/config/constraints", locals: { key: :auto_save_forms, constraints: constraints_for(:auto_save_forms) }) %>
|
@@ -11,9 +11,47 @@
|
|
11
11
|
<% if config_enabled? :user_timezone %>
|
12
12
|
<div class="row column">
|
13
13
|
<%= form.check_box :user_timezone %>
|
14
|
-
<span class="help-text mb-4"
|
14
|
+
<span class="help-text mb-4">
|
15
15
|
<%= t("help.user_timezone", scope: "decidim.decidim_awesome.admin.config.form") %>
|
16
16
|
</span>
|
17
17
|
</div>
|
18
18
|
<% end %>
|
19
|
+
|
20
|
+
<% if config_enabled?(:hashcash_login, :hashcash_signup) %>
|
21
|
+
<div class="row column">
|
22
|
+
<% if config_enabled? :hashcash_signup %>
|
23
|
+
<div>
|
24
|
+
<%= form.check_box :hashcash_signup %>
|
25
|
+
<span class="help-text mb-4">
|
26
|
+
<%= t("help.hashcash_signup", scope: "decidim.decidim_awesome.admin.config.form") %>
|
27
|
+
</span>
|
28
|
+
</div>
|
29
|
+
<div>
|
30
|
+
<%= form.number_field :hashcash_signup_bits %>
|
31
|
+
<span class="help-text mb-4">
|
32
|
+
<%= t("help.hashcash_signup_bits", scope: "decidim.decidim_awesome.admin.config.form", bits: Decidim::DecidimAwesome.hashcash_signup_bits) %>
|
33
|
+
</span>
|
34
|
+
</div>
|
35
|
+
<% end %>
|
36
|
+
|
37
|
+
<% if config_enabled? :hashcash_login %>
|
38
|
+
<div>
|
39
|
+
<%= form.check_box :hashcash_login %>
|
40
|
+
<span class="help-text mb-4">
|
41
|
+
<%= t("help.hashcash_login", scope: "decidim.decidim_awesome.admin.config.form") %>
|
42
|
+
</span>
|
43
|
+
</div>
|
44
|
+
<div>
|
45
|
+
<%= form.number_field :hashcash_login_bits %>
|
46
|
+
<span class="help-text mb-4">
|
47
|
+
<%= t("help.hashcash_login_bits", scope: "decidim.decidim_awesome.admin.config.form", bits: Decidim::DecidimAwesome.hashcash_login_bits) %>
|
48
|
+
</span>
|
49
|
+
</div>
|
50
|
+
<% end %>
|
51
|
+
|
52
|
+
<p class="help-text pt-0 pb-4 label">
|
53
|
+
<%= t("help.hashcash_i18n_key", scope: "decidim.decidim_awesome.admin.config.form", key: "<code>active_hashcash.waiting_label</code>").html_safe %>
|
54
|
+
</p>
|
55
|
+
</div>
|
56
|
+
<% end %>
|
19
57
|
</div>
|
@@ -1,15 +1,77 @@
|
|
1
|
+
<%
|
2
|
+
config_var = "force_authorizations"
|
3
|
+
field = "force_authorization"
|
4
|
+
%>
|
5
|
+
|
1
6
|
<div class="form__wrapper row column decidim_awesome-form">
|
2
|
-
|
7
|
+
<% if config_enabled?(config_var) %>
|
8
|
+
<div class="callout warning">
|
9
|
+
<%= t("help.verifications_html", scope: "decidim.decidim_awesome.admin.config.form") %>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<% form.object.force_authorizations&.each do |key, group| %>
|
13
|
+
<% group ||= Decidim::DecidimAwesome::Admin::AuthorizationGroupForm.new %>
|
3
14
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
15
|
+
<%= form.fields_for "#{config_var}[#{key}]", group do |group_form| %>
|
16
|
+
<div class="card p-4 js-box-container force_authorization_container" data-key="<%= key %>" data-var="<%= config_var %>">
|
17
|
+
<%= render "decidim/decidim_awesome/admin/config/autoedit_box_label", var: config_var, key:, scope: "#{field}_#{key}", delete_path: decidim_admin_decidim_awesome.force_authorization_path(key:) %>
|
18
|
+
<div class="card-section mt-2">
|
19
|
+
<div class="row column pt-4 pb-4">
|
20
|
+
<h5><%= t("title", scope: "decidim.decidim_awesome.admin.config.form_force_authorizations") %></h5>
|
21
|
+
<div class="mt-4 form__wrapper gap-1">
|
22
|
+
<%= group_form.collection_check_boxes :authorization_handlers_names, available_authorizations, :name, :description do |builder| %>
|
23
|
+
<div>
|
24
|
+
<%= builder.label do %>
|
25
|
+
<%= safe_join([builder.check_box(data: { group_key: key }), builder.text.to_s], " ") %>
|
26
|
+
<% end %>
|
27
|
+
<div id="authorization-handler-<%= key %>-<%= builder.value %>" class="authorization-handler my-4 ml-6" style="display: <%= group_form.object.authorization_handlers_names.include?(builder.value) ? "block" : "none" %>;">
|
28
|
+
<%= render "decidim/decidim_awesome/admin/config/authorization_options_form", form: group_form, handler_name: builder.value, key: %>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
<% end %>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
</div>
|
8
35
|
|
9
|
-
|
36
|
+
<div class="mt-4">
|
37
|
+
<%= group_form.translated :editor, :force_authorization_help_text, lines: 10, label: t("force_authorization_help_text", scope: "decidim.decidim_awesome.admin.config.form") %>
|
38
|
+
<p class="help-text">
|
39
|
+
<%= t("help.force_authorization_help_text", scope: "decidim.decidim_awesome.admin.config.form") %>
|
40
|
+
</p>
|
41
|
+
</div>
|
10
42
|
|
11
|
-
|
12
|
-
|
13
|
-
|
43
|
+
<div class="mt-4">
|
44
|
+
<%= render "decidim/decidim_awesome/admin/config/constraints", key: "#{field}_#{key}", constraints: constraints_for("#{field}_#{key}") || [] %>
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
<% end %>
|
48
|
+
<% end %>
|
49
|
+
|
50
|
+
<%= link_to decidim_admin_decidim_awesome.force_authorizations_path, method: :post, class: "button button__sm button__text-secondary mr-auto" do %>
|
51
|
+
<%= icon("add-box-line") %>
|
52
|
+
<%= t("new", scope: "decidim.decidim_awesome.admin.config.form_force_authorizations") %>
|
53
|
+
<% end %>
|
14
54
|
<% end %>
|
15
55
|
</div>
|
56
|
+
|
57
|
+
<script>
|
58
|
+
document.addEventListener("DOMContentLoaded", function() {
|
59
|
+
const checkboxes = document.querySelectorAll(
|
60
|
+
"input[type='checkbox'][name*='[authorization_handlers_names]']"
|
61
|
+
);
|
62
|
+
|
63
|
+
checkboxes.forEach((checkbox) => {
|
64
|
+
checkbox.addEventListener("change", function() {
|
65
|
+
const groupKey = this.dataset.groupKey;
|
66
|
+
const handlerId = `authorization-handler-${groupKey}-${this.value}`;
|
67
|
+
const handlerElement = document.getElementById(handlerId);
|
68
|
+
|
69
|
+
if (!handlerElement) {
|
70
|
+
return;
|
71
|
+
}
|
72
|
+
|
73
|
+
handlerElement.style.display = this.checked ? "block" : "none";
|
74
|
+
});
|
75
|
+
});
|
76
|
+
});
|
77
|
+
</script>
|
@@ -1,8 +1,9 @@
|
|
1
1
|
<div class="form__wrapper" id="constraint-form-<%= params[:id] %>">
|
2
2
|
|
3
|
-
<%= form.select :participatory_space_manifest, participatory_space_manifests.invert, include_blank:
|
4
|
-
<%= form.select :participatory_space_slug, participatory_spaces_list(@form.participatory_space_manifest).invert, include_blank:
|
5
|
-
<%= form.select :component_manifest, component_manifests(@form.participatory_space_manifest).invert, include_blank:
|
6
|
-
<%= form.select :component_id, components_list(@form.participatory_space_manifest, @form.participatory_space_slug).invert, include_blank:
|
3
|
+
<%= form.select :participatory_space_manifest, participatory_space_manifests.invert, include_blank: "---" %>
|
4
|
+
<%= form.select :participatory_space_slug, participatory_spaces_list(@form.participatory_space_manifest).invert, include_blank: "---" %>
|
5
|
+
<%= form.select :component_manifest, component_manifests(@form.participatory_space_manifest).invert, include_blank: "---" %>
|
6
|
+
<%= form.select :component_id, components_list(@form.participatory_space_manifest, @form.participatory_space_slug).invert, include_blank: "---" %>
|
7
|
+
<%= form.select :application_context, contexts_list.invert, include_blank: "---" %>
|
7
8
|
|
8
9
|
</div>
|
@@ -0,0 +1,55 @@
|
|
1
|
+
<div class="fcell search mb-4">
|
2
|
+
<%= form_tag nil, method: :get, class: "form form-defaults" do %>
|
3
|
+
<div class="form__wrapper block bg-gray-5 p-4">
|
4
|
+
<div class="grid grid-cols-3 gap-x-4 pt-4">
|
5
|
+
<div class="content-end">
|
6
|
+
<%= label_tag :created_from do %>
|
7
|
+
<%= t("created_at", scope: "decidim.decidim_awesome.admin.hashcash.index") + " ≥" %>
|
8
|
+
<%= date_field_tag :created_from, params[:created_from], autocomplete: :off %>
|
9
|
+
<% end %>
|
10
|
+
</div>
|
11
|
+
<div class="content-end">
|
12
|
+
<%= label_tag :created_from do %>
|
13
|
+
<%= t("created_at", scope: "decidim.decidim_awesome.admin.hashcash.index") + " ≤" %>
|
14
|
+
<%= date_field_tag :created_to, params[:created_to], autocomplete: :off %>
|
15
|
+
<% end %>
|
16
|
+
</div>
|
17
|
+
<div class="content-end grid grid-cols-2 gap-x-4 pt-8">
|
18
|
+
<div>
|
19
|
+
<%= label_tag :bits_from do %>
|
20
|
+
<%= t("bits", scope: "decidim.decidim_awesome.admin.hashcash.index") + " ≥" %>
|
21
|
+
<%= number_field_tag :bits_from, params[:bits_from], autocomplete: :off %>
|
22
|
+
<% end %>
|
23
|
+
</div>
|
24
|
+
<div>
|
25
|
+
<%= label_tag :bits_to do %>
|
26
|
+
<%= t("bits", scope: "decidim.decidim_awesome.admin.hashcash.index") + " ≤" %>
|
27
|
+
<%= number_field_tag :bits_to, params[:bits_to], autocomplete: :off %>
|
28
|
+
<% end %>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<div class="grid grid-cols-3 gap-x-4 py-4">
|
34
|
+
<div class="content-end">
|
35
|
+
<%= label_tag :ip_address_starts_with, t("ip_address", scope: "decidim.decidim_awesome.admin.hashcash.index") %>
|
36
|
+
<%= text_field_tag :ip_address_starts_with, params[:ip_address_starts_with], autocomplete: :off %>
|
37
|
+
</div>
|
38
|
+
<div class="content-end">
|
39
|
+
<%= label_tag :request_path_starts_with, t("request_path", scope: "decidim.decidim_awesome.admin.hashcash.index") %>
|
40
|
+
<%= text_field_tag :request_path_starts_with, params[:request_path_starts_with], autocomplete: :off %>
|
41
|
+
</div>
|
42
|
+
<div class="content-end">
|
43
|
+
<div class="grid grid-cols-2 gap-x-4 mb-[4px]">
|
44
|
+
<%= submit_tag t("active_hashcash.submit_filter"), class: "button button__sm button__secondary" %>
|
45
|
+
<% if params[:action] == "index" %>
|
46
|
+
<%= link_to t(".ip_addresses"), ip_addresses_hashcashes_path, class: "button button__sm button__transparent-secondary" %>
|
47
|
+
<% else %>
|
48
|
+
<%= link_to t(".stamps"), hashcashes_path, class: "button button__sm button__transparent-secondary" %>
|
49
|
+
<% end %>
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
</div>
|
54
|
+
<% end %>
|
55
|
+
</div>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<div class="mb-8">
|
2
|
+
<p class="help-text"><%= t(".help_html") %>
|
3
|
+
</div>
|
4
|
+
|
5
|
+
<%= render "filters" %>
|
6
|
+
|
7
|
+
<% if stamps.empty? %>
|
8
|
+
<div class="callout warning"><%= t(".no_data") %></div>
|
9
|
+
<% else %>
|
10
|
+
<div class="table-scroll">
|
11
|
+
<table class="table-list">
|
12
|
+
<thead>
|
13
|
+
<tr>
|
14
|
+
<th><%= t(".created_at") %></th>
|
15
|
+
<th><%= t(".ip_address") %></th>
|
16
|
+
<th><%= t(".request_path") %></th>
|
17
|
+
<th><%= t(".bits") %></th>
|
18
|
+
</tr>
|
19
|
+
</thead>
|
20
|
+
|
21
|
+
<tbody>
|
22
|
+
<% stamps.each do |stamp| %>
|
23
|
+
<tr>
|
24
|
+
<td><%= link_to stamp.created_at, hashcash_path(stamp) %></td>
|
25
|
+
<td><%= stamp.ip_address %></td>
|
26
|
+
<td><%= stamp.request_path %></td>
|
27
|
+
<td><%= stamp.bits %></td>
|
28
|
+
</tr>
|
29
|
+
<% end %>
|
30
|
+
</tbody>
|
31
|
+
</table>
|
32
|
+
</div>
|
33
|
+
<% end %>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<div class="mb-8">
|
2
|
+
<p class="help-text"><%= t(".help_html") %>
|
3
|
+
</div>
|
4
|
+
|
5
|
+
<%= render "filters" %>
|
6
|
+
|
7
|
+
<% if addresses.empty? %>
|
8
|
+
<div class="callout warning"><%= t(".no_data") %></div>
|
9
|
+
<% else %>
|
10
|
+
<div class="table-scroll">
|
11
|
+
<table class="table-list">
|
12
|
+
<thead>
|
13
|
+
<tr>
|
14
|
+
<th><%= t(".ip_address") %></th>
|
15
|
+
<th><%= t(".stamps") %></th>
|
16
|
+
</tr>
|
17
|
+
</thead>
|
18
|
+
|
19
|
+
<tbody>
|
20
|
+
<% addresses.each do |address, count| %>
|
21
|
+
<tr>
|
22
|
+
<td><%= link_to address, hashcashes_path(ip_address_starts_with: address) %></td>
|
23
|
+
<td><%= number_with_delimiter count %></td>
|
24
|
+
</tr>
|
25
|
+
<% end %>
|
26
|
+
</tbody>
|
27
|
+
</table>
|
28
|
+
</div>
|
29
|
+
<% end %>
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<div>
|
2
|
+
<h3 class="h3"><%= stamp %></h3>
|
3
|
+
<dl class="divide-y divide-gray-100">
|
4
|
+
<div class="px-4 py-6 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
|
5
|
+
<dt class="font-semibold"><%= stamp.class.human_attribute_name(:created_at) %></dt>
|
6
|
+
<dd mt-1 class="sm:col-span-2 sm:mt-0"><%= l stamp.created_at %></dd>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<div class="px-4 py-6 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
|
10
|
+
<dt class="font-semibold"><%= stamp.class.human_attribute_name(:resource) %></dt>
|
11
|
+
<dd mt-1 class="sm:col-span-2 sm:mt-0"><%= stamp.resource %></dd>
|
12
|
+
</div>
|
13
|
+
<div class="px-4 py-6 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
|
14
|
+
<dt class="font-semibold"><%= stamp.class.human_attribute_name(:bits) %></dt>
|
15
|
+
<dd mt-1 class="sm:col-span-2 sm:mt-0"><%= stamp.bits %></dd>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<div class="px-4 py-6 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
|
19
|
+
<dt class="font-semibold"><%= stamp.class.human_attribute_name(:ip_address) %></dt>
|
20
|
+
<dd mt-1 class="sm:col-span-2 sm:mt-0"><%= stamp.ip_address %></dd>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<div class="px-4 py-6 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
|
24
|
+
<dt class="font-semibold"><%= stamp.class.human_attribute_name(:request_path) %></dt>
|
25
|
+
<dd mt-1 class="sm:col-span-2 sm:mt-0"><%= stamp.request_path %></dd>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<div class="px-4 py-6 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
|
29
|
+
<dt class="font-semibold"><%= stamp.class.human_attribute_name(:context) %></dt>
|
30
|
+
<dd mt-1 class="sm:col-span-2 sm:mt-0"><%= stamp.context %></dd>
|
31
|
+
</div>
|
32
|
+
</dl>
|
33
|
+
|
34
|
+
<div class="grid grid-cols-4 gap-x-4 mb-[4px]">
|
35
|
+
<button class="button button__sm button__transparent-secondary">
|
36
|
+
<%= link_to t("decidim.decidim_awesome.admin.hashcash.filters.stamps"), hashcashes_path %>
|
37
|
+
</button>
|
38
|
+
<button class="button button__sm button__transparent-secondary">
|
39
|
+
<%= link_to t("decidim.decidim_awesome.admin.hashcash.filters.ip_addresses"), ip_addresses_hashcashes_path %>
|
40
|
+
</button>
|
41
|
+
</div>
|
42
|
+
</div>
|
@@ -22,12 +22,12 @@
|
|
22
22
|
<td><%= item.label %></td>
|
23
23
|
<td><%= item.url %></td>
|
24
24
|
<td><%= item.position %></td>
|
25
|
-
<td><%= target_options.invert[item.try(:target)||""] %></td>
|
25
|
+
<td><%= target_options.invert[item.try(:target) || ""] %></td>
|
26
26
|
<td><%= visibility_options.invert[item.try(:visibility)] %></td>
|
27
27
|
<td class="table-list__actions">
|
28
28
|
<%= icon_link_to "pencil-line", decidim_admin_decidim_awesome.edit_menu_hack_path(params[:menu_id], md5(item.url)), t(".edit"), class: "action-icon--edit" %>
|
29
29
|
<% if item.respond_to?(:overrided?) %>
|
30
|
-
<%= icon_link_to "close-circle-line", decidim_admin_decidim_awesome.menu_hack_path(params[:menu_id], md5(item.url)), t(".remove#{
|
30
|
+
<%= icon_link_to "close-circle-line", decidim_admin_decidim_awesome.menu_hack_path(params[:menu_id], md5(item.url)), t(".remove#{"_hack" if item.overrided?}"), method: :delete, class: "action-icon--remove", data: { confirm: t(".confirm_destroy") } %>
|
31
31
|
<% else %>
|
32
32
|
<span class="action-icon">
|
33
33
|
<%= icon "close-circle-line", class: "action-icon action-icon--disabled", role: "img" %>
|
data/app/views/decidim/decidim_awesome/admin/{maintenance → private_data}/_private_data.html.erb
RENAMED
@@ -5,7 +5,7 @@
|
|
5
5
|
<% if collection.empty? %>
|
6
6
|
<div class="callout warning"><%= t(".no_data", time_ago:) %></div>
|
7
7
|
<% else %>
|
8
|
-
<div class="table-scroll autorefresh" data-url="<%=
|
8
|
+
<div class="table-scroll autorefresh" data-url="<%= private_data_path.split("?").first %>">
|
9
9
|
<table class="table-list">
|
10
10
|
<thead>
|
11
11
|
<tr>
|
@@ -27,7 +27,7 @@
|
|
27
27
|
<% if item.locked? %>
|
28
28
|
<span class="loading-spinner primary" title="<%= t(".removing") %>"></span>
|
29
29
|
<% elsif item.destroyable? %>
|
30
|
-
<%= link_to
|
30
|
+
<%= link_to private_datum_path(item), method: :delete, class: "button button__primary button__xs tiny", data: { confirm: t(".confirm_delete") } do %>
|
31
31
|
<%= icon "delete-bin-line" %>
|
32
32
|
<%= t(".delete") %>
|
33
33
|
<% end %>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<div class="date_info">
|
13
13
|
<%= t("decidim.decidim_awesome.admin.proposal_custom_fields.private_data_last_update", time_ago: time_ago_in_words(proposal.extra_fields.private_body_updated_at)) if proposal.extra_fields.private_body.present? %>
|
14
14
|
<%= t("decidim.decidim_awesome.admin.proposal_custom_fields.private_data_last_remove", time_ago: time_ago_in_words(proposal.extra_fields.private_body_updated_at)) if proposal.extra_fields.private_body.blank? %>
|
15
|
-
<%= link_to t("decidim.decidim_awesome.admin.proposal_custom_fields.remove_private_data"), decidim_admin_decidim_awesome.
|
15
|
+
<%= link_to t("decidim.decidim_awesome.admin.proposal_custom_fields.remove_private_data"), decidim_admin_decidim_awesome.private_data_path if proposal.extra_fields.private_body_updated_at && proposal.extra_fields.private_body_updated_at < Decidim::DecidimAwesome.private_data_expiration_time.ago %>
|
16
16
|
</div>
|
17
17
|
<% end %>
|
18
18
|
</div>
|