decidim-sortitions 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE-AGPLv3.txt +661 -0
- data/README.md +31 -0
- data/Rakefile +3 -0
- data/app/assets/config/decidim_sortitions_manifest.css +1 -0
- data/app/assets/config/decidim_sortitions_manifest.js +1 -0
- data/app/assets/images/decidim/sortitions/icon.svg +4 -0
- data/app/assets/javascripts/decidim/sortitions/admin/sortitions.js +2 -0
- data/app/assets/javascripts/decidim/sortitions/social_share.js +2 -0
- data/app/assets/stylesheets/decidim/sortitions/_sortitions.scss +45 -0
- data/app/assets/stylesheets/decidim/sortitions/social_share.css.scss +18 -0
- data/app/commands/decidim/sortitions/admin/create_sortition.rb +81 -0
- data/app/commands/decidim/sortitions/admin/destroy_sortition.rb +45 -0
- data/app/commands/decidim/sortitions/admin/update_sortition.rb +45 -0
- data/app/controllers/concerns/decidim/sortitions/orderable.rb +50 -0
- data/app/controllers/decidim/sortitions/admin/application_controller.rb +28 -0
- data/app/controllers/decidim/sortitions/admin/sortitions_controller.rb +104 -0
- data/app/controllers/decidim/sortitions/application_controller.rb +13 -0
- data/app/controllers/decidim/sortitions/sortition_widgets_controller.rb +20 -0
- data/app/controllers/decidim/sortitions/sortitions_controller.rb +45 -0
- data/app/events/decidim/sortitions/create_sortition_event.rb +8 -0
- data/app/forms/decidim/sortitions/admin/destroy_sortition_form.rb +20 -0
- data/app/forms/decidim/sortitions/admin/edit_sortition_form.rb +22 -0
- data/app/forms/decidim/sortitions/admin/sortition_form.rb +44 -0
- data/app/helpers/decidim/sortitions/admin/sortitions_helper.rb +24 -0
- data/app/helpers/decidim/sortitions/sortitions_helper.rb +38 -0
- data/app/models/decidim/sortitions/abilities/admin/admin_ability.rb +23 -0
- data/app/models/decidim/sortitions/abilities/admin/process_admin_ability.rb +46 -0
- data/app/models/decidim/sortitions/application_record.rb +9 -0
- data/app/models/decidim/sortitions/sortition.rb +81 -0
- data/app/queries/decidim/sortitions/admin/participatory_space_proposal_features.rb +29 -0
- data/app/queries/decidim/sortitions/admin/participatory_space_proposals.rb +49 -0
- data/app/queries/decidim/sortitions/filtered_sortitions.rb +37 -0
- data/app/services/decidim/sortitions/admin/draw.rb +31 -0
- data/app/services/decidim/sortitions/sortition_search.rb +47 -0
- data/app/views/decidim/sortitions/admin/sortitions/_form.html.erb +41 -0
- data/app/views/decidim/sortitions/admin/sortitions/confirm_destroy.html.erb +21 -0
- data/app/views/decidim/sortitions/admin/sortitions/edit.html.erb +27 -0
- data/app/views/decidim/sortitions/admin/sortitions/index.html.erb +57 -0
- data/app/views/decidim/sortitions/admin/sortitions/new.html.erb +11 -0
- data/app/views/decidim/sortitions/admin/sortitions/show.html.erb +55 -0
- data/app/views/decidim/sortitions/sortition_widgets/show.html.erb +4 -0
- data/app/views/decidim/sortitions/sortitions/_count.html.erb +1 -0
- data/app/views/decidim/sortitions/sortitions/_filters.html.erb +31 -0
- data/app/views/decidim/sortitions/sortitions/_filters_small_view.html.erb +18 -0
- data/app/views/decidim/sortitions/sortitions/_filters_small_view0.html.erb +18 -0
- data/app/views/decidim/sortitions/sortitions/_linked_sortitions.html.erb +29 -0
- data/app/views/decidim/sortitions/sortitions/_proposal.html.erb +24 -0
- data/app/views/decidim/sortitions/sortitions/_proposal_badge.html.erb +3 -0
- data/app/views/decidim/sortitions/sortitions/_results_count.html.erb +8 -0
- data/app/views/decidim/sortitions/sortitions/_sortition.html.erb +25 -0
- data/app/views/decidim/sortitions/sortitions/_sortition_author.html.erb +17 -0
- data/app/views/decidim/sortitions/sortitions/_sortition_cancel_author.html.erb +17 -0
- data/app/views/decidim/sortitions/sortitions/_sortitions.html.erb +14 -0
- data/app/views/decidim/sortitions/sortitions/_sortitions_count.html.erb +1 -0
- data/app/views/decidim/sortitions/sortitions/_tags.html.erb +16 -0
- data/app/views/decidim/sortitions/sortitions/index.html.erb +21 -0
- data/app/views/decidim/sortitions/sortitions/index.js.erb +10 -0
- data/app/views/decidim/sortitions/sortitions/show.html.erb +134 -0
- data/config/initializers/social_share_button.rb +5 -0
- data/config/locales/ca.yml +155 -0
- data/config/locales/en.yml +154 -0
- data/config/locales/es.yml +155 -0
- data/db/migrate/20171215161358_create_decidim_module_sortitions_sortitions.rb +23 -0
- data/db/migrate/20171220164658_add_witnesses_to_sortitions.rb +7 -0
- data/db/migrate/20171220164744_add_additional_info_to_sortitions.rb +7 -0
- data/db/migrate/20180102100101_add_author_to_sortitions.rb +7 -0
- data/db/migrate/20180102101128_add_reference_to_sortitions.rb +8 -0
- data/db/migrate/20180103082645_add_title_to_sortition.rb +7 -0
- data/db/migrate/20180103123055_drop_decidim_category_id_from_sortitions.rb +13 -0
- data/db/migrate/20180103160301_add_cancel_data_to_sortition.rb +9 -0
- data/db/migrate/20180104143054_make_sortition_reference_nullable.rb +7 -0
- data/db/migrate/20180104145344_add_candidate_proposals_to_sortitions.rb +7 -0
- data/db/migrate/20180108132729_rename_sortitions_table.rb +7 -0
- data/lib/decidim/sortitions.rb +24 -0
- data/lib/decidim/sortitions/admin.rb +10 -0
- data/lib/decidim/sortitions/admin_engine.rb +35 -0
- data/lib/decidim/sortitions/engine.rb +26 -0
- data/lib/decidim/sortitions/feature.rb +43 -0
- data/lib/decidim/sortitions/test/factories.rb +37 -0
- data/lib/decidim/sortitions/version.rb +7 -0
- metadata +208 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
<div class="filters-controls hide-for-mediumlarge">
|
2
|
+
<button data-open="filter-box" class="filters-controls__trigger">
|
3
|
+
<%= t ".filter" %>
|
4
|
+
<%= icon "caret-bottom", class: "icon--small float-right", aria_label: t('.unfold'), role: "img" %>
|
5
|
+
</button>
|
6
|
+
</div>
|
7
|
+
|
8
|
+
<div class="reveal" id="filter-box" data-reveal>
|
9
|
+
<div class="reveal__header">
|
10
|
+
<h3 class="reveal__title"><%= t ".filter_by" %>:</h3>
|
11
|
+
<button class="close-button" data-close aria-label="<%= t(".close_modal") %>" type="button">
|
12
|
+
<span aria-hidden="true">×</span>
|
13
|
+
</button>
|
14
|
+
</div>
|
15
|
+
<div class="filters">
|
16
|
+
<%= render partial: "filters" %>
|
17
|
+
</div>
|
18
|
+
</div>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<div class="card card--action card--list">
|
2
|
+
<% resources.each do |sortition| %>
|
3
|
+
<div class="card--list__item">
|
4
|
+
<div class="card--list__text">
|
5
|
+
<%= link_to resource_locator(sortition).path do %>
|
6
|
+
<%= icon "proposals", class: "card--list__icon", remove_icon_class: true %>
|
7
|
+
<% end %>
|
8
|
+
<div>
|
9
|
+
<%= link_to resource_locator(sortition).path, class: "card__link" do %>
|
10
|
+
<h5 class="card--list__heading"><%= translated_attribute sortition.title %></h5>
|
11
|
+
<% end %>
|
12
|
+
<div class="author">
|
13
|
+
<span class="author__avatar">
|
14
|
+
<%= image_tag sortition.author.avatar_url %>
|
15
|
+
</span>
|
16
|
+
<span class="author__name">
|
17
|
+
<%= sortition.author.name %>
|
18
|
+
</span>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
<div class="card--list__data">
|
23
|
+
<span class="card--list__data__number">
|
24
|
+
<%= sortition.selected_proposals.size %>
|
25
|
+
</span> <%= t(".selected_proposals", count: proposal.selected_proposals.size) %>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
<% end %>
|
29
|
+
</div>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<div class="column">
|
2
|
+
<article class="card card--proposal">
|
3
|
+
<div class="card__content">
|
4
|
+
<div class="card__header">
|
5
|
+
<%= link_to proposal_path(proposal) do %>
|
6
|
+
<h5 class="card__title"><%= proposal.title %></h5>
|
7
|
+
<% end %>
|
8
|
+
<div class="card__author author-data author-data--small">
|
9
|
+
<%= render partial: "decidim/shared/author_reference", locals: { author: present(proposal).author } %>
|
10
|
+
</div>
|
11
|
+
<%= feature_reference(proposal, class: "reference--text-left") %>
|
12
|
+
</div>
|
13
|
+
<%= render partial: "proposal_badge", locals: { proposal: proposal } %>
|
14
|
+
<p><%= truncate(proposal.body, length: 100) %></p>
|
15
|
+
<%= render partial: "decidim/shared/tags", locals: { resource: proposal, tags_class_extra: "tags--proposal" } %>
|
16
|
+
</div>
|
17
|
+
<div class="card__footer">
|
18
|
+
<div class="card__support">
|
19
|
+
<div class="card__support__data"></div>
|
20
|
+
<%= link_to t(".view_proposal"), proposal_path(proposal), class: "card__button button small secondary" %>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</article>
|
24
|
+
</div>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<div id="sortition-<%= sortition.id %>-results-count" class="card__support__data">
|
2
|
+
<span class="extra__suport-number">
|
3
|
+
<%= sortition.selected_proposals.count %>
|
4
|
+
</span>
|
5
|
+
<span class="extra__suport-text">
|
6
|
+
<%= t('.count', count: sortition.selected_proposals.count) %>
|
7
|
+
</span>
|
8
|
+
</div>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<div class="column">
|
2
|
+
<article class="card card--sortition">
|
3
|
+
<div class="card__content">
|
4
|
+
<div class="card__header">
|
5
|
+
<%= link_to sortition do%>
|
6
|
+
<h5 class="card__title"><%= translated_attribute sortition.title %></h5>
|
7
|
+
<% end %>
|
8
|
+
<div class="card__author author-data author-data--small">
|
9
|
+
<%= render partial: "sortition_author", locals: { sortition: sortition } %>
|
10
|
+
</div>
|
11
|
+
<%= feature_reference(sortition, class: "reference--text-left") %>
|
12
|
+
</div>
|
13
|
+
<p class="card__desc">
|
14
|
+
<%= decidim_sanitize html_truncate(translated_attribute(sortition.additional_info), length: 100, separator: '...') %>
|
15
|
+
</p>
|
16
|
+
<%= render partial: "tags", locals: { sortition: sortition } %>
|
17
|
+
</div>
|
18
|
+
<div class="card__footer">
|
19
|
+
<div class="card__support">
|
20
|
+
<div class="card__support__data"><%=t '.selected_proposals', count: sortition.selected_proposals.count %></div>
|
21
|
+
<%= link_to t(".view_sortition"), sortition, class: "card__button button small secondary" %>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
</article>
|
25
|
+
</div>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div class="author-data__main">
|
2
|
+
<div class="author author--inline">
|
3
|
+
<span class="author__avatar author__avatar--small">
|
4
|
+
<%= image_tag sortition.author.avatar_url %>
|
5
|
+
</span>
|
6
|
+
<span class="author__name">
|
7
|
+
<% if sortition.author&.deleted? %>
|
8
|
+
<span class="label label--small label--basic">
|
9
|
+
<%= t('.deleted') %>
|
10
|
+
</span>
|
11
|
+
<% else %>
|
12
|
+
<%= sortition.author.name %>
|
13
|
+
<% end %>
|
14
|
+
</span>
|
15
|
+
<%= l sortition.created_at, format: :decidim_short %>
|
16
|
+
</div>
|
17
|
+
</div>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div class="author-data__main">
|
2
|
+
<div class="author author--inline">
|
3
|
+
<span class="author__avatar author__avatar--small">
|
4
|
+
<%= image_tag sortition.cancelled_by_user.avatar_url %>
|
5
|
+
</span>
|
6
|
+
<span class="author__name">
|
7
|
+
<% if sortition.cancelled_by_user&.deleted? %>
|
8
|
+
<span class="label label--small label--basic">
|
9
|
+
<%= t('.deleted') %>
|
10
|
+
</span>
|
11
|
+
<% else %>
|
12
|
+
<%= sortition.cancelled_by_user.name %>
|
13
|
+
<% end %>
|
14
|
+
</span>
|
15
|
+
<%= l sortition.cancelled_on, format: :decidim_short %>
|
16
|
+
</div>
|
17
|
+
</div>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<div class="collection-sort-controls row small-up-1 medium-up-3 card-grid">
|
2
|
+
<div class="column">
|
3
|
+
<%= order_selector available_orders, i18n_scope: "decidim.sortitions.sortitions.orders" %>
|
4
|
+
</div>
|
5
|
+
|
6
|
+
<div class="column">
|
7
|
+
<%= render partial: "decidim/shared/results_per_page" %>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class="row small-up-1 medium-up-2 card-grid">
|
12
|
+
<%= render @sortitions %>
|
13
|
+
</div>
|
14
|
+
<%= decidim_paginate @sortitions, random_seed: random_seed %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= t(".count", count: @sortitions.total_count) %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
|
2
|
+
<ul class="tags tags--sortition" >
|
3
|
+
<li>
|
4
|
+
<%= link_to t("filters.active", scope: "decidim.sortitions.sortitions"),
|
5
|
+
sortitions_path(filter: { state: "active" }) unless sortition.cancelled? %>
|
6
|
+
|
7
|
+
<%= link_to t("filters.cancelled", scope: "decidim.sortitions.sortitions"),
|
8
|
+
sortitions_path(filter: { state: "cancelled" }) if sortition.cancelled? %>
|
9
|
+
</li>
|
10
|
+
|
11
|
+
<% if sortition.category.present? %>
|
12
|
+
<li>
|
13
|
+
<%= link_to translated_attribute(sortition.category.name), sortitions_path(filter: { category_id: [sortition.category.id] }) %>
|
14
|
+
</li>
|
15
|
+
<% end %>
|
16
|
+
</ul>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<div class="row columns">
|
2
|
+
<div class="title-action">
|
3
|
+
<h2 id="sortitions-count" class="title-action__title section-heading">
|
4
|
+
<%= render partial: "sortitions_count" %>
|
5
|
+
</h2>
|
6
|
+
</div>
|
7
|
+
</div>
|
8
|
+
<div class="row">
|
9
|
+
<div class="columns mediumlarge-4 large-3">
|
10
|
+
<%= render partial: "filters_small_view" %>
|
11
|
+
<div class="card card--secondary show-for-mediumlarge" >
|
12
|
+
<%= render partial: "filters" %>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
<div id="sortitions" class="columns mediumlarge-8 large-9">
|
16
|
+
<%= render partial: "sortitions" %>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
|
20
|
+
<%= javascript_include_tag("decidim/filters") %>
|
21
|
+
<%= javascript_include_tag "decidim/orders" %>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
var $sortitions = $('#sortitions');
|
2
|
+
var $sortitionsCount = $('#sortitions-count');
|
3
|
+
var $orderFilterInput = $('.order_filter');
|
4
|
+
|
5
|
+
$sortitions.html('<%= j(render partial: "sortitions").strip.html_safe %>');
|
6
|
+
$sortitionsCount.html('<%= j(render partial: "sortitions_count").strip.html_safe %>');
|
7
|
+
$orderFilterInput.val('<%= order %>');
|
8
|
+
|
9
|
+
var $dropdownMenu = $('.dropdown.menu', $sortitions);
|
10
|
+
$dropdownMenu.foundation();
|
@@ -0,0 +1,134 @@
|
|
1
|
+
<% add_decidim_meta_tags({
|
2
|
+
description: sanitize(translated_attribute(sortition.additional_info)),
|
3
|
+
title: translated_attribute(sortition.title),
|
4
|
+
url: sortition_url(sortition.to_param)
|
5
|
+
}) %>
|
6
|
+
|
7
|
+
<div class="row column">
|
8
|
+
<div class="callout success">
|
9
|
+
<p><%=t ".introduction", reference: sortition.id, target_items: sortition.target_items %></p>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
|
13
|
+
<div class="row column view-header">
|
14
|
+
<h2 class="heading2"><%= translated_attribute sortition.title %></h2>
|
15
|
+
<div class="author-data">
|
16
|
+
<%= render partial: "sortition_author", locals: { sortition: sortition } %>
|
17
|
+
</div>
|
18
|
+
</div>
|
19
|
+
|
20
|
+
<div class="row">
|
21
|
+
<div class="columns section view-side mediumlarge-4 mediumlarge-push-8 large-3 large-push-9">
|
22
|
+
<div class="card extra">
|
23
|
+
<div class="card__content">
|
24
|
+
<%= render partial: "results_count", locals: { sortition: sortition } %>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
<%= feature_reference(sortition) %>
|
28
|
+
<%= render partial: "decidim/shared/share_modal" %>
|
29
|
+
<%= embed_modal_for sortition_sortition_widget_url(sortition, format: :js) %>
|
30
|
+
</div>
|
31
|
+
|
32
|
+
<div class="columns mediumlarge-8 mediumlarge-pull-4">
|
33
|
+
<div class="section">
|
34
|
+
<%= sanitize translated_attribute sortition.additional_info %>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<% if sortition.cancelled? %>
|
40
|
+
<div class="row column">
|
41
|
+
<div class="title-action">
|
42
|
+
<h2 class="title-action__title section-heading"><%=t ".cancelled" %></h2>
|
43
|
+
</div>
|
44
|
+
<div class=section>
|
45
|
+
<div class="author-data">
|
46
|
+
<%= render partial: "sortition_cancel_author", locals: { sortition: sortition } %>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
<div class=section>
|
50
|
+
<%= sanitize translated_attribute sortition.cancel_reason %>
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
<% end %>
|
54
|
+
|
55
|
+
<div class="row column">
|
56
|
+
<div class="title-action">
|
57
|
+
<h2 class="title-action__title section-heading"><%=t ".witnesses" %></h2>
|
58
|
+
</div>
|
59
|
+
<div class="section">
|
60
|
+
<%= sanitize translated_attribute sortition.witnesses %>
|
61
|
+
</div>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<% if sortition&.proposals %>
|
65
|
+
<div class="row columns">
|
66
|
+
<div class="title-action">
|
67
|
+
<h2 id="proposals-count" class="title-action__title section-heading">
|
68
|
+
<%=t ".proposals_selected_by_sortition" %>
|
69
|
+
</h2>
|
70
|
+
</div>
|
71
|
+
<div class="row">
|
72
|
+
<div id="proposals" class="columns mediumlarge-12 large-12">
|
73
|
+
<div class="row small-up-1 medium-up-2 card-grid">
|
74
|
+
<%= render partial: "proposal", collection: sortition.proposals %>
|
75
|
+
</div>
|
76
|
+
</div>
|
77
|
+
</div>
|
78
|
+
</div>
|
79
|
+
<% end %>
|
80
|
+
|
81
|
+
<div class="row column">
|
82
|
+
<section class="extended" id="sortition-details">
|
83
|
+
<div class="row column">
|
84
|
+
<h4 class="section-heading"><%=t ".sortition_reproducibility_details" %></h4>
|
85
|
+
</div>
|
86
|
+
<div class=row>
|
87
|
+
<div class="columns small-centered mediumlarge-12 large-12 sortition-details">
|
88
|
+
<div class="sortition-details-item">
|
89
|
+
<span class="sortition-details-title sortition-details-text"><%=t ".dice_result" %></span>
|
90
|
+
<span class=sortition-details-text><%= sortition.dice %></span>
|
91
|
+
</div>
|
92
|
+
|
93
|
+
<div class="sortition-details-item">
|
94
|
+
<span class="sortition-details-title sortition-details-text"><%=t ".time_seed" %></span>
|
95
|
+
<span class=sortition-details-text><%= sortition.request_timestamp.to_i %></span>
|
96
|
+
</div>
|
97
|
+
|
98
|
+
<div class="sortition-details-item">
|
99
|
+
<span class="sortition-details-title sortition-details-text"><%=t ".mathematical_result" %></span>
|
100
|
+
<span class=sortition-details-text><%= sortition.seed %></span>
|
101
|
+
</div>
|
102
|
+
|
103
|
+
<div class="sortition-details-item">
|
104
|
+
<span class="sortition-details-title sortition-details-text"><%=t ".algorithm" %></span><br>
|
105
|
+
<span class=sortition-details-text>
|
106
|
+
<%= link_to Decidim::Sortitions.sortition_algorithm,
|
107
|
+
Decidim::Sortitions.sortition_algorithm,
|
108
|
+
target: "_blank",
|
109
|
+
title: t(".algorithm") %>
|
110
|
+
</span>
|
111
|
+
</div>
|
112
|
+
</div>
|
113
|
+
</div>
|
114
|
+
</section>
|
115
|
+
|
116
|
+
<section class=extended>
|
117
|
+
<div class="row column">
|
118
|
+
<h4 class="section-heading"><%=t ".candidate_proposal_ids" %></h4>
|
119
|
+
</div>
|
120
|
+
<div class="row columns">
|
121
|
+
<%=t ".candidate_proposals_info", category_label: sortition_category_label(sortition) %>:
|
122
|
+
</div>
|
123
|
+
<div class=row>
|
124
|
+
<div class="columns small-centered mediumlarge-12 large-12">
|
125
|
+
<%= sortition_proposal_candidate_ids sortition %>
|
126
|
+
</div>
|
127
|
+
</div>
|
128
|
+
</section>
|
129
|
+
</div>
|
130
|
+
|
131
|
+
<%= comments_for sortition %>
|
132
|
+
|
133
|
+
<%= javascript_include_tag "decidim/sortitions/social_share" %>
|
134
|
+
<%= stylesheet_link_tag "decidim/sortitions/social_share" %>
|
@@ -0,0 +1,155 @@
|
|
1
|
+
---
|
2
|
+
ca:
|
3
|
+
activemodel:
|
4
|
+
attributes:
|
5
|
+
sortition:
|
6
|
+
title: Títol
|
7
|
+
dice: Resultat de la tirada de dau (tira un dau de 6 cares (o busca una altra manera aleatòria de generar un número de l'1 al 6) i introdueix aquí, davant de testimoni el nombre resultant, això contribueix a la qualitat i garanties de l'aleatorietat del resultat
|
8
|
+
target_items: Nombre de propostes a seleccionar (indica el nombre de propostes que vols que siguin seleccionades mitjançant sorteig del conjunt de propostes que has escollit prèviament)
|
9
|
+
decidim_category_id: Categories del conjunt de propostes en les que vols aplicar el sorteig
|
10
|
+
decidim_proposals_feature_id: Conjunt de propostes
|
11
|
+
witnesses: Testimonis
|
12
|
+
additional_info: Informació adicional
|
13
|
+
pages:
|
14
|
+
home:
|
15
|
+
statistics:
|
16
|
+
sortitions_count: Sortejos
|
17
|
+
decidim:
|
18
|
+
events:
|
19
|
+
sortitions:
|
20
|
+
sortition_created:
|
21
|
+
email_intro: "S'ha afegit el sorteig \"%{resource_title}\" a \"%{participatory_space_title}\" que estàs seguint."
|
22
|
+
email_outro: "Has rebut aquesta notificació perquè estàs seguint \"%{participatory_space_title}\". Pots deixar de seguir-ho seguint l'enllaç anterior."
|
23
|
+
email_subject: Nou sorteig afegit a %{participatory_space_title}
|
24
|
+
notification_title: "S'ha afegit el sorteig <a href=\"%{resource_path}\">%{resource_title}</a> a %{participatory_space_title}"
|
25
|
+
participatory_processes:
|
26
|
+
statistics:
|
27
|
+
sortitions_count: Sortejos
|
28
|
+
features:
|
29
|
+
sortitions:
|
30
|
+
name: Sortejos
|
31
|
+
settings:
|
32
|
+
global:
|
33
|
+
comments_enabled: Comentaris habilitats
|
34
|
+
sortitions:
|
35
|
+
admin:
|
36
|
+
actions:
|
37
|
+
new: Nou
|
38
|
+
edit: Edita
|
39
|
+
show: Detalls del sorteig
|
40
|
+
destroy: Cancela el sorteig
|
41
|
+
models:
|
42
|
+
sortition:
|
43
|
+
name:
|
44
|
+
one: Sorteig
|
45
|
+
other: Sortejos
|
46
|
+
fields:
|
47
|
+
id: Identificador
|
48
|
+
title: Títol
|
49
|
+
reference: Referència
|
50
|
+
dice: Dau
|
51
|
+
request_timestamp: Hora del sorteig
|
52
|
+
target_items: Elements a seleccionar
|
53
|
+
seed: Llavor
|
54
|
+
category: Categoria
|
55
|
+
decidim_proposals_feature: Funcionalitat de propostes
|
56
|
+
similar_count: Sortejos similars
|
57
|
+
created_at: Data de creació
|
58
|
+
sortitions:
|
59
|
+
index:
|
60
|
+
title: Sortejos
|
61
|
+
linked_sortitions:
|
62
|
+
selected_proposals:
|
63
|
+
one: proposta seleccionada
|
64
|
+
other: propostes seleccionades
|
65
|
+
new:
|
66
|
+
title: Nou sorteig
|
67
|
+
create: Crea
|
68
|
+
confirm: En prémer el botó Decidim gravarà el la data i hora (amb precisió de segons) i juntament amb la tirada de daus, aquesta informació servirà per generar una selecció aleatòria. L'acció serà irreversible, un cop premut el botó el resultat d'aquest sorteig es publicarà, juntament les dades introduïdes en aquest formulari i no es podran modificar, si us plau revisa a consciència el contingut
|
69
|
+
edit:
|
70
|
+
title: Actualitza la informació sobre el
|
71
|
+
update: Actualitzar
|
72
|
+
form:
|
73
|
+
title: Nou sorteig de propostes
|
74
|
+
all_categories: Totes les categories
|
75
|
+
select_proposal_feature: Selecciona el conjunt de propostes
|
76
|
+
create:
|
77
|
+
success: Sorteig creat correctament.
|
78
|
+
error: S'ha produït un error creant el sorteig.
|
79
|
+
update:
|
80
|
+
success: Sorteig actualitzat correctament.
|
81
|
+
error: S'ha produït un error al actualitzar el sorteig.
|
82
|
+
show:
|
83
|
+
selected_proposals: Propostes seleccionades per sorteig
|
84
|
+
confirm_destroy:
|
85
|
+
title: Cancelació del sorteig
|
86
|
+
confirm_destroy: Segur que vols cancelar aquest sorteig?
|
87
|
+
destroy: Cancela el sorteig
|
88
|
+
destroy:
|
89
|
+
success: El sorteig s'ha cancel·lat correctament
|
90
|
+
error: No s'ha pogut cancel·lar el sorteig
|
91
|
+
sortitions:
|
92
|
+
count:
|
93
|
+
proposals_count:
|
94
|
+
one: 1 proposta
|
95
|
+
other: "%{count} propostes"
|
96
|
+
author:
|
97
|
+
deleted: Usuari eliminat
|
98
|
+
verified_user_group: Organització verificada
|
99
|
+
proposal:
|
100
|
+
view_proposal: Veure proposta
|
101
|
+
sortitions_count:
|
102
|
+
count:
|
103
|
+
one: 1 sorteig
|
104
|
+
other: "%{count} sortejos"
|
105
|
+
results_count:
|
106
|
+
count:
|
107
|
+
one: proposta seleccionada
|
108
|
+
other: propostes seleccionades
|
109
|
+
show:
|
110
|
+
witnesses: Testimonis
|
111
|
+
cancelled: Sorteig cancel·lat
|
112
|
+
sortition_reproducibility_details: Detalls de reproducibilitat del sorteig
|
113
|
+
proposals_selected_by_sortition: Propostes sel·leccionades per sorteig
|
114
|
+
introduction: >
|
115
|
+
Aquesta pàgina conté els resultats del sorteig %{reference}. Per mitjà d'aquest sorteig,
|
116
|
+
%{target_items} propostes s'han seleccionat a l'atzar i amb la mateixa distribució de
|
117
|
+
probabilitat del conjunt de propostes que es mostren a continuació. Juntament amb els resultats,
|
118
|
+
La informació que es mostra en aquesta pàgina proporciona tota la informació requerida per maximitzar les
|
119
|
+
garanties i reproduir els resultats. La clau per a la qualitat d'aquesta classificació és la doble
|
120
|
+
aleatorietat proporcionada pel llançament d'un dau (verificat per testimonis) i el temps exacte de
|
121
|
+
la classificació que proporciona l'entrada per a un algorisme que genera una selecció aleatòria.
|
122
|
+
La sembra de temps per a la classificació és tan precisa (segons) que és impossible de controlar pels
|
123
|
+
humans proporcionant així una doble entrada "incontrolable" per garantir un resultat just.
|
124
|
+
dice_result: (1) Resultat del dau
|
125
|
+
time_seed: (2) Llavor temporal
|
126
|
+
mathematical_result: Resultat (1) x (2)
|
127
|
+
algorithm: Codi de l'algoritme del sorteig
|
128
|
+
candidate_proposal_ids: Ordre de propostes del sorteig i identificadors
|
129
|
+
candidate_proposals_info: >
|
130
|
+
El sorteig es va dur a terme entre les següents propostes (%{category_label}), amb els següents
|
131
|
+
identificadors (en negreta les propostes seleccionades)
|
132
|
+
any_category: de totes les categories
|
133
|
+
category: De la categoria %{category}
|
134
|
+
filters:
|
135
|
+
search: Cerca
|
136
|
+
category: Categoria
|
137
|
+
category_prompt: Selecciona una categoria
|
138
|
+
state: Estat
|
139
|
+
all: Tots
|
140
|
+
active: Actius
|
141
|
+
cancelled: Cancelats
|
142
|
+
filters_small_view:
|
143
|
+
close_modal: Tancar finestra
|
144
|
+
filter: Filtra
|
145
|
+
filter_by: Filtrar per
|
146
|
+
unfold: Desplegar
|
147
|
+
orders:
|
148
|
+
label: 'Ordenar sortejos per:'
|
149
|
+
random: Aleatori
|
150
|
+
recent: Recent
|
151
|
+
sortition:
|
152
|
+
selected_proposals:
|
153
|
+
one: 1 proposta seleccionada.
|
154
|
+
other: "%{count} propostes seleccionades"
|
155
|
+
view_sortition: Vore sorteig
|