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
@@ -0,0 +1,8 @@
|
|
1
|
+
<% awesome_link = link_to("Decidim Awesome", decidim_admin_decidim_awesome.config_path(:verifications), target: "_blank", data: { external_domain_link: false }) %>
|
2
|
+
<% has_constraint = Decidim::DecidimAwesome::SpaceConstraintFinder.new("force_authorization", participatory_space).query.exists? %>
|
3
|
+
|
4
|
+
<div class="row column">
|
5
|
+
<div class="callout <%= has_constraint ? "alert" : "info" %> mt-2">
|
6
|
+
<%= t("decidim.decidim_awesome.admin.visibility.#{has_constraint ? "restricted_html" : "info_html"}", awesome_link:) %>
|
7
|
+
</div>
|
8
|
+
</div>
|
@@ -7,12 +7,12 @@
|
|
7
7
|
<div>
|
8
8
|
<div class="instructions">
|
9
9
|
<%= t("decidim.decidim_awesome.amendments.modal.explanation_html",
|
10
|
-
|
10
|
+
proposal_link: present(@proposal).proposal_path + "#comments") %>
|
11
11
|
|
12
12
|
<% emendations = @proposal.emendations.not_hidden.where(decidim_amendments: { state: Decidim::Amendment.states["evaluating"] }) %>
|
13
13
|
<% if current_component.current_settings&.amendments_visibility == "all" && emendations %>
|
14
14
|
<%= t("decidim.decidim_awesome.amendments.modal.current_amendment_html",
|
15
|
-
|
15
|
+
amendment_link: present(emendations&.first).proposal_path) %>
|
16
16
|
<% end %>
|
17
17
|
</div>
|
18
18
|
</div>
|
@@ -18,6 +18,11 @@
|
|
18
18
|
<h2 class="h5 text-secondary">
|
19
19
|
<%= method.fullname %>
|
20
20
|
</h2>
|
21
|
+
<% if service.authorization_status(method) != :ok %>
|
22
|
+
<p class="text-alert">
|
23
|
+
<%= t(".authorization_options_invalid") %>
|
24
|
+
</p>
|
25
|
+
<% end %>
|
21
26
|
</div>
|
22
27
|
</div>
|
23
28
|
<% end %>
|
@@ -58,9 +63,14 @@
|
|
58
63
|
</div>
|
59
64
|
|
60
65
|
<div class="space-y-8 prose-a:text-secondary mt-8">
|
61
|
-
|
66
|
+
<% help = authorization_help_text %>
|
67
|
+
<% if help.present? %>
|
68
|
+
<%= translated_attribute(help).html_safe %>
|
69
|
+
<% end %>
|
62
70
|
|
63
|
-
|
64
|
-
|
65
|
-
|
71
|
+
<% if current_user %>
|
72
|
+
<p class="prose-a:text-secondary italic">
|
73
|
+
<%= t(".cancel", link: link_to("#{icon("logout-box-r-line", class: "inline-block").html_safe} #{t(".logout")}".html_safe, decidim.destroy_user_session_path(redirect_url:), method: :delete).html_safe).html_safe %>
|
74
|
+
</p>
|
75
|
+
<% end %>
|
66
76
|
</div>
|
@@ -4,7 +4,7 @@ window.DecidimAwesome.currentLocale = "<%= current_locale %>";
|
|
4
4
|
window.DecidimAwesome.version = "<%= Decidim::DecidimAwesome::VERSION %>";
|
5
5
|
window.DecidimAwesome.editorUploaderPath = "<%= decidim_decidim_awesome.editor_images_path %>";
|
6
6
|
window.DecidimAwesome.renameScopeLabelPath = "<%= decidim_admin_decidim_awesome.rename_scope_label_path %>";
|
7
|
-
window.DecidimAwesome.
|
7
|
+
window.DecidimAwesome.i18n = {
|
8
8
|
"dragAndDropImage": "<%= j t(".drag_and_drop_image") %>",
|
9
9
|
"autosavedSuccess": "<%= j t(".autosaved_success") %>",
|
10
10
|
"autosavedError": "<%= j t(".autosaved_error") %>",
|
@@ -18,7 +18,7 @@ window.DecidimAwesome.texts = {
|
|
18
18
|
"selectDeselectAll": "<%= j t(".select_deselect_all") %>",
|
19
19
|
"officialAuthor": "<%= j t("decidim.blogs.models.post.fields.official_blog_post") %>",
|
20
20
|
}
|
21
|
-
window.DecidimAwesome.formBuilderLangsLocation = "<%=
|
21
|
+
window.DecidimAwesome.formBuilderLangsLocation = "<%= decidim_decidim_awesome.form_builder_i18n_path(locale: nil) %>";
|
22
22
|
<% if defined?(questionnaire) && questionnaire&.id %>
|
23
23
|
window.DecidimAwesome.current_questionnaire = "edit_questionnaire_<%= questionnaire.id %>";
|
24
24
|
<% if defined? visitor_already_answered? %>
|
@@ -1,19 +1,10 @@
|
|
1
1
|
<%= render "layouts/decidim/decidim_awesome/admin/base" do %>
|
2
2
|
<div class="item_show__header">
|
3
3
|
<h2 class="item_show__header-title">
|
4
|
-
<%= t("layouts.decidim.decidim_awesome.admin.maintenance.title", title: t(
|
5
|
-
|
6
|
-
<% available_views.each do |view, parts| %>
|
7
|
-
<% next if view == current_view %>
|
8
|
-
|
9
|
-
<%= link_to parts[:path], class: "button button__secondary button__xs tiny button--title" do %>
|
10
|
-
<%= icon parts[:icon] %>
|
11
|
-
<%= parts[:title] %>
|
12
|
-
<% end %>
|
13
|
-
<% end %>
|
4
|
+
<%= t("layouts.decidim.decidim_awesome.admin.maintenance.title", title: t(controller_name, scope: "layouts.decidim.decidim_awesome.admin.maintenance.titles")) %>
|
14
5
|
</h2>
|
15
6
|
</div>
|
16
|
-
<div class="card">
|
7
|
+
<div class="card mb-8">
|
17
8
|
<%= yield %>
|
18
9
|
</div>
|
19
10
|
<% end %>
|
data/config/assets.rb
CHANGED
@@ -8,6 +8,7 @@ Decidim::Webpacker.register_entrypoints(
|
|
8
8
|
# override the Decidim entry point for decidim so we can define a custom createEditor method
|
9
9
|
decidim_editor: "#{base_path}/app/packs/entrypoints/decidim_editor.js",
|
10
10
|
decidim_decidim_awesome: "#{base_path}/app/packs/entrypoints/decidim_decidim_awesome.js",
|
11
|
+
decidim_decidim_awesome_hashcash: "#{base_path}/app/packs/entrypoints/decidim_decidim_awesome_hashcash.js",
|
11
12
|
decidim_admin_decidim_awesome: "#{base_path}/app/packs/entrypoints/decidim_admin_decidim_awesome.js",
|
12
13
|
decidim_admin_decidim_awesome_global: "#{base_path}/app/packs/entrypoints/decidim_admin_decidim_awesome_global.js",
|
13
14
|
decidim_decidim_awesome_map: "#{base_path}/app/packs/entrypoints/decidim_decidim_awesome_map.js",
|
data/config/i18n-tasks.yml
CHANGED
@@ -12,6 +12,7 @@ data:
|
|
12
12
|
- "<%= %x[bundle info decidim-blogs --path].chomp %>/config/locales/%{locale}.yml"
|
13
13
|
|
14
14
|
ignore_unused:
|
15
|
+
- "active_hashcash.*"
|
15
16
|
- "decidim.admin.actions.manage"
|
16
17
|
- "decidim.admin.filters.admin_accountability.*"
|
17
18
|
- "decidim.admin.filters.search_placeholder.*"
|
@@ -19,6 +20,7 @@ ignore_unused:
|
|
19
20
|
- "activemodel.attributes.custom_redirect.*"
|
20
21
|
- "activemodel.attributes.user.*"
|
21
22
|
- activemodel.attributes.organization.awesome_admins_available_authorizations
|
23
|
+
- activemodel.attributes.force_authorization.*
|
22
24
|
- "decidim.components.decidim_awesome.name"
|
23
25
|
- "decidim.components.awesome_iframe.settings.*"
|
24
26
|
- "decidim.components.awesome_map.settings.*"
|
data/config/locales/ca.yml
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
ca:
|
2
|
+
active_hashcash:
|
3
|
+
submit_filter: Filtra
|
4
|
+
waiting_label: Esperant verificació...
|
2
5
|
activemodel:
|
3
6
|
attributes:
|
4
7
|
config:
|
@@ -6,10 +9,13 @@ ca:
|
|
6
9
|
allow_images_in_editors: Permet imatges a l'editor HTML
|
7
10
|
allow_images_in_proposals: Permet imatges a l'editor de propostes
|
8
11
|
allow_videos_in_editors: Permet vídeos a l'editor HTML
|
12
|
+
authorization_options_form: Opcions d'autorització
|
9
13
|
auto_save_forms: Desa automàticament els formularis a l'emmagatzematge local
|
10
|
-
|
11
|
-
|
12
|
-
|
14
|
+
force_authorizations: Grup d'autorització %{id}
|
15
|
+
hashcash_login: Activa la protecció HashCash antibot per usuaris existents (inici sessió)
|
16
|
+
hashcash_login_bits: Nombre de bits per l'algoritme Hashcash (inici sessió)
|
17
|
+
hashcash_signup: Activa la protecció HashCash antibot per usuaris existents (registre)
|
18
|
+
hashcash_signup_bits: Nombre de bits per l'algoritme Hashcash (registre)
|
13
19
|
intergram_auto_no_response: Un missatge que s'envia un minut després que la usuària hagi enviat el seu primer missatge i no s'hagi rebut cap resposta
|
14
20
|
intergram_auto_response: Un missatge que s'envia immediatament després que la usuària enviï el seu primer missatge
|
15
21
|
intergram_chat_id: ID de xat
|
@@ -35,6 +41,7 @@ ca:
|
|
35
41
|
validate_title_min_length: Nombre de caràcters mínims requerits pel títol de la proposta
|
36
42
|
validate_title_start_with_caps: Força que el text del títol s'inici amb una majúscula
|
37
43
|
constraint:
|
44
|
+
application_context: Només per
|
38
45
|
component_id: o específicament a
|
39
46
|
component_manifest: Només en components de tipus
|
40
47
|
participatory_space_manifest: Aplica-ho a espais participatius de tipus
|
@@ -130,7 +137,7 @@ ca:
|
|
130
137
|
sort_orders_enabled: Opcions d'ordenació actives
|
131
138
|
voting_cards_box_title: Títol per la cabina de votació
|
132
139
|
voting_cards_box_title_help: L'opció per defecte és 'Votar a aquesta proposta'. Utilitzeu '-' per amagar-la.
|
133
|
-
voting_cards_instructions: Instruccions d'ajuda en el suport/votació (finestra modal que es pot tancar)
|
140
|
+
voting_cards_instructions: Instruccions d'ajuda en el suport/votació (finestra modal que es pot tancar)
|
134
141
|
voting_cards_instructions_help: L'opció per defecte és 'Llegeix les normes de la votació amb atenció per entendre com s'utilitzarà el teu vot per %{organization}"
|
135
142
|
voting_cards_show_abstain: Afegeix l'opció d'abstenció
|
136
143
|
voting_cards_show_modal_help: Mostra la finestra modal d'instruccions/ajuda quan es faci clic al suport
|
@@ -206,7 +213,10 @@ ca:
|
|
206
213
|
index:
|
207
214
|
admin_head_tags: Etiquetes Awesome incloses a la capçalera de l'aplicació d'administració
|
208
215
|
decidim-admin: Del mòdul Admin
|
216
|
+
decidim-assemblies: Del mòdul Assemblies
|
217
|
+
decidim-conferences: Del mòdul Conferences
|
209
218
|
decidim-core: Del mòdul Core
|
219
|
+
decidim-participatory_processes: Del mòdul de Participatory Processes
|
210
220
|
decidim-proposals: Del mòdul Proposals
|
211
221
|
decidim_version: Versió de Decidim %{version}
|
212
222
|
errors:
|
@@ -221,6 +231,7 @@ ca:
|
|
221
231
|
Pots iniciar el procés ara i es durà a terme en segon pla.
|
222
232
|
start_image_migrations: "\U0001F449 Iniciar el procés de migració ara"
|
223
233
|
config:
|
234
|
+
anonymous: Usuaris no identificats
|
224
235
|
caution: 'NOTA: Aquesta funció modifica en gran mesura alguns comportaments predeterminats que podrien provocar resultats inesperats. Utilitzeu-lo amb precaució!'
|
225
236
|
constraints:
|
226
237
|
add_condition: Afegeix una restricció
|
@@ -229,6 +240,9 @@ ca:
|
|
229
240
|
delete: Esborra
|
230
241
|
edit: Edita
|
231
242
|
title: 'S''aplica només en aquests casos:'
|
243
|
+
create_force_authorization:
|
244
|
+
error: Error en crear un nou grup d'autorització! %{error}
|
245
|
+
success: Grup d'autorització %{key} creat correctament
|
232
246
|
create_proposal_custom_field:
|
233
247
|
error: Error en crear una nova caixa de "camps personalitzats"! %{error}
|
234
248
|
success: 'Caixa de "camps personalitzats" %{key} creada correctament'
|
@@ -238,6 +252,9 @@ ca:
|
|
238
252
|
create_scoped_style:
|
239
253
|
error: Error en crear una nova caixa CSS! %{error}
|
240
254
|
success: Caixa CSS %{key} creada correctament
|
255
|
+
destroy_force_authorization:
|
256
|
+
error: Error en eliminar el grup d'autorització! %{error}
|
257
|
+
success: Grup d'autorització %{key} eliminat correctament
|
241
258
|
destroy_proposal_custom_field:
|
242
259
|
error: Error en eliminar la caixa de "camps personalitzats"! %{error}
|
243
260
|
success: 'Caixa de "camps personalitzats" %{key} eliminada correctament'
|
@@ -247,6 +264,7 @@ ca:
|
|
247
264
|
destroy_scoped_style:
|
248
265
|
error: Error en eliminar una caixa CSS! %{error}
|
249
266
|
success: Caixa CSS %{key} eliminada correctament
|
267
|
+
force_authorizations: Grups d'autoritzacions
|
250
268
|
form:
|
251
269
|
additional_proposal_sortings:
|
252
270
|
enable_all: Activa totes les opcions d'ordenació addicionals
|
@@ -256,14 +274,23 @@ ca:
|
|
256
274
|
errors:
|
257
275
|
incorrect_css: 'El CSS de la caixa #%{key} no és vàlid'
|
258
276
|
incorrect_json: 'La sintaxi JSON de la caixa #%{key} és invàlida'
|
277
|
+
force_authorization_help_text: Text d'ajuda per la pàgina d'autorització
|
259
278
|
help:
|
260
279
|
allow_images_in_editors: Això afegirà una icona per pujar arxius a l'editor HTML
|
261
280
|
allow_images_in_proposals: Això permetrà pujar imatges a l'editor de propostes, disponible per qualsevol usuari
|
262
281
|
allow_videos_in_editors: Això afegirà una icona per enllaçar vídeos a l'editor HTML
|
263
282
|
auto_save_forms: Això farà servir l'emmagatzematge local del navegador per desar automàticament les dades introduïdes pels usuaris a les enquestes i altres formularis mentre les omplen. Les dades es restauraran en una futura visita amb el mateix navegador en cas que no s'enviï el formulari. Si s’envia el formulari, s’eliminaran les dades locals. Si els usuaris eliminen les seves dades del navegador, tampoc es restauraran.
|
264
283
|
drag_and_drop_supported: Quan es pugin imatges, es pot fer a través del mètode de "arrossegar i deixar anar". Les imatges seran pujades al servidor i inserides com recursos externs (no es fa servir codificació en línia base64).
|
265
|
-
force_authorization_after_login: 'Si està habilitat, les usuàries seran redireccionades a la pàgina d''autorització després de l''inici de sessió o registre si algunes de les autoritzacions especificades no són concedides. Això és útil si voleu forçar les usuàries a que es verifiquin a través d''una autorització específica abans que puguin iniciar sessió en qualsevol moment (per exemple: per prevenir spam).'
|
266
284
|
force_authorization_help_text: Afegeix un text personalitzat per explicar per què cal l'autorització. Assegureu-vos també d'afegir un mode de contacte en cas que les usuàries necessitin ajuda.
|
285
|
+
hashcash_i18n_key: 'Podeu personalitzar el text del botó que es mostra als usuaris a les pàgines d''iniciar sessió/registre amb la clau i18n %{key}'
|
286
|
+
hashcash_login: |
|
287
|
+
Protegeix les aplicacions Rails contra bots i atacs de força bruta sense molestar els humans.
|
288
|
+
Hashcash és un sistema de prova de treball que requereix que els usuaris resolguin un trencaclosques computacional (realitzat automàticament pel navegador) abans de poder registrar-se.
|
289
|
+
hashcash_login_bits: Aquest paràmetre defineix el nombre de bits que l'algoritme Hashcash utilitzarà per generar la prova de treball. Es recomana utilitzar un valor entre 16 (fàcil) i 30 (extremadament difícil) bits. El valor per defecte per als formularis d'inici de sessió és %{bits} bits.
|
290
|
+
hashcash_signup: |
|
291
|
+
Protegeix les aplicacions Rails contra bots i atacs de força bruta sense molestar els humans.
|
292
|
+
Hashcash és un sistema de prova de treball que requereix que els usuaris resolguin un trencaclosques computacional (realitzat automàticament pel navegador) abans de poder registrar-se.
|
293
|
+
hashcash_signup_bits: Aquest paràmetre defineix el nombre de bits que l'algoritme Hashcash utilitzarà per generar la prova de treball. Es recomana utilitzar un valor entre 16 (fàcil) i 30 (extremadament difícil) bits. El valor per defecte per als formularis de registre és %{bits} bits.
|
267
294
|
intergram_about: Intergram utilitza el Telegram Messenger per gestionar un widget de xat en viu de suport incrustat a la part inferior de la pàgina.
|
268
295
|
intergram_config: 'Convida a la <a href="https://web.telegram.org/#/im?p=@IntergramBot">@Intergram bot</a> al teu grup o comença un xat amb ella directament. <a href="https://github.com/idoco/intergram#embed-intergram-in-your-website-with-these-2-simple-steps">+ info</a>'
|
269
296
|
original_editor_override: Desde la versió 0.26, és possible (per administradors només) pujar imatges als editors de text enriquit. Per tant, les opcions d'imatges disponibles en aquesta pàgina només afecten a la part pública de la web (les administradores sempre ho tenen activat).
|
@@ -290,12 +317,20 @@ ca:
|
|
290
317
|
validate_title_max_marks_together: 'Limiteu el nombre de signes d''interrogació i d''exclamació que es poden escriure junts. És a dir: si és 2, aleshores ''!!!'' no es permetrà al text'
|
291
318
|
validate_title_min_length: El títol sempre és obligatori i aquest número no pot ser zero
|
292
319
|
verifications_html: |
|
293
|
-
Aquí
|
294
|
-
|
295
|
-
Tingues en compte també, que aquests paràmetres s'apliquen a totes les usuàries. Les administradores sempre tindran accés al tauler dadministració.
|
320
|
+
Aquí podeu establir restriccions d'accés addicionals a espais o components participatius que obligaran els usuaris a ser verificats abans d'accedir a determinades ubicacions (per exemple: per evitar correu brossa).<br>
|
321
|
+
Les restriccions s'apliquen a tots els usuaris, però els administradors sempre tindran accés al tauler /admin.
|
296
322
|
validators:
|
297
323
|
body: Validacions d'entrada per l'usuari en el camp cos de la proposta
|
298
324
|
title: Validacions d'entrada per l'usuari en el camp títol de la proposta
|
325
|
+
form_force_authorizations:
|
326
|
+
delete: Esborra
|
327
|
+
force_authorizations_html: |
|
328
|
+
Definiu grups de verificació. Cada grup pot requerir que els usuaris siguin verificats per un o més mètodes per accedir a àrees específiques de la plataforma.
|
329
|
+
help: Podeu definir grups de mètodes d'autorització i restringir l'accés en funció d'aquests.
|
330
|
+
new: Afegeix un nou grup d'autorització
|
331
|
+
remove: Elimina aquest grup d'autorització
|
332
|
+
sure_to_remove: Estàs segura que vols eliminar aquest grup d'autoritzacions?
|
333
|
+
title: 'Restringeix l''accés amb:'
|
299
334
|
form_proposal_custom_fields:
|
300
335
|
delete: Esborra
|
301
336
|
new: Afegeix una nova caixa de "camps personalitzats"
|
@@ -342,6 +377,7 @@ ca:
|
|
342
377
|
update:
|
343
378
|
error: Error actualitzant la configuració! %{error}
|
344
379
|
success: Configuració actualitzada correctament
|
380
|
+
user_logged_in: Usuaris amb la sessió iniciada
|
345
381
|
constraints:
|
346
382
|
create:
|
347
383
|
error: Error creant una nova restricció
|
@@ -398,37 +434,25 @@ ca:
|
|
398
434
|
update:
|
399
435
|
error: 'Error en actualitzar la redirecció: %{error}'
|
400
436
|
success: Redirecció actualitzada correctament
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
437
|
+
hashcash:
|
438
|
+
filters:
|
439
|
+
ip_addresses: Veure les adreces IP
|
440
|
+
stamps: Veure els segells de Hashcash
|
441
|
+
index:
|
442
|
+
bits: Bits
|
443
|
+
created_at: Creada el
|
408
444
|
help_html: |
|
409
|
-
Aquesta
|
445
|
+
Aquesta pàgina mostra els segells Hashcash que s'han detectat al sistema. Hashcash és un sistema de prova de treball que requereix que els usuaris resolguin un trencaclosques computacional (realitzat automàticament pel navegador) abans de poder registrar-se.
|
410
446
|
<br><br>
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
<br>
|
421
|
-
Les dades públiques no es veuran afectades per aquesta acció. Només s'eliminaran les dades privades.
|
422
|
-
<br><br>
|
423
|
-
<strong>Hi ha un temps mínim d'espera abans de suprimir les dades privades?</strong>
|
424
|
-
<br>
|
425
|
-
Sí, no podeu suprimir dades privades si l'última actualització va ser fa menys de %{time_ago}. Podeu canviar aquesta configuració al fitxer inicialitzador.
|
426
|
-
items_count: Total afectats
|
427
|
-
last_date: Última actualització
|
428
|
-
no_data: No s'han trobat dades privades més antigues que fa %{time_ago}
|
429
|
-
not_destroyable: Aquest recurs encara no es pot destruir
|
430
|
-
removing: Eliminant...
|
431
|
-
time_ago: "fa %{time}"
|
447
|
+
Cada entrada d'aquesta llista representa un segell Hashcash que ha estat generat per un usuari cada vegada que s'ha registrat o ha iniciat la sessió.
|
448
|
+
ip_address: Adreça IP
|
449
|
+
no_data: No s'han trobat segells de Hashcash
|
450
|
+
request_path: Ruta de la sol·licitud
|
451
|
+
ip_addresses:
|
452
|
+
help_html: Aquesta pàgina enumera totes les adreces IP que s'han detectat al sistema, ordenades pel nombre de segells Hashcash que han generat. <br><br> Cada segell és una acció d'inici de sessió o de registre per part d'un usuari. Podeu utilitzar aquesta informació per detectar activitats sospitoses.
|
453
|
+
ip_address: Adreça IP
|
454
|
+
no_data: No s'han trobat adreces IP
|
455
|
+
stamps: Segells hashcash
|
432
456
|
menu:
|
433
457
|
admins: Administradores acotades
|
434
458
|
custom_redirects: Redireccions personalitzades
|
@@ -436,6 +460,7 @@ ca:
|
|
436
460
|
livechat: Xat en directe
|
437
461
|
maintenance:
|
438
462
|
checks: Compatibilitat de sistema
|
463
|
+
hashcash: Segells hashcash
|
439
464
|
maintenance: Manteniment
|
440
465
|
private_data: Dades privades
|
441
466
|
menu_hacks: Retocs al menú
|
@@ -472,6 +497,8 @@ ca:
|
|
472
497
|
title: Bloc de menú global a la home
|
473
498
|
menu:
|
474
499
|
title: Menú principal
|
500
|
+
mobile_menu:
|
501
|
+
title: Menú mòbil
|
475
502
|
new: Nou ítem
|
476
503
|
remove: Eliminar addició
|
477
504
|
remove_hack: Eliminar retoc
|
@@ -487,6 +514,37 @@ ca:
|
|
487
514
|
verification_modal:
|
488
515
|
authorizations_for: Autoritzacions per a %{user}
|
489
516
|
close: Tanca
|
517
|
+
private_data:
|
518
|
+
private_data:
|
519
|
+
component: Espai / Component
|
520
|
+
confirm_delete: Segur que voleu suprimir totes les dades privades d'aquest recurs? Aquesta acció no es pot desfer.
|
521
|
+
delete: Esborrar-ho tot
|
522
|
+
destroying: Les dades privades de %{title} s'han programat per ser destruïdes. Si us plau, torneu a comprovar d'aquí a uns minuts.
|
523
|
+
done: Fet
|
524
|
+
help_html: |
|
525
|
+
Aquesta eina permet esborrar totes les dades privades d'un espai o component participatiu concret. Aquesta acció és irreversible i eliminarà totes les dades privades de la base de dades.
|
526
|
+
<br><br>
|
527
|
+
<strong>Què es consideren dades privades?</strong>
|
528
|
+
<br>
|
529
|
+
Les dades privades són qualsevol informació que no està disponible públicament i només és accessible per als administradors. Això, de moment, inclou la informació del camps personalitzats privats.
|
530
|
+
<br><br>
|
531
|
+
<strong>Què passa quan suprimeixo dades privades?</strong>
|
532
|
+
<br>
|
533
|
+
Quan suprimiu les dades privades, tota la informació privada de l'espai o component participatiu seleccionat s'eliminarà permanentment de la base de dades. Un registre d'aquesta acció s'emmagatzemarà al sistema amb finalitats d'auditoria (pero no les dades en si).
|
534
|
+
<br><br>
|
535
|
+
<strong>Què passa amb les dades públiques?</strong>
|
536
|
+
<br>
|
537
|
+
Les dades públiques no es veuran afectades per aquesta acció. Només s'eliminaran les dades privades.
|
538
|
+
<br><br>
|
539
|
+
<strong>Hi ha un temps mínim d'espera abans de suprimir les dades privades?</strong>
|
540
|
+
<br>
|
541
|
+
Sí, no podeu suprimir dades privades si l'última actualització va ser fa menys de %{time_ago}. Podeu canviar aquesta configuració al fitxer inicialitzador.
|
542
|
+
items_count: Total afectats
|
543
|
+
last_date: Última actualització
|
544
|
+
no_data: No s'han trobat dades privades més antigues que fa %{time_ago}
|
545
|
+
not_destroyable: Aquest recurs encara no es pot destruir
|
546
|
+
removing: Eliminant...
|
547
|
+
time_ago: "fa %{time}"
|
490
548
|
proposal_custom_fields:
|
491
549
|
menu:
|
492
550
|
title: Camps públics
|
@@ -501,6 +559,9 @@ ca:
|
|
501
559
|
scoped_styles:
|
502
560
|
menu:
|
503
561
|
title: Interfície pública
|
562
|
+
visibility:
|
563
|
+
info_html: Podeu gestionar restriccions d'accés addicionals mitjançant verificacions amb %{awesome_link}.
|
564
|
+
restricted_html: Aquest espai utilitza restriccions d'accés addicionals amb %{awesome_link}.
|
504
565
|
admin_log:
|
505
566
|
component:
|
506
567
|
destroy_private_data: "%{user_name} ha destruït %{count} elements de dades privades per a %{resource_name} a %{space_name}"
|
@@ -574,6 +635,7 @@ ca:
|
|
574
635
|
proposal_private_custom_fields_disclosure: Aquesta informació no es publicarà
|
575
636
|
required_authorizations:
|
576
637
|
index:
|
638
|
+
authorization_options_invalid: Malauradament, tot i que teniu aquesta autorització, les dades utilitzades per verificar-vos no són vàlides en aquest context.
|
577
639
|
cancel: Això ho faré en un altre moment, %{link}.
|
578
640
|
granted_title: Verificacions concedides
|
579
641
|
logout: deixa'm tancar la sessió
|
@@ -640,6 +702,7 @@ ca:
|
|
640
702
|
title: 'Eines de manteniment: %{title}'
|
641
703
|
titles:
|
642
704
|
checks: Anàlisi de compatibilitat amb el sistema
|
705
|
+
hashcash: Segells hashcash
|
643
706
|
private_data: Neteja de dades privades
|
644
707
|
awesome_config:
|
645
708
|
amendments: Esmenes
|