decidim-sortitions 0.9.0 → 0.11.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -8
  3. data/app/assets/config/decidim_sortitions_manifest.css +1 -1
  4. data/app/assets/stylesheets/decidim/sortitions/_sortitions.scss +13 -9
  5. data/app/assets/stylesheets/decidim/sortitions/social_share.css.scss +8 -4
  6. data/app/commands/decidim/sortitions/admin/create_sortition.rb +5 -3
  7. data/app/commands/decidim/sortitions/admin/destroy_sortition.rb +11 -5
  8. data/app/commands/decidim/sortitions/admin/update_sortition.rb +3 -1
  9. data/app/controllers/decidim/sortitions/admin/application_controller.rb +3 -3
  10. data/app/controllers/decidim/sortitions/admin/sortitions_controller.rb +3 -3
  11. data/app/controllers/decidim/sortitions/application_controller.rb +2 -2
  12. data/app/controllers/decidim/sortitions/sortition_widgets_controller.rb +1 -1
  13. data/app/forms/decidim/sortitions/admin/destroy_sortition_form.rb +1 -1
  14. data/app/forms/decidim/sortitions/admin/edit_sortition_form.rb +1 -1
  15. data/app/forms/decidim/sortitions/admin/sortition_form.rb +3 -3
  16. data/app/helpers/decidim/sortitions/admin/sortitions_helper.rb +3 -3
  17. data/app/helpers/decidim/sortitions/sortitions_helper.rb +1 -1
  18. data/app/models/decidim/sortitions/sortition.rb +14 -8
  19. data/app/presenters/decidim/sortitions/admin_log/sortition_presenter.rb +50 -0
  20. data/app/queries/decidim/sortitions/admin/{participatory_space_proposal_features.rb → participatory_space_proposal_components.rb} +4 -4
  21. data/app/queries/decidim/sortitions/admin/participatory_space_proposals.rb +2 -2
  22. data/app/queries/decidim/sortitions/filtered_sortitions.rb +9 -9
  23. data/app/services/decidim/sortitions/sortition_search.rb +1 -1
  24. data/app/views/decidim/sortitions/admin/sortitions/_form.html.erb +3 -3
  25. data/app/views/decidim/sortitions/admin/sortitions/index.html.erb +2 -2
  26. data/app/views/decidim/sortitions/admin/sortitions/new.html.erb +1 -1
  27. data/app/views/decidim/sortitions/admin/sortitions/show.html.erb +4 -4
  28. data/app/views/decidim/sortitions/sortition_widgets/show.html.erb +1 -1
  29. data/app/views/decidim/sortitions/sortitions/_filters.html.erb +6 -6
  30. data/app/views/decidim/sortitions/sortitions/_filters_small_view.html.erb +1 -1
  31. data/app/views/decidim/sortitions/sortitions/_proposal.html.erb +1 -1
  32. data/app/views/decidim/sortitions/sortitions/_results_count.html.erb +1 -1
  33. data/app/views/decidim/sortitions/sortitions/_sortition.html.erb +4 -4
  34. data/app/views/decidim/sortitions/sortitions/_sortition_author.html.erb +1 -1
  35. data/app/views/decidim/sortitions/sortitions/_sortition_cancel_author.html.erb +1 -1
  36. data/app/views/decidim/sortitions/sortitions/_tags.html.erb +1 -1
  37. data/app/views/decidim/sortitions/sortitions/index.html.erb +1 -1
  38. data/app/views/decidim/sortitions/sortitions/show.html.erb +12 -12
  39. data/config/locales/ca.yml +99 -109
  40. data/config/locales/en.yml +90 -94
  41. data/config/locales/es.yml +97 -107
  42. data/config/locales/eu.yml +145 -0
  43. data/config/locales/fi.yml +145 -0
  44. data/config/locales/fr.yml +145 -0
  45. data/config/locales/gl.yml +145 -0
  46. data/config/locales/it.yml +145 -0
  47. data/config/locales/nl.yml +145 -0
  48. data/config/locales/pl.yml +155 -0
  49. data/config/locales/pt-BR.yml +145 -0
  50. data/config/locales/pt.yml +145 -0
  51. data/config/locales/ru.yml +13 -0
  52. data/config/locales/sv.yml +145 -0
  53. data/config/locales/uk.yml +13 -0
  54. data/db/migrate/20180322082150_fix_sortitions_feature.rb +11 -0
  55. data/db/migrate/20180322085145_fix_sortitions_proposal_feature.rb +11 -0
  56. data/lib/decidim/sortitions.rb +1 -1
  57. data/lib/decidim/sortitions/component.rb +38 -0
  58. data/lib/decidim/sortitions/test/factories.rb +7 -7
  59. data/lib/decidim/sortitions/version.rb +3 -1
  60. metadata +46 -33
  61. data/LICENSE-AGPLv3.txt +0 -661
  62. data/app/views/decidim/sortitions/sortitions/_filters_small_view0.html.erb +0 -18
  63. data/lib/decidim/sortitions/feature.rb +0 -43
@@ -0,0 +1,145 @@
1
+ pt:
2
+ activemodel:
3
+ attributes:
4
+ sortition:
5
+ additional_info: Informação de classificação
6
+ decidim_category_id: Categorias do conjunto de propostas em que você deseja aplicar o sorteio
7
+ decidim_proposals_component_id: Conjunto de propostas
8
+ dice: Resultado do teste de dados (role um dado de 6 faces (ou procure outro caminho aleatório para gerar um número de 1 a 6) e entre aqui, ao contrário de testemunhar o número resultante, isso contribui para a qualidade e garantias da aleatoriedade de o resultado
9
+ target_items: Número de propostas a serem selecionadas (indica o número de propostas que você deseja selecionar sorteando o grupo de propostas que você escolheu anteriormente)
10
+ title: Título
11
+ witnesses: Testemunhas
12
+ decidim:
13
+ components:
14
+ sortitions:
15
+ name: Sortitions
16
+ settings:
17
+ global:
18
+ comments_enabled: Comentários ativados
19
+ events:
20
+ sortitions:
21
+ sortition_created:
22
+ email_intro: A classificação "%{resource_title}" foi adicionada a "%{participatory_space_title}" que você está seguindo.
23
+ email_outro: Você recebeu esta notificação porque está seguindo "%{participatory_space_title}". Você pode deixar de segui-lo no link anterior.
24
+ email_subject: Nova classificação adicionada a %{participatory_space_title}
25
+ notification_title: A classificação <a href="%{resource_path}">%{resource_title}</a> foi adicionada a %{participatory_space_title}
26
+ participatory_processes:
27
+ statistics:
28
+ sortitions_count: Sortitions
29
+ sortitions:
30
+ admin:
31
+ actions:
32
+ destroy: Cancelar a classificação
33
+ edit: Editar
34
+ new: Novo
35
+ show: Detalhes da classificação
36
+ models:
37
+ sortition:
38
+ fields:
39
+ category: Categoria
40
+ created_at: Data de criação
41
+ decidim_proposals_component: Componente de propostas
42
+ dice: Dados
43
+ reference: Referência
44
+ request_timestamp: Tempo de sorteio
45
+ seed: Semente
46
+ target_items: Itens para selecionar
47
+ title: Título
48
+ name:
49
+ one: Sorteio
50
+ other: Sortitions
51
+ sortitions:
52
+ confirm_destroy:
53
+ confirm_destroy: Tem certeza de que deseja cancelar essa classificação?
54
+ destroy: Cancelar ordenação
55
+ title: Cancelamento da classificação
56
+ create:
57
+ error: Ocorreu um erro ao criar uma nova classificação.
58
+ success: Ordenação criada com sucesso
59
+ destroy:
60
+ error: Não é possível cancelar a classificação.
61
+ success: Classificação cancelada com sucesso
62
+ edit:
63
+ title: Atualizar as informações sobre a classificação
64
+ update: Atualizar
65
+ form:
66
+ all_categories: Todas as categorias
67
+ select_proposal_component: Selecione o conjunto de propostas
68
+ title: Nova classificação para propostas
69
+ index:
70
+ title: Sortitions
71
+ new:
72
+ confirm: Ao pressionar o botão seguinte, o Decidim registrará a data e a hora (com precisão de segundos) e, junto com o lançamento de dados, essa informação será usada para gerar uma seleção aleatória. A ação será irreversível, uma vez que o botão é clicado o resultado deste sorteio será publicado, juntamente com os dados inseridos neste formulário e não podem ser modificados, por favor, verifique o conteúdo cuidadosamente
73
+ create: Crio
74
+ title: Nova classificação
75
+ show:
76
+ selected_proposals: Propostas selecionadas para sorteio
77
+ update:
78
+ error: Houve um erro ao atualizar a classificação.
79
+ success: Atualização de classificação com sucesso
80
+ admin_log:
81
+ sortition:
82
+ create: "%{user_name} criou a classificação %{resource_name} em %{space_name}"
83
+ delete: "%{user_name} cancelou a classificação %{resource_name} em %{space_name}"
84
+ update: "%{user_name} atualizou a classificação %{resource_name} em %{space_name}"
85
+ sortitions:
86
+ count:
87
+ proposals_count:
88
+ one: 1 proposta
89
+ other: "%{count} propostas"
90
+ filters:
91
+ active: Ativo
92
+ all: Todos
93
+ cancelled: Cancelado
94
+ category: Categoria
95
+ category_prompt: Selecione uma categoria
96
+ search: Pesquisa
97
+ state: Estado
98
+ filters_small_view:
99
+ close_modal: Fechar modal
100
+ filter: Filtro
101
+ filter_by: Filtrar por
102
+ unfold: Desdobrar
103
+ linked_sortitions:
104
+ selected_proposals: Propostas selecionadas
105
+ orders:
106
+ label: 'Ordenar ordenações por:'
107
+ random: Aleatória
108
+ recent: Recente
109
+ proposal:
110
+ view_proposal: Ver proposta
111
+ results_count:
112
+ count:
113
+ one: proposta selecionada
114
+ other: propostas selecionadas
115
+ show:
116
+ algorithm: Código de Algoritmo da Classificação
117
+ any_category: de todas as categorias
118
+ cancelled: Sortição cancelada
119
+ candidate_proposal_ids: Ordem de propostas de classificação e IDs
120
+ candidate_proposals_info: 'A ordenação foi realizada entre as seguintes propostas (%{category_label}), com os seguintes IDs (em negrito as propostas selecionadas) '
121
+ category: da categoria %{category}
122
+ dice_result: "(1) resultado dado"
123
+ introduction: 'Esta página contém os resultados da ordenação %{reference}. Por meio dessa classificação, %{target_items} número de resultados foram selecionados aleatoriamente e com uma distribuição de probabilidade igual ao conjunto de propostas exibidas abaixo. Juntamente com os resultados, as informações exibidas nesta página fornecem todas as informações necessárias para maximizar as garantias e reproduzir os resultados. A chave para a qualidade dessa classificação é a dupla aleatoriedade fornecida pela rolagem de dados (verificada por testemunhas) e o tempo preciso da classificação que fornece dados para um algoritmo que gera uma seleção aleatória. A semente do tempo para a classificação é tão precisa (segundos) que é impossível controlar pelos humanos, fornecendo assim uma entrada dupla "incontrolável" para garantir um resultado justo. '
124
+ mathematical_result: Resultado (1) x (2)
125
+ proposals_selected_by_sortition: Propostas selecionadas por classificação
126
+ sortition_reproducibility_details: Detalhes de reprodutibilidade de ordenação
127
+ time_seed: "(2) semente do tempo"
128
+ witnesses: Testemunhas
129
+ sortition:
130
+ selected_proposals:
131
+ one: 1 proposta selecionada
132
+ other: "%{count} propostas selecionadas"
133
+ view_sortition: Ver ordenação
134
+ sortition_author:
135
+ deleted: Usuário deletado
136
+ sortition_cancel_author:
137
+ deleted: Usuário deletado
138
+ sortitions_count:
139
+ count:
140
+ one: 1 ordenação
141
+ other: "%{count} ordenações"
142
+ pages:
143
+ home:
144
+ statistics:
145
+ sortitions_count: Sortitions
@@ -0,0 +1,13 @@
1
+ ru:
2
+ activemodel:
3
+ attributes:
4
+ sortition:
5
+ additional_info: Жеребьевкой информация
6
+ title: Название
7
+ decidim:
8
+ sortitions:
9
+ admin:
10
+ models:
11
+ sortition:
12
+ fields:
13
+ title: Название
@@ -0,0 +1,145 @@
1
+ sv:
2
+ activemodel:
3
+ attributes:
4
+ sortition:
5
+ additional_info: Sorteringsinformation
6
+ decidim_category_id: Kategorier av den uppsättning förslag som du vill tillämpa tecknet på
7
+ decidim_proposals_component_id: Föreslagna förslag
8
+ dice: Resultat av dödsrullning (rulla en 6-sidig dö (eller leta efter ett annat slumpmässigt sätt att generera ett tal från 1 till 6) och skriv in här, i motsats till det resulterande numret, bidrar detta till kvaliteten och garantierna för slumpmässigheten av resultatet
9
+ target_items: Antal förslag som ska väljas (anger antalet förslag som du vill välja genom att dra mycket av gruppen av förslag du tidigare valt)
10
+ title: Titel
11
+ witnesses: Vittnen
12
+ decidim:
13
+ components:
14
+ sortitions:
15
+ name: Sortitions
16
+ settings:
17
+ global:
18
+ comments_enabled: Kommentarer aktiverade
19
+ events:
20
+ sortitions:
21
+ sortition_created:
22
+ email_intro: Sortering "%{resource_title}" har lagts till i "%{participatory_space_title}" som du följer.
23
+ email_outro: Du har fått den här meddelandet eftersom du följer "%{participatory_space_title}". Du kan följa det från föregående länk.
24
+ email_subject: Ny sortering läggs till %{participatory_space_title}
25
+ notification_title: Sortering <a href="%{resource_path}">%{resource_title}</a> har lagts till %{participatory_space_title}
26
+ participatory_processes:
27
+ statistics:
28
+ sortitions_count: Sortitions
29
+ sortitions:
30
+ admin:
31
+ actions:
32
+ destroy: Avbryt sorteringen
33
+ edit: Redigera
34
+ new: Ny
35
+ show: Sorteringsuppgifter
36
+ models:
37
+ sortition:
38
+ fields:
39
+ category: Kategori
40
+ created_at: Skapelsedagen
41
+ decidim_proposals_component: Förslagskomponent
42
+ dice: Tärningar
43
+ reference: Referens
44
+ request_timestamp: Rita tid
45
+ seed: Utsäde
46
+ target_items: Objekt att välja
47
+ title: Titel
48
+ name:
49
+ one: Sortition
50
+ other: Sortitions
51
+ sortitions:
52
+ confirm_destroy:
53
+ confirm_destroy: Är du säker på att du vill avbryta denna sortition?
54
+ destroy: Avbryt sortering
55
+ title: Annullering av sortitionen
56
+ create:
57
+ error: Det uppstod ett fel vid skapandet av en ny sortering.
58
+ success: Sortering framgångsrikt skapad
59
+ destroy:
60
+ error: Kan inte avbryta sorteringen.
61
+ success: Sortering framgångsrikt avbruten
62
+ edit:
63
+ title: Uppdatera informationen om sorteringen
64
+ update: Uppdatering
65
+ form:
66
+ all_categories: Alla kategorier
67
+ select_proposal_component: Välj de föreslagna förslagen
68
+ title: Ny sortering för förslag
69
+ index:
70
+ title: Sortitions
71
+ new:
72
+ confirm: Genom att trycka på nästa knapp registrerar Decidim datum och tid (med precision i sekunder) och tillsammans med tärningsrullen används denna information för att generera ett slumpmässigt urval. Åtgärden kommer att vara oåterkallelig, när knappen är klickad kommer resultatet av denna rita att publiceras, tillsammans med de uppgifter som anges i denna blankett och kan inte ändras, var god kontrollera innehållet noggrant
73
+ create: Skapa
74
+ title: Ny sortering
75
+ show:
76
+ selected_proposals: Förslag utvalda för teckning
77
+ update:
78
+ error: Det uppstod ett fel vid uppdateringen av sorteringen.
79
+ success: Sortering uppdateras
80
+ admin_log:
81
+ sortition:
82
+ create: "%{user_name} skapade %{resource_name} sorteringen i %{space_name}"
83
+ delete: "%{user_name} avbröt %{resource_name} sorteringen i %{space_name}"
84
+ update: "%{user_name} uppdaterade %{resource_name} sorteringen i %{space_name}"
85
+ sortitions:
86
+ count:
87
+ proposals_count:
88
+ one: 1 förslag
89
+ other: "%{count} förslag"
90
+ filters:
91
+ active: Aktiva
92
+ all: Allt
93
+ cancelled: Avbokad
94
+ category: Kategori
95
+ category_prompt: Välj en kategori
96
+ search: Sök
97
+ state: stat
98
+ filters_small_view:
99
+ close_modal: Stäng modal
100
+ filter: Filtrera
101
+ filter_by: Filtrera efter
102
+ unfold: Veckla ut
103
+ linked_sortitions:
104
+ selected_proposals: Utvalda förslag
105
+ orders:
106
+ label: 'Beställ sorteringar genom:'
107
+ random: Slumpmässig
108
+ recent: Nyligen
109
+ proposal:
110
+ view_proposal: Visa förslag
111
+ results_count:
112
+ count:
113
+ one: valda förslaget
114
+ other: utvalda förslag
115
+ show:
116
+ algorithm: Sortitionens algoritmkod
117
+ any_category: från alla kategorier
118
+ cancelled: Annullerad sortering
119
+ candidate_proposal_ids: Sorteringsförslag beställer och ID
120
+ candidate_proposals_info: 'Sorteringen gjordes bland följande förslag (%{category_label}), med följande ID (i fetstil de valda förslagen) '
121
+ category: från kategorin %{category}
122
+ dice_result: "(1) Tärningsresultat"
123
+ introduction: 'Den här sidan innehåller resultaten från sorteringen %{reference}. Med hjälp av denna sortering har %{target_items} antal resultat valts slumpmässigt och med en lika stor sannolikhetsfördelning från uppsättningen förslag som visas nedan. Tillsammans med resultaten, innehåller informationen som visas på denna sida all information som krävs för att maximera garantier och reproducera resultaten. Nyckeln till kvaliteten på denna sortition är den dubbla slumpen som tillhandahålls av en tärning av en tärning (verifierad av vittnen) och den exakta tiden för sorteringen som ger inmatning för en algoritm som genererar ett slumpmässigt urval. Tidsåtgången för sorteringen är så exakt (sekunder) att det är omöjligt att kontrollera av människor, vilket ger en dubbel "okontrollerad" ingång för att garantera ett rättvist resultat. '
124
+ mathematical_result: Resultat (1) x (2)
125
+ proposals_selected_by_sortition: Förslag valda genom sortering
126
+ sortition_reproducibility_details: Sorteringsreproducerbarhetsinformation
127
+ time_seed: "(2) Tidsåtgång"
128
+ witnesses: Vittnen
129
+ sortition:
130
+ selected_proposals:
131
+ one: 1 förslag valt
132
+ other: "%{count} utvalda förslag"
133
+ view_sortition: Visa sortering
134
+ sortition_author:
135
+ deleted: Ta bort användare
136
+ sortition_cancel_author:
137
+ deleted: Ta bort användare
138
+ sortitions_count:
139
+ count:
140
+ one: 1 sortering
141
+ other: "%{count} sorteringar"
142
+ pages:
143
+ home:
144
+ statistics:
145
+ sortitions_count: Sortitions
@@ -0,0 +1,13 @@
1
+ uk:
2
+ activemodel:
3
+ attributes:
4
+ sortition:
5
+ additional_info: Жеребкування інформації
6
+ title: Заголовок
7
+ decidim:
8
+ sortitions:
9
+ admin:
10
+ models:
11
+ sortition:
12
+ fields:
13
+ title: Заголовок
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ class FixSortitionsFeature < ActiveRecord::Migration[5.1]
4
+ def up
5
+ rename_column :decidim_sortitions_sortitions, :decidim_feature_id, :decidim_component_id
6
+ end
7
+
8
+ def down
9
+ rename_column :decidim_sortitions_sortitions, :decidim_component_id, :decidim_feature_id
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ class FixSortitionsProposalFeature < ActiveRecord::Migration[5.1]
4
+ def up
5
+ rename_column :decidim_sortitions_sortitions, :decidim_proposals_feature_id, :decidim_proposals_component_id
6
+ end
7
+
8
+ def down
9
+ rename_column :decidim_sortitions_sortitions, :decidim_proposals_component_id, :decidim_proposals_feature_id
10
+ end
11
+ end
@@ -3,7 +3,7 @@
3
3
  require "decidim/sortitions/admin"
4
4
  require "decidim/sortitions/engine"
5
5
  require "decidim/sortitions/admin_engine"
6
- require "decidim/sortitions/feature"
6
+ require "decidim/sortitions/component"
7
7
 
8
8
  module Decidim
9
9
  # Base module for this engine.
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ Decidim.register_component(:sortitions) do |component|
4
+ component.engine = Decidim::Sortitions::Engine
5
+ component.admin_engine = Decidim::Sortitions::AdminEngine
6
+ component.icon = "decidim/sortitions/icon.svg"
7
+ # component.stylesheet = "decidim/sortitions/sortitions"
8
+
9
+ component.on(:before_destroy) do |instance|
10
+ raise StandardError, "Can't remove this component" if Decidim::Sortitions::Sortition.where(component: instance).any?
11
+ end
12
+
13
+ # These actions permissions can be configured in the admin panel
14
+ component.actions = %w()
15
+
16
+ component.settings(:global) do |settings|
17
+ settings.attribute :comments_enabled, type: :boolean, default: true
18
+ end
19
+
20
+ # Register an optional resource that can be referenced from other resources.
21
+ component.register_resource do |resource|
22
+ resource.model_class_name = "Decidim::Sortitions::Sortition"
23
+ resource.template = "decidim/sortitions/sortitions/linked_sortitions"
24
+ end
25
+
26
+ component.register_stat :sortitions_count, primary: true, priority: Decidim::StatsRegistry::HIGH_PRIORITY do |components, start_at, end_at|
27
+ Decidim::Sortitions::FilteredSortitions.for(components, start_at, end_at).count
28
+ end
29
+
30
+ component.seeds do |participatory_space|
31
+ component = Decidim::Component.create!(
32
+ name: Decidim::Components::Namer.new(participatory_space.organization.available_locales, :sortitions).i18n_name,
33
+ manifest_name: :sortitions,
34
+ published_at: Time.current,
35
+ participatory_space: participatory_space
36
+ )
37
+ end
38
+ end
@@ -5,19 +5,19 @@ require "decidim/core/test/factories"
5
5
  require "decidim/participatory_processes/test/factories"
6
6
 
7
7
  FactoryBot.define do
8
- factory :sortition_feature, parent: :feature do
9
- name { Decidim::Features::Namer.new(participatory_space.organization.available_locales, :sortitions).i18n_name }
8
+ factory :sortition_component, parent: :component do
9
+ name { Decidim::Components::Namer.new(participatory_space.organization.available_locales, :sortitions).i18n_name }
10
10
  manifest_name :sortitions
11
11
  participatory_space { create(:participatory_process, :with_steps, organization: organization) }
12
12
  end
13
13
 
14
14
  factory :sortition, class: "Decidim::Sortitions::Sortition" do
15
- feature { create(:sortition_feature) }
16
- decidim_proposals_feature { create(:proposal_feature, organization: feature.organization) }
15
+ component { create(:sortition_component) }
16
+ decidim_proposals_component { create(:proposal_component, organization: component.organization) }
17
17
 
18
18
  title { Decidim::Faker::Localized.sentence(3) }
19
19
  author do
20
- create(:user, :admin, organization: feature.organization) if feature
20
+ create(:user, :admin, organization: component.organization) if component
21
21
  end
22
22
 
23
23
  dice { Faker::Number.between(1, 6).to_i }
@@ -25,13 +25,13 @@ FactoryBot.define do
25
25
  request_timestamp { Time.now.utc }
26
26
  witnesses { Decidim::Faker::Localized.wrapped("<p>", "</p>") { Decidim::Faker::Localized.sentence(4) } }
27
27
  additional_info { Decidim::Faker::Localized.wrapped("<p>", "</p>") { Decidim::Faker::Localized.sentence(4) } }
28
- selected_proposals { create_list(:proposal, target_items, feature: decidim_proposals_feature).pluck(:id) }
28
+ selected_proposals { create_list(:proposal, target_items, component: decidim_proposals_component).pluck(:id) }
29
29
  candidate_proposals { selected_proposals }
30
30
 
31
31
  trait :cancelled do
32
32
  cancelled_on { Time.now.utc }
33
33
  cancel_reason { Decidim::Faker::Localized.wrapped("<p>", "</p>") { Decidim::Faker::Localized.sentence(4) } }
34
- cancelled_by_user { create(:user, :admin, organization: feature.organization) if feature }
34
+ cancelled_by_user { create(:user, :admin, organization: component.organization) if component }
35
35
  end
36
36
  end
37
37
  end
@@ -2,6 +2,8 @@
2
2
 
3
3
  module Decidim
4
4
  module Sortitions
5
- VERSION = "0.9.0"
5
+ def self.version
6
+ "0.11.0.pre1"
7
+ end
6
8
  end
7
9
  end