decidim-decidim_awesome 0.9.3 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +121 -8
  4. data/Rakefile +1 -0
  5. data/app/cells/concerns/decidim/decidim_awesome/proposal_m_cell_override.rb +38 -0
  6. data/app/cells/decidim/decidim_awesome/voting/voting_cards_base_cell.rb +40 -0
  7. data/app/cells/decidim/decidim_awesome/voting/voting_cards_counter/show.erb +15 -0
  8. data/app/cells/decidim/decidim_awesome/voting/voting_cards_counter/vote_button.erb +15 -0
  9. data/app/cells/decidim/decidim_awesome/voting/voting_cards_counter_cell.rb +21 -0
  10. data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal/show.erb +35 -0
  11. data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal/vote_block_for.erb +16 -0
  12. data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal_cell.rb +87 -0
  13. data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal_modal/show.erb +16 -0
  14. data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal_modal_cell.rb +20 -0
  15. data/app/cells/decidim/proposals/proposal_m/footer.erb +13 -0
  16. data/app/controllers/concerns/decidim/decidim_awesome/not_found_redirect.rb +2 -2
  17. data/app/controllers/concerns/decidim/decidim_awesome/proposals/orderable_override.rb +100 -0
  18. data/app/controllers/concerns/decidim/decidim_awesome/proposals/proposal_votes_controller_override.rb +64 -0
  19. data/app/controllers/decidim/decidim_awesome/admin/checks_controller.rb +2 -6
  20. data/app/controllers/decidim/decidim_awesome/admin/config_controller.rb +1 -1
  21. data/app/controllers/decidim/decidim_awesome/admin/custom_redirects_controller.rb +1 -1
  22. data/app/controllers/decidim/decidim_awesome/admin/menu_hacks_controller.rb +1 -1
  23. data/app/forms/decidim/decidim_awesome/admin/config_form.rb +7 -0
  24. data/app/forms/decidim/decidim_awesome/admin/custom_redirect_form.rb +1 -1
  25. data/app/forms/decidim/decidim_awesome/proposals/proposal_wizard_create_step_form_override.rb +1 -1
  26. data/app/helpers/decidim/decidim_awesome/admin/system_checker_helpers.rb +4 -0
  27. data/app/models/concerns/decidim/decidim_awesome/has_proposal_extra_fields.rb +51 -0
  28. data/app/models/concerns/decidim/decidim_awesome/has_vote_weight.rb +30 -0
  29. data/app/models/decidim/decidim_awesome/proposal_extra_field.rb +11 -0
  30. data/app/models/decidim/decidim_awesome/vote_weight.rb +30 -0
  31. data/app/overrides/decidim/proposals/admin/proposals/_form/replace_editor.html.erb.deface +3 -0
  32. data/app/overrides/decidim/proposals/proposals/_vote_button/replace_vote_button.html.erb.deface +7 -0
  33. data/app/overrides/decidim/proposals/proposals/_votes_count/replace_counter.html.erb.deface +10 -0
  34. data/app/{views/layouts/decidim/_head.html.erb → overrides/layouts/decidim/_application/add_intergram.html.erb.deface} +1 -1
  35. data/app/overrides/layouts/decidim/_head/add_awesome_legacy_scripts.rb +11 -0
  36. data/app/overrides/layouts/decidim/_head/add_awesome_tags.html.erb.deface +11 -0
  37. data/app/{views/layouts/decidim/admin/_header.html.erb → overrides/layouts/decidim/admin/_application/add_intergram.html.erb.deface} +1 -1
  38. data/app/{views/v0.26/layouts/decidim/admin/_header.html.erb → overrides/layouts/decidim/admin/_header/replace_scripts.html.erb.deface} +1 -6
  39. data/app/overrides/layouts/decidim/admin/_header/replace_styles.html.erb.deface +3 -0
  40. data/app/packs/images/decidim/decidim_awesome/handcard.svg +14 -0
  41. data/app/packs/images/decidim/decidim_awesome/handcheck.svg +17 -0
  42. data/app/packs/src/decidim/decidim_awesome/admin/proposal_sortings.js +13 -0
  43. data/app/packs/src/decidim/decidim_awesome/awesome_admin.js +1 -0
  44. data/app/packs/src/decidim/decidim_awesome/awesome_application.js +1 -0
  45. data/app/packs/src/decidim/decidim_awesome/awesome_map/controllers/controller.js +1 -7
  46. data/app/packs/src/decidim/decidim_awesome/editors/editor.js +10 -4
  47. data/app/packs/src/decidim/decidim_awesome/forms/custom_fields_renderer.js +1 -1
  48. data/app/packs/src/decidim/decidim_awesome/voting/voting_cards.js +63 -0
  49. data/app/packs/stylesheets/decidim/decidim_awesome/awesome_application.scss +1 -0
  50. data/app/packs/stylesheets/decidim/decidim_awesome/voting/voting_cards.scss +223 -0
  51. data/app/serializers/concerns/decidim/decidim_awesome/proposal_serializer_override.rb +64 -0
  52. data/app/types/concerns/decidim/decidim_awesome/proposal_type_override.rb +18 -0
  53. data/app/views/decidim/decidim_awesome/admin/checks/_assets_tester.html.erb +1 -1
  54. data/app/views/decidim/decidim_awesome/admin/checks/index.html.erb +1 -0
  55. data/app/views/decidim/decidim_awesome/admin/config/_form_proposals.html.erb +19 -1
  56. data/app/views/decidim/decidim_awesome/voting/voting_cards/_proposal_m_cell_footer.erb +15 -0
  57. data/app/views/decidim/decidim_awesome/voting/voting_cards/_show_vote_button.html.erb +6 -0
  58. data/app/views/decidim/decidim_awesome/voting/voting_cards/_show_votes_count.html.erb +1 -0
  59. data/app/views/layouts/decidim/decidim_awesome/_awesome_config.html.erb +1 -0
  60. data/app/views/layouts/decidim/{admin/decidim_awesome.html.erb → decidim_awesome/admin/application.html.erb} +1 -1
  61. data/config/locales/ca.yml +64 -1
  62. data/config/locales/cs.yml +46 -1
  63. data/config/locales/de.yml +63 -0
  64. data/config/locales/en.yml +73 -1
  65. data/config/locales/es.yml +65 -1
  66. data/config/locales/eu.yml +5 -0
  67. data/config/locales/fr.yml +58 -1
  68. data/config/locales/hu.yml +227 -0
  69. data/config/locales/it.yml +133 -4
  70. data/config/locales/ja.yml +64 -1
  71. data/config/locales/lt.yml +102 -0
  72. data/config/locales/nl.yml +5 -1
  73. data/config/locales/pt-BR.yml +5 -1
  74. data/config/locales/pt-PT.yml +1 -0
  75. data/config/locales/ro-RO.yml +148 -0
  76. data/config/locales/sv.yml +5 -0
  77. data/db/migrate/20231006113837_create_decidim_awesome_vote_weights.rb +13 -0
  78. data/db/migrate/20231006113841_create_decidim_awesome_proposal_extra_fields.rb +14 -0
  79. data/lib/decidim/decidim_awesome/awesome.rb +43 -4
  80. data/lib/decidim/decidim_awesome/awesome_helpers.rb +7 -0
  81. data/lib/decidim/decidim_awesome/checksums.yml +17 -0
  82. data/lib/decidim/decidim_awesome/config.rb +10 -2
  83. data/lib/decidim/decidim_awesome/engine.rb +80 -2
  84. data/lib/decidim/decidim_awesome/system_checker.rb +4 -0
  85. data/lib/decidim/decidim_awesome/test/factories.rb +18 -0
  86. data/lib/decidim/decidim_awesome/test/initializer.rb +10 -1
  87. data/lib/decidim/decidim_awesome/version.rb +1 -1
  88. data/lib/decidim/decidim_awesome/voting_manifest.rb +60 -0
  89. data/lib/tasks/decidim_awesome_upgrade_tasks.rake +9 -0
  90. data/package.json +5 -4
  91. metadata +61 -11
  92. data/app/views/decidim/proposals/admin/proposals/_form.html.erb +0 -101
  93. data/app/views/v0.26/layouts/decidim/_head.html.erb +0 -45
  94. data/app/views/v0.27/layouts/decidim/_head.html.erb +0 -49
  95. data/app/views/v0.27/layouts/decidim/admin/_header.html.erb +0 -11
  96. /data/app/models/{decidim → concerns/decidim}/decidim_awesome/user_override.rb +0 -0
@@ -0,0 +1,63 @@
1
+ $(() => {
2
+ if ($(".voting-voting_cards").length === 0 || $("#VotingCardsModalHelp").length === 0 || $(".sign-out-link").length === 0) {
3
+ return;
4
+ }
5
+
6
+ const $modal = $("#VotingCardsModalHelp");
7
+ const $card = $modal.find(".current-choice .vote-card");
8
+ const $check = $("#voting_cards-skip_help");
9
+
10
+ const storage = () => {
11
+ return JSON.parse(localStorage.getItem("hideTreeFlagsModalHelp") || "{}")
12
+ };
13
+
14
+ const isChecked = () => {
15
+ return storage()[$check.val()];
16
+ };
17
+
18
+ const saveState = (val) => {
19
+ const show = storage();
20
+ show[$check.val()] = val;
21
+ localStorage.setItem("hideTreeFlagsModalHelp", JSON.stringify(show))
22
+ };
23
+
24
+ const showModal = () => {
25
+ if (isChecked()) {
26
+ return false;
27
+ }
28
+ if ($modal.is(":visible")) {
29
+ return false;
30
+ }
31
+ return true;
32
+ };
33
+
34
+ $check.on("change", () => {
35
+ saveState($check.is(":checked"))
36
+ });
37
+
38
+ $modal.find(".vote-action").on("click", () => {
39
+ $modal.data("action").click();
40
+ $modal.foundation("close");
41
+ });
42
+
43
+ $(".button--vote-button .voting-voting_cards").on("click", ".vote-action", (evt) => {
44
+ if (showModal()) {
45
+ evt.stopPropagation();
46
+ evt.preventDefault();
47
+ $check.prop("checked", isChecked());
48
+ $modal.data("action", evt.currentTarget);
49
+ $card[0].classList = evt.currentTarget.classList;
50
+ if (evt.currentTarget.children.length > 1) {
51
+ $card.html(`${evt.currentTarget.children[1].outerHTML}<p class="vote-label">${evt.currentTarget.children[1].children[0].textContent}</p>`);
52
+ } else if ($card[0].classList.contains("button")) {
53
+ $card[0].classList.remove("button");
54
+ $card.html(`<p class="vote-label">${evt.currentTarget.title}</p>`);
55
+ } else {
56
+ $card.html(`<p class="vote-label">${evt.currentTarget.textContent}</p>`);
57
+ }
58
+ $modal.foundation("open");
59
+ } else {
60
+ $(evt.currentTarget).closest(".voting-voting_cards").addClass("loading");
61
+ }
62
+ });
63
+ });
@@ -2,6 +2,7 @@
2
2
  @import "stylesheets/decidim/decidim_awesome/editors/markdown_editor";
3
3
  @import "stylesheets/decidim/decidim_awesome/editors/quill_editor";
4
4
  @import "stylesheets/decidim/decidim_awesome/forms/autosave";
5
+ @import "stylesheets/decidim/decidim_awesome/voting/voting_cards";
5
6
 
6
7
  .decidim_awesome-custom_fields {
7
8
  dd {
@@ -0,0 +1,223 @@
1
+ :root {
2
+ --voting-cards-weight-0: #8b898b;
3
+ --voting-cards-weight-1: #f44336;
4
+ --voting-cards-weight-2: #ffc107;
5
+ --voting-cards-weight-3: #4caf50;
6
+ }
7
+
8
+ .voting-voting_cards {
9
+ $rectangle-width: 3rem;
10
+
11
+ // ProposalM card
12
+ &-card {
13
+ a {
14
+ margin-bottom: 0;
15
+
16
+ > svg {
17
+ margin-bottom: 2px;
18
+ vertical-align: middle;
19
+ }
20
+
21
+ &.button {
22
+ &.weight_0 {
23
+ background-color: var(--voting-cards-weight-0);
24
+ }
25
+
26
+ &.weight_1 {
27
+ background-color: var(--voting-cards-weight-1);
28
+ }
29
+
30
+ &.weight_2 {
31
+ background-color: var(--voting-cards-weight-2);
32
+ }
33
+
34
+ &.weight_3 {
35
+ background-color: var(--voting-cards-weight-3);
36
+ }
37
+ }
38
+ }
39
+
40
+ .votes_counter {
41
+ .weight_0 {
42
+ color: var(--voting-cards-weight-0);
43
+ }
44
+
45
+ .weight_1 {
46
+ color: var(--voting-cards-weight-1);
47
+ }
48
+
49
+ .weight_2 {
50
+ color: var(--voting-cards-weight-2);
51
+ }
52
+
53
+ .weight_3 {
54
+ color: var(--voting-cards-weight-3);
55
+ }
56
+ }
57
+ }
58
+
59
+ margin-bottom: 1.5rem;
60
+ border-bottom: 2px solid #d9d9d9;
61
+
62
+ &.current-choice {
63
+ text-align: center;
64
+ margin-bottom: 0;
65
+ border-bottom: none;
66
+
67
+ .vote-card {
68
+ margin-top: .5rem;
69
+
70
+ .vote-label {
71
+ margin-bottom: 1rem;
72
+ color: $black;
73
+ }
74
+ }
75
+
76
+ .change-vote-button:hover {
77
+ font-size: 1rem;
78
+ margin-top: 0;
79
+ }
80
+ }
81
+
82
+ &.loading {
83
+ opacity: .3;
84
+ pointer-events: none;
85
+ position: relative;
86
+
87
+ &::before {
88
+ @include spinner(25px, $medium-gray, var(--primary), 800ms);
89
+
90
+ z-index: 1000;
91
+ content: "";
92
+ vertical-align: middle;
93
+ position: absolute;
94
+ top: calc(50% - 12.5px);
95
+ left: calc(50% - 12.5px);
96
+ }
97
+ }
98
+
99
+ .vote-title {
100
+ text-align: center;
101
+ font-size: 1.5rem;
102
+ }
103
+
104
+ .votes_counter {
105
+ letter-spacing: .2rem;
106
+ font-size: 1rem;
107
+ }
108
+
109
+ .vote-link.hidden {
110
+ display: none;
111
+ }
112
+
113
+ .vote-card {
114
+ display: inline-block;
115
+
116
+ .vote-label {
117
+ font-size: 1rem;
118
+ margin-bottom: 0;
119
+ }
120
+
121
+ > svg {
122
+ display: inline-block;
123
+ width: $rectangle-width;
124
+ height: calc($rectangle-width * 2);
125
+ vertical-align: middle;
126
+ margin: -.5rem 0 0 .5rem;
127
+ max-width: 100%;
128
+ transition: transform 150ms ease-in-out;
129
+
130
+ &:hover {
131
+ transform: scale(1.15) rotate(-5deg);
132
+ }
133
+ }
134
+
135
+ &.weight_3 {
136
+ color: var(--voting-cards-weight-3);
137
+
138
+ & > svg {
139
+ fill: var(--voting-cards-weight-3);
140
+ }
141
+ }
142
+
143
+ &.weight_2 {
144
+ color: var(--voting-cards-weight-2);
145
+
146
+ & > svg {
147
+ fill: var(--voting-cards-weight-2);
148
+ }
149
+ }
150
+
151
+ &.weight_1 {
152
+ color: var(--voting-cards-weight-1);
153
+
154
+ & > svg {
155
+ fill: var(--voting-cards-weight-1);
156
+ }
157
+ }
158
+
159
+ &.voted {
160
+ & > svg {
161
+ transform: scale(1.15) rotate(-5deg);
162
+ }
163
+ }
164
+ }
165
+
166
+ .voting-button {
167
+ background: none;
168
+ border: none;
169
+ color: #fff;
170
+ font-weight: bold;
171
+ }
172
+
173
+ .dim {
174
+ opacity: .3;
175
+ pointer-events: none;
176
+ }
177
+
178
+ .disabled {
179
+ pointer-events: none;
180
+ }
181
+
182
+ .vote-block {
183
+ display: flex;
184
+ flex-direction: column;
185
+ align-items: center;
186
+ justify-content: center;
187
+ position: relative;
188
+ text-align: center;
189
+
190
+ .vote-count {
191
+ font-size: 2rem;
192
+ font-weight: bolder;
193
+ margin-bottom: 0;
194
+ }
195
+ }
196
+
197
+ .change-vote-button {
198
+ transition: all 150ms ease-in-out;
199
+
200
+ &:hover {
201
+ text-decoration: none;
202
+ font-size: .9rem;
203
+ margin-top: .1rem;
204
+ }
205
+ }
206
+
207
+ .button.abstain-button {
208
+ text-transform: uppercase;
209
+ color: var(--voting-cards-weight-0);
210
+ border-color: var(--voting-cards-weight-0);
211
+ background-color: transparent;
212
+
213
+ &.voted {
214
+ background-color: var(--voting-cards-weight-0);
215
+ color: #fff;
216
+ border-color: transparent;
217
+
218
+ &.disabled {
219
+ opacity: 1;
220
+ }
221
+ }
222
+ }
223
+ }
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module DecidimAwesome
5
+ module ProposalSerializerOverride
6
+ extend ActiveSupport::Concern
7
+
8
+ included do
9
+ # Public: Exports a hash with the serialized data for this proposal.
10
+ def serialize
11
+ {
12
+ id: proposal.id,
13
+ category: {
14
+ id: proposal.category.try(:id),
15
+ name: proposal.category.try(:name) || empty_translatable
16
+ },
17
+ scope: {
18
+ id: proposal.scope.try(:id),
19
+ name: proposal.scope.try(:name) || empty_translatable
20
+ },
21
+ participatory_space: {
22
+ id: proposal.participatory_space.id,
23
+ url: Decidim::ResourceLocatorPresenter.new(proposal.participatory_space).url
24
+ },
25
+ component: { id: component.id },
26
+ title: proposal.title,
27
+ body: convert_to_plain_text(proposal.body),
28
+ address: proposal.address,
29
+ latitude: proposal.latitude,
30
+ longitude: proposal.longitude,
31
+ state: proposal.state.to_s,
32
+ reference: proposal.reference,
33
+ answer: ensure_translatable(proposal.answer),
34
+ supports: proposal.proposal_votes_count,
35
+ weights: proposal_vote_weights,
36
+ endorsements: {
37
+ total_count: proposal.endorsements.size,
38
+ user_endorsements: user_endorsements
39
+ },
40
+ comments: proposal.comments_count,
41
+ attachments: proposal.attachments.size,
42
+ followers: proposal.follows.size,
43
+ published_at: proposal.published_at,
44
+ url: url,
45
+ meeting_urls: meetings,
46
+ related_proposals: related_proposals,
47
+ is_amend: proposal.emendation?,
48
+ original_proposal: {
49
+ title: proposal&.amendable&.title,
50
+ url: original_proposal_url
51
+ }
52
+ }
53
+ end
54
+
55
+ private
56
+
57
+ def proposal_vote_weights
58
+ proposal.update_vote_weights!
59
+ proposal.vote_weights
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module DecidimAwesome
5
+ module ProposalTypeOverride
6
+ extend ActiveSupport::Concern
7
+
8
+ included do
9
+ field :vote_weights, GraphQL::Types::JSON, description: "The corresponding weights count to the proposal votes", null: true
10
+
11
+ def vote_weights
12
+ current_component = object.component
13
+ object.vote_weights unless current_component.current_settings.votes_hidden?
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,2 +1,2 @@
1
1
  <%= render partial: "layouts/decidim/head" %>
2
- <%= render partial: "layouts/decidim/decidim_javascript" unless legacy_version? %>
2
+ <%= render partial: "layouts/decidim/decidim_javascript" rescue nil %>
@@ -27,6 +27,7 @@
27
27
  <strong><%= t ".#{group}" %></strong>
28
28
  <ul class="vertical menu">
29
29
  <% props.files.each do |file, md5| %>
30
+ <% next unless exists?(props.spec, file) %>
30
31
  <li>
31
32
  <%= file %>
32
33
  <%= check(valid?(props.spec, file)) %>
@@ -11,6 +11,25 @@
11
11
  <% end %>
12
12
  </div>
13
13
 
14
+ <% if config_enabled? :additional_proposal_sortings %>
15
+ </div> <!-- .card-section -->
16
+ </div><!-- .card -->
17
+
18
+ <div class="card">
19
+ <div class="card-divider">
20
+ <h2 class="card-title"><%= t("additional_proposal_sortings.title", scope: "decidim.decidim_awesome.admin.config.form") %></h2>
21
+ </div>
22
+ <div class="card-section">
23
+ <div class="row column decidim_awesome-form">
24
+ <%= form.select :additional_proposal_sortings, @form.additional_proposal_sorting_labels, { include_blank: false }, { multiple: true } %>
25
+ <p class="help-text">
26
+ <%= t("additional_proposal_sortings.help", scope: "decidim.decidim_awesome.admin.config.form") %> <%= link_to t("additional_proposal_sortings.enable_all", scope: "decidim.decidim_awesome.admin.config.form"), "#", id: "additional_proposal_sortings-enable-all" %>.
27
+ </p>
28
+
29
+ <%= render(partial: "decidim/decidim_awesome/admin/config/constraints", locals: { key: :additional_proposal_sortings, constraints: constraints_for(:additional_proposal_sortings) }) %>
30
+ </div>
31
+ <% end %>
32
+
14
33
  <% if config_enabled? %i(validate_title_min_length validate_title_max_caps_percent validate_title_max_marks_together validate_title_start_with_caps) %>
15
34
  </div> <!-- .card-section -->
16
35
  </div><!-- .card -->
@@ -20,7 +39,6 @@
20
39
  <h2 class="card-title"><%= t("validators.title", scope: "decidim.decidim_awesome.admin.config.form") %></h2>
21
40
  </div>
22
41
  <div class="card-section">
23
-
24
42
  <div class="row column decidim_awesome-form">
25
43
  <% if config_enabled? :validate_title_start_with_caps %>
26
44
  <%= form.check_box :validate_title_start_with_caps %>
@@ -0,0 +1,15 @@
1
+ <% if has_link_to_resource? %>
2
+ <div class="card__footer">
3
+ <div class="card__support" style="display: block">
4
+ <% if has_actions? %>
5
+ <div class="flex--sbc voting-voting_cards-card" id="proposal-<%= model.id %>-votes-count"><%= cell("decidim/decidim_awesome/voting/voting_cards_counter", model) %></div>
6
+ <% elsif has_footer? %>
7
+ <div class="card__support__data"></div>
8
+ <%= link_to resource_path, class: "card__button button--sc light button small" do %>
9
+ <%= t("decidim.proposals.proposals.proposal.view_proposal") %>
10
+ <span class="show-for-sr"><%= title %></span>
11
+ <% end %>
12
+ <% end %>
13
+ </div>
14
+ </div>
15
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <div class="voting-voting_cards">
2
+ <%= cell("decidim/decidim_awesome/voting/voting_cards_proposal", proposal, from_proposals_list: true) %>
3
+ <% if current_component.settings.voting_cards_show_modal_help %>
4
+ <%= cell("decidim/decidim_awesome/voting/voting_cards_proposal_modal", proposal) %>
5
+ <% end %>
6
+ </div>
@@ -0,0 +1 @@
1
+ <div id="proposal-<%= proposal.id %>-votes-count"><%= proposal.proposal_votes_count || 0 %></div>
@@ -1,5 +1,6 @@
1
1
  <script>
2
2
  window.DecidimAwesome = <%= javascript_config_vars %>;
3
+ window.DecidimAwesome.currentLocale = "<%= current_locale %>";
3
4
  window.DecidimAwesome.version = "<%= Decidim::DecidimAwesome::VERSION %>";
4
5
  window.DecidimAwesome.editor_uploader_path = "<%= decidim_decidim_awesome.editor_images_path %>";
5
6
  window.DecidimAwesome.rename_scope_label_path = "<%= decidim_admin_decidim_awesome.rename_scope_label_path %>";
@@ -5,7 +5,7 @@ end %>
5
5
  <% content_for :secondary_nav do %>
6
6
  <div class="secondary-nav">
7
7
  <div class="secondary-nav__title">
8
- <%= t ".title" %>
8
+ <%= t "layouts.decidim.admin.decidim_awesome.title" %>
9
9
  </div>
10
10
 
11
11
  <ul>
@@ -1,7 +1,9 @@
1
+ ---
1
2
  ca:
2
3
  activemodel:
3
4
  attributes:
4
5
  config:
6
+ additional_proposal_sortings: Opcions d'ordenació addicionals actives
5
7
  allow_images_in_full_editor: Permet imatges a l'editor HTML complet
6
8
  allow_images_in_markdown_editor: Permet imatges a l'editor Markdown
7
9
  allow_images_in_proposals: Permet imatges a l'editor de propostes
@@ -94,7 +96,7 @@ ca:
94
96
  map_zoom_help: Només s’aplica si es defineix el punt central del mapa
95
97
  menu_amendments: Mostrar esmenes
96
98
  menu_categories: Mostrar el menú de cerca per categories
97
- menu_hashtags: Mostrar el menú de cerca per hashtag
99
+ menu_hashtags: Mostrar el menú de cerca per hashtags
98
100
  menu_meetings: Mostrar trobades
99
101
  menu_merge_components: Unifica tots els components del mateix tipus al menú
100
102
  truncate: Nombre màxim de caràcters per les descripcions emergents
@@ -105,6 +107,32 @@ ca:
105
107
  show_not_answered: Mostra les propostes pendents de contestar
106
108
  show_rejected: Mostra les propostes rebutjades
107
109
  show_withdrawn: Mostra les propostes retirades
110
+ proposals:
111
+ settings:
112
+ global:
113
+ awesome_voting_manifest: Tipus de suport
114
+ awesome_voting_manifest_help_html: <strong class="text-alert">Sigues conscient que canviar aquesta configuració enmig d'un període de votació pot donar lloc a resultats inexactes o inesperats.</strong><br>També tingueu en compte que aquesta configuració només es pot editar si el component encara no té cap suport.
115
+ awesome_voting_manifest_options:
116
+ default: Vot simple (suports per defecte)
117
+ voting_cards: Votació amb targetes de colors
118
+ default_sort_order_options:
119
+ az: A-Z (Alfabètic)
120
+ supported_first: Votades per mi primer
121
+ supported_last: Votades últimes per mi
122
+ za: Z-A (ordre alfabètic invers)
123
+ sort_orders_enabled: Opcions d'ordenació actives
124
+ voting_cards_box_title: Títol per la cabina de votació
125
+ voting_cards_box_title_help: L'opció per defecte és 'Votar a aquesta proposta'. Utilitzeu '-' per amagar-la.
126
+ voting_cards_instructions: Instruccions d'ajuda en el suport/votació (finestra modal que es pot tancar).
127
+ 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}"
128
+ voting_cards_show_abstain: Afegeix l'opció d'abstenció
129
+ voting_cards_show_modal_help: Mostra la finestra modal d'instruccions/ajuda quan es faci clic al suport
130
+ step:
131
+ default_sort_order_options:
132
+ az: A-Z (Alfabètic)
133
+ supported_first: Votades per mi primer
134
+ supported_last: Votades últimes per mi
135
+ za: Z-A (ordre alfabètic invers)
108
136
  decidim_awesome:
109
137
  admin:
110
138
  admin_accountability:
@@ -126,6 +154,7 @@ ca:
126
154
  index:
127
155
  description: Aquí trobareu totes les participants que han tingut algun paper en l'administració d'un espai participatiu. Les administradores de plataforma no apareixen a la llista.
128
156
  global_description: Aquí trobareu totes les participants que han tingut algun paper en l'administració de la plataforma. Les administradores d'un espai participatiu no apareixen a la llista.
157
+ missing_users: 'NOTA: És possible que aquesta llista no inclogui usuaris creats/eliminats abans de %{date}. Això es deu al fet que la "traçabilitat dels usuaris" es va introduir a Decidim v0.24 i aquesta instal·lació probablement és més antiga.'
129
158
  see_global: Llista global d'administradores de plataforma
130
159
  see_spaces: Llista global d'administradores d'un espai participatiu
131
160
  title: Històric d'administradores
@@ -189,6 +218,10 @@ ca:
189
218
  error: Error en eliminar una caixa CSS! %{error}
190
219
  success: Caixa CSS %{key} eliminada correctament
191
220
  form:
221
+ additional_proposal_sortings:
222
+ enable_all: Activa totes les opcions d'ordenació addicionals
223
+ help: Aquestes opcions d'ordenació addicionals s'afegiran a les que hi ha per defecte. També recordeu que podeu tria l'ordre per defecte de les propostes a la configuració del component.
224
+ title: Personalitza les opcions d'ordenació per la llista de propostes
192
225
  edit_label: Canviar el nom de l'etiqueta
193
226
  errors:
194
227
  incorrect_css: 'El CSS de la caixa #%{key} no és vàlid'
@@ -399,6 +432,36 @@ ca:
399
432
  view_proposal: Veure proposta
400
433
  validators:
401
434
  too_much_caps: Fa servir massa lletres majúscules (més %{percent}% del text)
435
+ voting:
436
+ voting_cards:
437
+ abstained: "✔ Abstenció"
438
+ change_vote: Canvia el meu vot
439
+ default_box_title: Vota en aquesta proposta
440
+ default_instructions_html: <p>Llegeix les normes de la votació amb atenció per entendre com s'utilitzarà el teu vot per %{organization}"</p>
441
+ modal:
442
+ cancel: Cancel·la
443
+ message: El teu vot es considerarà definitiu el %{date}. Pots canviar-lo fins a aquest moment
444
+ proceed: Procedeix
445
+ skip: Marca aquí per no mostrar aquesta finestra en el futur
446
+ vote_button: Clica per votar
447
+ voted: Votat
448
+ voting_for: El meu vot a "%{proposal}" és "%{type}"
449
+ weights:
450
+ weight_0: Abstenció
451
+ weight_0_short: 'A:'
452
+ weight_1: Roig
453
+ weight_1_short: 'R:'
454
+ weight_2: Groc
455
+ weight_2_short: 'G:'
456
+ weight_3: Verd
457
+ weight_3_short: 'V:'
458
+ proposals:
459
+ proposals:
460
+ orders:
461
+ az: A-Z (Alfabètic)
462
+ supported_first: Votades per mi primer
463
+ supported_last: Votades últimes per mi
464
+ za: Z-A (ordre alfabètic invers)
402
465
  layouts:
403
466
  decidim:
404
467
  admin:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  cs:
2
3
  activemodel:
3
4
  attributes:
@@ -94,7 +95,7 @@ cs:
94
95
  map_zoom_help: Použije se pouze v případě, že je definován střed mapy
95
96
  menu_amendments: Zobrazit pozměňovací návrhy
96
97
  menu_categories: Zobrazit menu hledání kategorií
97
- menu_hashtags: Zobrazit vyhledávací menu Hasthag
98
+ menu_hashtags: Zobrazit nabídku hledání Hashtagu
98
99
  menu_meetings: Zobrazit schůzky
99
100
  menu_merge_components: Sloučit všechny komponenty stejného typu v menu
100
101
  truncate: Maximum znaků pro popisy vyskakovacích oken
@@ -105,6 +106,23 @@ cs:
105
106
  show_not_answered: Zobrazit nezodpovězené návrhy
106
107
  show_rejected: Zobrazit odmítnuté návrhy
107
108
  show_withdrawn: Zobrazit stažené návrhy
109
+ proposals:
110
+ settings:
111
+ global:
112
+ awesome_voting_manifest: Typ podpory
113
+ awesome_voting_manifest_options:
114
+ voting_cards: Hlasování pomocí barevných karet
115
+ default_sort_order_options:
116
+ az: A-Z (abecední)
117
+ za: Z-A (obrácená abeceda)
118
+ voting_cards_box_title: Název hlasovacího pole
119
+ voting_cards_instructions_help: Výchozí hodnota je "Přečtěte si pečlivě pravidla voleb, abyste pochopili, jak bude vaše hlasování použito %{organization}""
120
+ voting_cards_show_abstain: Přidat možnost zdržet se hlasování
121
+ voting_cards_show_modal_help: Po kliknutí na podporu zobrazit instrukce/nápovědu
122
+ step:
123
+ default_sort_order_options:
124
+ az: A-Z (abecední)
125
+ za: Z-A (obrácená abeceda)
108
126
  decidim_awesome:
109
127
  admin:
110
128
  admin_accountability:
@@ -126,6 +144,7 @@ cs:
126
144
  index:
127
145
  description: Zde najdete všechny uživatele, kteří měli nějakou roli ve správě participačního prostoru. Běžní správci nejsou uvedeni.
128
146
  global_description: Zde najdete všechny uživatele, kteří měli nějakou globální roli ve správě participačního prostoru. Běžní správci nejsou uvedeni.
147
+ missing_users: 'POZNÁMKA: Tento seznam nemusí zahrnovat uživatele vytvořené/odebrané před %{date}. Je to proto, že "sledovatelnost uživatele" byla zavedena v Decidim v0.24 a tato instalace je pravděpodobně starší.'
129
148
  see_global: Seznam globálních správců
130
149
  see_spaces: Seznam administrátorů participačního prostoru
131
150
  title: Odpovědnost správce
@@ -214,6 +233,11 @@ cs:
214
233
  validate_body_max_marks_together: 'Omezit počet otazníků a vykřičníků, které lze psát dohromada. Např: Pokud je 2, pak ''!!!'' nebude v textu povoleno'
215
234
  validate_body_min_length: Toto číslo může být nulové, toto pole bude ve skutečnosti nepovinné
216
235
  validate_title_max_caps_percent: Nula nedovolí žádné velké písmeno, 100 bude nutit psát vše velkými písmeny
236
+ validate_title_max_marks_together: 'Omezit počet otazníků a vykřičníků, které lze psát dohromada. Např: Pokud je 2, pak ''!!!'' nebude v textu povoleno'
237
+ validate_title_min_length: Název je vždy povinný a toto číslo nemůže být nulové
238
+ validators:
239
+ body: Ověření vstupu uživatele pro pole "tělo"
240
+ title: Ověření uživatelem pro pole "Název"
217
241
  form_proposal_custom_fields:
218
242
  new: Přidat nové pole "vlastní pole"
219
243
  remove: Odstranit toto "vlastní pole"
@@ -392,6 +416,27 @@ cs:
392
416
  show:
393
417
  view_meeting: Zobrazit schůzku
394
418
  view_proposal: Zobrazit návrh
419
+ validators:
420
+ too_much_caps: Používá příliš mnoho velkých písmen (více než %{percent}% textu)
421
+ voting:
422
+ voting_cards:
423
+ abstained: "✔️ Zdržel se hlasování"
424
+ change_vote: Změnit můj hlas
425
+ modal:
426
+ cancel: Zrušit
427
+ weights:
428
+ weight_0_short: 'A:'
429
+ weight_1: Červená
430
+ weight_1_short: 'R:'
431
+ weight_2: Žlutá
432
+ weight_2_short: 'Y:'
433
+ weight_3: Zelená
434
+ weight_3_short: 'G:'
435
+ proposals:
436
+ proposals:
437
+ orders:
438
+ az: A-Z (abecední)
439
+ za: Z-A (obrácená abeceda)
395
440
  layouts:
396
441
  decidim:
397
442
  admin: