decidim-sortitions 0.29.1 → 0.30.0.rc1

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/app/commands/decidim/sortitions/admin/create_sortition.rb +2 -6
  3. data/app/controllers/decidim/sortitions/sortitions_controller.rb +2 -2
  4. data/app/forms/decidim/sortitions/admin/destroy_sortition_form.rb +1 -1
  5. data/app/forms/decidim/sortitions/admin/edit_sortition_form.rb +1 -1
  6. data/app/forms/decidim/sortitions/admin/sortition_form.rb +8 -5
  7. data/app/helpers/decidim/sortitions/admin/sortitions_helper.rb +5 -3
  8. data/app/helpers/decidim/sortitions/sortitions_helper.rb +18 -20
  9. data/app/models/decidim/sortitions/sortition.rb +14 -2
  10. data/app/queries/decidim/sortitions/admin/participatory_space_proposals.rb +6 -9
  11. data/app/queries/decidim/sortitions/filtered_sortitions.rb +2 -2
  12. data/app/views/decidim/sortitions/admin/sortitions/_form.html.erb +19 -4
  13. data/app/views/decidim/sortitions/admin/sortitions/index.html.erb +1 -1
  14. data/app/views/decidim/sortitions/admin/sortitions/show.html.erb +2 -2
  15. data/app/views/decidim/sortitions/sortitions/index.html.erb +8 -1
  16. data/app/views/decidim/sortitions/sortitions/show.html.erb +10 -9
  17. data/config/locales/ar.yml +0 -6
  18. data/config/locales/bg.yml +0 -6
  19. data/config/locales/bn-BD.yml +1 -0
  20. data/config/locales/bs-BA.yml +1 -0
  21. data/config/locales/ca.yml +11 -6
  22. data/config/locales/cs.yml +13 -6
  23. data/config/locales/de.yml +0 -6
  24. data/config/locales/el.yml +0 -6
  25. data/config/locales/en.yml +11 -6
  26. data/config/locales/es-MX.yml +11 -6
  27. data/config/locales/es-PY.yml +11 -6
  28. data/config/locales/es.yml +11 -6
  29. data/config/locales/eu.yml +17 -12
  30. data/config/locales/fi-plain.yml +0 -6
  31. data/config/locales/fi.yml +8 -14
  32. data/config/locales/fr-CA.yml +3 -6
  33. data/config/locales/fr.yml +3 -6
  34. data/config/locales/ga-IE.yml +0 -1
  35. data/config/locales/gl.yml +0 -6
  36. data/config/locales/hu.yml +0 -6
  37. data/config/locales/id-ID.yml +0 -6
  38. data/config/locales/is-IS.yml +0 -6
  39. data/config/locales/it.yml +0 -6
  40. data/config/locales/ja.yml +0 -6
  41. data/config/locales/lt.yml +0 -6
  42. data/config/locales/lv.yml +0 -6
  43. data/config/locales/nl.yml +0 -6
  44. data/config/locales/no.yml +0 -6
  45. data/config/locales/pl.yml +0 -6
  46. data/config/locales/pt-BR.yml +0 -6
  47. data/config/locales/pt.yml +0 -6
  48. data/config/locales/ro-RO.yml +10 -6
  49. data/config/locales/ru.yml +0 -6
  50. data/config/locales/sk.yml +0 -6
  51. data/config/locales/sv.yml +2 -8
  52. data/config/locales/tr-TR.yml +0 -6
  53. data/config/locales/uk.yml +0 -6
  54. data/config/locales/zh-CN.yml +0 -6
  55. data/config/locales/zh-TW.yml +0 -6
  56. data/db/migrate/20240828103823_add_deleted_at_to_decidim_sortitions_sortitions.rb +8 -0
  57. data/decidim-sortitions.gemspec +4 -2
  58. data/lib/decidim/api/sortition_type.rb +17 -12
  59. data/lib/decidim/api/sortitions_type.rb +5 -8
  60. data/lib/decidim/sortitions/component.rb +1 -0
  61. data/lib/decidim/sortitions/version.rb +1 -1
  62. metadata +46 -16
  63. data/app/views/decidim/sortitions/sortitions/_tags.html.erb +0 -15
@@ -4,7 +4,6 @@ sk:
4
4
  attributes:
5
5
  sortition:
6
6
  additional_info: Informácie o voľbe losovaním
7
- decidim_category_id: Kategórie sady návrhov, v ktorých chcete použiť remízu
8
7
  decidim_proposals_component_id: Návrhy sú nastavené
9
8
  dice: Výsledok hodu kockou. Hoďte 6-strananou kockou alebo vyhľadajte iný náhodný spôsob, ako vygenerovať číslo od 1 do 6, a zadajte tu výsledné číslo pred niekoľkými svedkami. To prispieva ku kvalite a záruke náhodnosti výsledku.
10
9
  target_items: Počet návrhov, ktoré majú byť vybrané (udáva počet návrhov, ktoré chcete vybrať zo skupiny návrhov, ktoré ste predtým vybrali)
@@ -42,7 +41,6 @@ sk:
42
41
  models:
43
42
  sortition:
44
43
  fields:
45
- category: Kategória
46
44
  created_at: Dátum vzniku
47
45
  decidim_proposals_component: Súčasť návrhov
48
46
  dice: Kocky
@@ -62,7 +60,6 @@ sk:
62
60
  title: Aktualizujte informácie o voľbe losovaním
63
61
  update: Aktualizácia
64
62
  form:
65
- all_categories: Všetky kategórie
66
63
  select_proposal_component: Vyberte sadu návrhov
67
64
  index:
68
65
  title: Voľby losovaním
@@ -105,11 +102,8 @@ sk:
105
102
  other: vybrané návrhy
106
103
  show:
107
104
  algorithm: Kód algoritmu Sortition
108
- any_category: zo všetkých kategórií
109
105
  cancelled: Zrušené výber
110
106
  candidate_proposal_ids: žrebovacie volbaní objednávky a ID
111
- candidate_proposals_info: 'Rozbor bol vykonaný medzi nasledujúcimi návrhmi (%{category_label}), s nasledujúcimi ID (označené tučne vybranými návrhy)'
112
- category: z kategórie %{category}
113
107
  dice_result: (1) Výsledok hodu kockou
114
108
  introduction: 'Táto stránka obsahuje výsledky voľby losovaním %{referencie}. Prostredníctvom tohto výberu bolo vybratých %{target_items} výsledkov náhodne a s rovnakým rozložením pravdepodobnosti zo súboru návrhov zobrazených nižšie. Spolu s výsledkami informácie zobrazenými na tejto stránke poskytujú všetky informácie potrebné pre maximalizáciu záruk a reprodukciu výsledkov. Kľúčom ku kvalite tejto voľby je dvojitá náhodnosť, ktorú poskytuje hod kockou (overený svedkami) a presný čas výberu, ktorý poskytuje vstup pre algoritmus, ktorý generuje náhodný výber. Časový údaj pre voľbu je tak presný (sekundy), že nie je možné ovládať ho ľudsky, a tak poskytuje dvojitý, "nekontrolovateľný" vstup, ktorý zaručí spravodlivý výsledok. '
115
109
  mathematical_result: Výsledok (1) x (2)
@@ -4,7 +4,6 @@ sv:
4
4
  attributes:
5
5
  sortition:
6
6
  additional_info: Information om lottningen
7
- decidim_category_id: Kategorier för de förslag som du vill tillämpa lottningen på
8
7
  decidim_proposals_component_id: Förslagen
9
8
  dice: Tärningskast. Slå en sexsidig tärning inför vittnen, eller använd ett annat sätt att slumpmässigt skapa ett tal från 1 till 6, och skriv in resultatet. Detta bidrar till kvalitén och garanterar resultatets slumpmässighet
10
9
  target_items: Antal förslag som ska väljas (anger hur många förslag som ska väljas genom lottdragning från den utvalda gruppen av förslag)
@@ -44,7 +43,6 @@ sv:
44
43
  models:
45
44
  sortition:
46
45
  fields:
47
- category: Kategori
48
46
  created_at: Skapelsedatum
49
47
  decidim_proposals_component: Förslagskomponent
50
48
  dice: Tärningar
@@ -68,7 +66,6 @@ sv:
68
66
  title: Uppdatera informationen om tilldelningen
69
67
  update: Uppdatera
70
68
  form:
71
- all_categories: Alla kategorier
72
69
  select_proposal_component: Välj förslagen som ska behandlas
73
70
  index:
74
71
  title: Lottningar
@@ -111,16 +108,13 @@ sv:
111
108
  other: Valda förslag
112
109
  show:
113
110
  algorithm: Tilldelningens algoritmkod
114
- any_category: från alla kategorier
115
111
  cancelled: Avbruten tilldelning
116
112
  candidate_proposal_ids: Förslagens ordning och ID i tilldelningen
117
- candidate_proposals_info: 'Tilldelningen gjordes bland följande förslag (%{category_label}), med följande ID (de utvalda förslagen i fetstil) '
118
- category: från kategorin %{category}
119
113
  dice_result: Tärningsresultat
120
114
  introduction: 'Den här sidan innehåller resultaten från tilldelningen %{reference}. Med hjälp av tilldelningen har %{target_items} resultat valts ut slumpmässigt och med lika stor sannolikhet från listan med förslag nedan. Tillsammans med resultaten, innehåller informationen på denna sida allt som krävs för att garantera och återskapa resultaten. Nyckeln till kvalitén på tilldelningen är den dubblerade slumpmässigheten från ett bevittnat tärningskast samt den exakta tiden för tilldelningen, som matas in i en algoritm som genererar det slumpmässiga urvalet. Tidsfröet för tilldelningen är så exakt (sekunder) att den är omöjlig att styras av människor, vilket ger en dubblerad "okontrollerad" indata, i syfte att att garantera ett rättvist resultat. '
121
115
  mathematical_result: Resultat (tärning x dragning)
122
116
  proposals_selected_by_sortition: Förslag valda genom tilldelning
123
- sortition_reproducibility_details: Detaljer för tilldelningens reproducerbarhet
117
+ sortition_reproducibility_details: Detaljer för att reproducera lottningens resultat
124
118
  time_seed: (2) Tidsfrö
125
119
  witnesses: Vittnen
126
120
  sortition:
@@ -137,4 +131,4 @@ sv:
137
131
  one: 1 tilldelning
138
132
  other: "%{count} tilldelningar"
139
133
  statistics:
140
- sortitions_count: Lottdragningar
134
+ sortitions_count: Lottningar
@@ -4,7 +4,6 @@ tr:
4
4
  attributes:
5
5
  sortition:
6
6
  additional_info: Sıralama bilgileri
7
- decidim_category_id: Çekilişi uygulamak istediğiniz teklif kümesinin kategorileri
8
7
  decidim_proposals_component_id: Teklif seti
9
8
  dice: Kalıp rulosunun sonucu. 6 kenarlı bir zarı yuvarlayın veya 1'den 6'ya kadar bir sayı oluşturmak için başka bir rastgele yol arayın ve sonuçta elde edilen sayıyı bazı tanıkların önüne girin. Bu, sonucun rasgeleliğinin kalitesine ve garantilerine katkıda bulunur
10
9
  target_items: Seçilecek teklif sayısı (daha önce seçmiş olduğunuz teklif grubunun çoğunu çizerek, seçmek istediğiniz teklif sayısını gösterir)
@@ -42,7 +41,6 @@ tr:
42
41
  models:
43
42
  sortition:
44
43
  fields:
45
- category: Kategori
46
44
  created_at: Oluşturulma tarihi
47
45
  decidim_proposals_component: Teklifler bileşeni
48
46
  dice: Zar
@@ -62,7 +60,6 @@ tr:
62
60
  title: Sıralama hakkındaki bilgileri güncelleyin
63
61
  update: Güncelle
64
62
  form:
65
- all_categories: Tüm Kategoriler
66
63
  select_proposal_component: Teklif kümesini seçin
67
64
  index:
68
65
  title: Sıralama
@@ -103,11 +100,8 @@ tr:
103
100
  other: seçilen teklifler
104
101
  show:
105
102
  algorithm: Sıralamanın algoritma kodu
106
- any_category: tüm kategorilerden
107
103
  cancelled: İptal edilen sıralama
108
104
  candidate_proposal_ids: Sıralama tekliflerinin sırası ve ID'si
109
- candidate_proposals_info: 'Sıralama, aşağıdaki teklifler arasında (%{category_label}), aşağıdaki kimliklerle gerçekleştirildi (seçilen teklifler kalın olarak) '
110
- category: '%{category} kategoriden'
111
105
  dice_result: (1) Zar sonucu
112
106
  introduction: 'Bu sayfa, %{reference} sıralamasının sonuçlarını içerir. Bu sıralama sayesinde, %{target_items} sonuç sayısı rasgele ve aşağıda gösterilen teklif kümesinden eşit olasılık dağılımıyla seçilmiştir. Sonuçlarla birlikte, bu sayfada görüntülenen bilgiler, garantileri en üst düzeye çıkarmak ve sonuçları yeniden üretmek için gereken tüm bilgileri sağlar. Bu sınıflandırmanın kalitesinin anahtarı, bir zarın yuvarlanmasıyla sağlanan (tanıklar tarafından doğrulanan) çift rastlantısallık ve rasgele bir seçim oluşturan bir algoritma için girdi sağlayan sıralamanın kesin zamanıdır. Ayırma için zaman-tohum o kadar doğrudur (saniye) ki, insanlar tarafından kontrol edilmesi imkansızdır, böylece adil bir sonucu garantilemek için çift "kontrol edilemez" bir girdi sağlar. '
113
107
  mathematical_result: Sonuç (1) x (2)
@@ -4,7 +4,6 @@ uk:
4
4
  attributes:
5
5
  sortition:
6
6
  additional_info: Жеребкування відомостей
7
- decidim_category_id: Категорії підбірки пропозицій, серед яких ви хочете провести жеребкування
8
7
  decidim_proposals_component_id: Набір пропозицій
9
8
  dice: Вислід жеребкування. У присутності свідків киньте шостигранну гральну кістку, або знайдіть якийсь інший спосіб одержати випадкове число від 1 до 6, і введіть тут. Це сприяє якості та гарантує випадковість висліду
10
9
  target_items: Кількість пропозицій, що підлягають відбору (вказує кількість пропозицій, які потрібно обрати, кинувши жереб по тій сукупності пропозицій, яку ви обрали раніше)
@@ -42,7 +41,6 @@ uk:
42
41
  models:
43
42
  sortition:
44
43
  fields:
45
- category: Категорія
46
44
  created_at: Дата створення
47
45
  decidim_proposals_component: Складова пропозицій
48
46
  dice: Гральна кістка
@@ -62,7 +60,6 @@ uk:
62
60
  title: Оновити відомості про жеребкування
63
61
  update: Оновити
64
62
  form:
65
- all_categories: Усі категорії
66
63
  select_proposal_component: Оберіть набір пропозицій
67
64
  index:
68
65
  title: Жеребкування
@@ -105,11 +102,8 @@ uk:
105
102
  other: вибраних пропозицій
106
103
  show:
107
104
  algorithm: Код алгоритму жеребкування
108
- any_category: з усіх категорій
109
105
  cancelled: Скасоване жеребкування
110
106
  candidate_proposal_ids: Порядок та назви жеребкованих пропозицій
111
- candidate_proposals_info: 'Жеребкування було проведено серед пропозицій (%{category_label}), з наступними назвами (напівжирним шрифтом виділені обрані пропозиції) '
112
- category: з категорії %{category}
113
107
  dice_result: (1) Вислід кидання гральної кістки
114
108
  introduction: 'На цій сторінці показані висліди жеребкування %{reference}. За допомогою цього жеребкування було обрано випадковим чином %{target_items} пропозицій з рівним розподілом імовірності з числа пропозицій, перелічених нижче. Разом з вислідами, відомості, які відображені на цій сторінці, містять все, що необхідно для щонайбільших гарантій та для відтворення вислідів. Ключ до якості цього жеребкування - це подвійна випадковість, забезпечена шляхом кидання гральної кістки (засвідченого свідками) і точного часу жеребкування, введеного до алгоритму, який виробляє випадкову добірку. Задіяний як початкове число час жеребкування настільки точний (секунди), що люди нездатні його контролювати. Таким чином завдяки подвійним "неконтрольованим" входовим даним забезпечується справедливий вислід. '
115
109
  mathematical_result: Добуток (1) x (2)
@@ -4,7 +4,6 @@ zh-CN:
4
4
  attributes:
5
5
  sortition:
6
6
  additional_info: 排序信息
7
- decidim_category_id: 您想要应用绘图的一组建议的类别
8
7
  decidim_proposals_component_id: 提案集
9
8
  dice: 死亡登记的结果。 旋转一个6边的死亡或寻找另一个随机的方法生成一个从1到6之间的数字。 然后在这里当着一些证人的面输入由此产生的号码。 这有助于提高结果的质量并保证结果的随机性
10
9
  target_items: 要选择的建议数量 (表示您想要选择的建议的数量,您先前选择的建议群组)
@@ -40,7 +39,6 @@ zh-CN:
40
39
  models:
41
40
  sortition:
42
41
  fields:
43
- category: 类别
44
42
  created_at: 创建日期
45
43
  decidim_proposals_component: 二. 提议的构成部分
46
44
  dice: 爱好
@@ -60,7 +58,6 @@ zh-CN:
60
58
  title: 更新有关分类的信息
61
59
  update: 更新
62
60
  form:
63
- all_categories: 所有类别
64
61
  select_proposal_component: 选择提案集
65
62
  index:
66
63
  title: 联谊会
@@ -97,11 +94,8 @@ zh-CN:
97
94
  other: 选定的建议
98
95
  show:
99
96
  algorithm: 排序算法
100
- any_category: 来自所有类别
101
97
  cancelled: 取消排序方式
102
98
  candidate_proposal_ids: 排序建议订单和 ID
103
- candidate_proposals_info: '排序是在下列建议中进行的 (%{category_label}),具有以下ID(以选定建议的黑体字) '
104
- category: 来自 %{category} 类别
105
99
  dice_result: (1) 致残结果
106
100
  introduction: '此页面包含排序 %{reference}的结果。 通过这种道歉, 已经随机选择了 %{target_items} 个结果,并且显示在下面的一组建议中同样的概率分布。 本页所显示的信息连同结果,提供了最大限度保证和复制结果所需的所有信息。 这种区分的质量的关键是由证人核实的法官滚动所提供的双倍随机性和为产生随机选择的算法提供输入的吸附确切时间。 难度的时间种子非常精确(秒),人类无法控制,因此提供了双个“无法控制的”输入以保证结果的公允。 '
107
101
  mathematical_result: 结果(1) x (2)
@@ -4,7 +4,6 @@ zh-TW:
4
4
  attributes:
5
5
  sortition:
6
6
  additional_info: 隨機抽籤資訊
7
- decidim_category_id: 你想要在哪些提案類別中進行抽籤
8
7
  decidim_proposals_component_id: 提案集合
9
8
  dice: 擲骰子的結果。擲一顆六面骰子,或尋找其他隨機產生1到6之間的數字的方法,然後在一些證人面前輸入結果的數字。這有助於確保結果的品質和隨機性的保證。
10
9
  target_items: 被選出提案的數量(表示您希望在您之前選擇的提案組中通過抽籤選出的提案數量)
@@ -42,7 +41,6 @@ zh-TW:
42
41
  models:
43
42
  sortition:
44
43
  fields:
45
- category: 類別
46
44
  created_at: 創建日期
47
45
  decidim_proposals_component: 提案組成
48
46
  dice: 骰子
@@ -66,7 +64,6 @@ zh-TW:
66
64
  title: 更新抽籤資訊
67
65
  update: 更新
68
66
  form:
69
- all_categories: 所有類別
70
67
  select_proposal_component: 選擇提案集
71
68
  index:
72
69
  title: 抽籤
@@ -105,11 +102,8 @@ zh-TW:
105
102
  other: 選擇的提案
106
103
  show:
107
104
  algorithm: 抽籤排序算法
108
- any_category: 從所有類別中
109
105
  cancelled: 取消的抽籤
110
106
  candidate_proposal_ids: 隨機抽籤提案的順序和 ID
111
- candidate_proposals_info: '該抽籤是在以下提案中進行的 (%{category_label}),以下是這些提案的 ID (選中的提案以粗體標出) '
112
- category: 來自 %{category} 類別
113
107
  dice_result: (1) 骰子結果
114
108
  introduction: '本頁面包含了抽籤 %{reference} 的結果。透過這個抽籤,從下面顯示的提案集合中隨機且以等機率隨機選出了 %{target_items} 個結果。除了顯示的結果外,此頁面的資訊提供了最大化保證並重現結果所需的所有資訊。此抽籤質量的關鍵在於雙重隨機性,一方面是由證人驗證的擲骰子結果,另一方面是精確的抽籤時間提供的算法輸入以產生隨機選擇。抽籤的時間種子如此精確(秒級),以至於人類無法控制,從而提供雙重「不可控制」輸入,以保證公平結果。 '
115
109
  mathematical_result: 結果 (1) x (2)
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddDeletedAtToDecidimSortitionsSortitions < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_sortitions_sortitions, :deleted_at, :datetime
6
+ add_index :decidim_sortitions_sortitions, :deleted_at
7
+ end
8
+ end
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
8
8
  s.version = Decidim::Sortitions.version
9
9
  s.authors = ["Juan Salvador Perez Garcia"]
10
10
  s.email = ["jsperezg@gmail.com"]
11
- s.license = "AGPL-3.0"
11
+ s.license = "AGPL-3.0-or-later"
12
12
  s.homepage = "https://decidim.org"
13
13
  s.metadata = {
14
14
  "bug_tracker_uri" => "https://github.com/decidim/decidim/issues",
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
17
17
  "homepage_uri" => "https://decidim.org",
18
18
  "source_code_uri" => "https://github.com/decidim/decidim"
19
19
  }
20
- s.required_ruby_version = "~> 3.2.0"
20
+ s.required_ruby_version = "~> 3.3.0"
21
21
 
22
22
  s.name = "decidim-sortitions"
23
23
  s.summary = "Decidim sortitions module"
@@ -35,5 +35,7 @@ Gem::Specification.new do |s|
35
35
  s.add_dependency "decidim-core", Decidim::Sortitions.version
36
36
  s.add_dependency "decidim-proposals", Decidim::Sortitions.version
37
37
 
38
+ s.add_development_dependency "decidim-assemblies", Decidim::Sortitions.version
38
39
  s.add_development_dependency "decidim-dev", Decidim::Sortitions.version
40
+ s.add_development_dependency "decidim-participatory_processes", Decidim::Sortitions.version
39
41
  end
@@ -5,25 +5,30 @@ module Decidim
5
5
  class SortitionType < Decidim::Api::Types::BaseObject
6
6
  implements Decidim::Core::AuthorableInterface
7
7
  implements Decidim::Comments::CommentableInterface
8
- implements Decidim::Core::CategorizableInterface
8
+ implements Decidim::Core::TaxonomizableInterface
9
+ implements Decidim::Core::TimestampsInterface
9
10
 
10
11
  description "A sortition"
11
12
 
12
- field :id, GraphQL::Types::ID, "The internal ID for this sortition", null: false
13
- field :dice, GraphQL::Types::Int, "The dice for this sortition", null: true
14
- field :target_items, GraphQL::Types::Int, "The target items for this sortition", null: true
15
- field :request_timestamp, Decidim::Core::DateType, "The request time stamp for this request", null: true
16
- field :selected_proposals, [GraphQL::Types::Int, { null: true }], "The selected proposals for this sortition", null: true
17
- field :created_at, Decidim::Core::DateTimeType, "When this sortition was created", null: true
18
- field :updated_at, Decidim::Core::DateTimeType, "When this sortition was updated", null: true
19
- field :witnesses, Decidim::Core::TranslatedFieldType, "The witnesses for this sortition", null: true
20
13
  field :additional_info, Decidim::Core::TranslatedFieldType, "The additional info for this sortition", null: true
21
- field :reference, GraphQL::Types::String, "The reference for this sortition", null: true
22
- field :title, Decidim::Core::TranslatedFieldType, "The title for this sortition", null: true
23
14
  field :cancel_reason, Decidim::Core::TranslatedFieldType, "The cancel reason for this sortition", null: true
24
- field :cancelled_on, Decidim::Core::DateType, "When this sortition was cancelled", null: true
25
15
  field :cancelled_by_user, Decidim::Core::UserType, "Who cancelled this sortition", null: true
16
+ field :cancelled_on, Decidim::Core::DateType, "When this sortition was cancelled", null: true
26
17
  field :candidate_proposals, [GraphQL::Types::Int, { null: true }], "The candidate proposal for this sortition", null: true
18
+ field :dice, GraphQL::Types::Int, "The dice for this sortition", null: true
19
+ field :id, GraphQL::Types::ID, "The internal ID for this sortition", null: false
20
+ field :reference, GraphQL::Types::String, "The reference for this sortition", null: true
21
+ field :request_timestamp, Decidim::Core::DateType, "The request time stamp for this request", null: true
22
+ field :selected_proposals, [GraphQL::Types::Int, { null: true }], "The selected proposals for this sortition", null: true
23
+ field :target_items, GraphQL::Types::Int, "The target items for this sortition", null: true
24
+ field :title, Decidim::Core::TranslatedFieldType, "The title for this sortition", null: true
25
+ field :witnesses, Decidim::Core::TranslatedFieldType, "The witnesses for this sortition", null: true
26
+
27
+ def self.authorized?(object, context)
28
+ context[:sortition] = object
29
+
30
+ super
31
+ end
27
32
  end
28
33
  end
29
34
  end
@@ -2,22 +2,19 @@
2
2
 
3
3
  module Decidim
4
4
  module Sortitions
5
- class SortitionsType < Decidim::Api::Types::BaseObject
6
- implements Decidim::Core::ComponentInterface
7
-
5
+ class SortitionsType < Decidim::Core::ComponentType
8
6
  graphql_name "Sortitions"
9
7
  description "A sortition component of a participatory space."
10
8
 
11
- field :sortitions, Decidim::Sortitions::SortitionType.connection_type, null: true, connection: true
9
+ field :sortition, Decidim::Sortitions::SortitionType, "A single Sortition object", null: true do
10
+ argument :id, GraphQL::Types::ID, "The id of the Sortition requested", required: true
11
+ end
12
+ field :sortitions, Decidim::Sortitions::SortitionType.connection_type, "A collection of Sortitions", null: true, connection: true
12
13
 
13
14
  def sortitions
14
15
  Sortition.where(component: object).includes(:component)
15
16
  end
16
17
 
17
- field :sortition, Decidim::Sortitions::SortitionType, null: true do
18
- argument :id, GraphQL::Types::ID, required: true
19
- end
20
-
21
18
  def sortition(**args)
22
19
  Sortition.where(component: object).find_by(id: args[:id])
23
20
  end
@@ -17,6 +17,7 @@ Decidim.register_component(:sortitions) do |component|
17
17
  component.actions = %w(comment)
18
18
 
19
19
  component.settings(:global) do |settings|
20
+ settings.attribute :taxonomy_filters, type: :taxonomy_filters
20
21
  settings.attribute :comments_enabled, type: :boolean, default: true
21
22
  settings.attribute :comments_max_length, type: :integer, required: true
22
23
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Sortitions
5
5
  def self.version
6
- "0.29.1"
6
+ "0.30.0.rc1"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-sortitions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.29.1
4
+ version: 0.30.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Salvador Perez Garcia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-10-02 00:00:00.000000000 Z
11
+ date: 2025-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: decidim-admin
@@ -16,70 +16,98 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.29.1
19
+ version: 0.30.0.rc1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.29.1
26
+ version: 0.30.0.rc1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: decidim-comments
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 0.29.1
33
+ version: 0.30.0.rc1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 0.29.1
40
+ version: 0.30.0.rc1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: decidim-core
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 0.29.1
47
+ version: 0.30.0.rc1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 0.29.1
54
+ version: 0.30.0.rc1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: decidim-proposals
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 0.29.1
61
+ version: 0.30.0.rc1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 0.29.1
68
+ version: 0.30.0.rc1
69
+ - !ruby/object:Gem::Dependency
70
+ name: decidim-assemblies
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 0.30.0.rc1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 0.30.0.rc1
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: decidim-dev
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - '='
74
88
  - !ruby/object:Gem::Version
75
- version: 0.29.1
89
+ version: 0.30.0.rc1
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 0.30.0.rc1
97
+ - !ruby/object:Gem::Dependency
98
+ name: decidim-participatory_processes
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '='
102
+ - !ruby/object:Gem::Version
103
+ version: 0.30.0.rc1
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
108
  - - '='
81
109
  - !ruby/object:Gem::Version
82
- version: 0.29.1
110
+ version: 0.30.0.rc1
83
111
  description: This module makes possible to select amount a set of proposal by sortition
84
112
  email:
85
113
  - jsperezg@gmail.com
@@ -132,7 +160,6 @@ files:
132
160
  - app/views/decidim/sortitions/sortitions/_sortition_author.html.erb
133
161
  - app/views/decidim/sortitions/sortitions/_sortition_cancel_author.html.erb
134
162
  - app/views/decidim/sortitions/sortitions/_sortitions.html.erb
135
- - app/views/decidim/sortitions/sortitions/_tags.html.erb
136
163
  - app/views/decidim/sortitions/sortitions/index.html.erb
137
164
  - app/views/decidim/sortitions/sortitions/index.js.erb
138
165
  - app/views/decidim/sortitions/sortitions/show.html.erb
@@ -142,6 +169,8 @@ files:
142
169
  - config/locales/ar.yml
143
170
  - config/locales/bg-BG.yml
144
171
  - config/locales/bg.yml
172
+ - config/locales/bn-BD.yml
173
+ - config/locales/bs-BA.yml
145
174
  - config/locales/ca.yml
146
175
  - config/locales/cs-CZ.yml
147
176
  - config/locales/cs.yml
@@ -233,6 +262,7 @@ files:
233
262
  - db/migrate/20181017110803_make_sortitions_authors_polymorphic.rb
234
263
  - db/migrate/20200320105926_index_foreign_keys_in_decidim_sortitions_sortitions.rb
235
264
  - db/migrate/20200827154036_add_commentable_counter_cache_to_sortitions.rb
265
+ - db/migrate/20240828103823_add_deleted_at_to_decidim_sortitions_sortitions.rb
236
266
  - decidim-sortitions.gemspec
237
267
  - lib/decidim/api/sortition_type.rb
238
268
  - lib/decidim/api/sortitions_type.rb
@@ -248,7 +278,7 @@ files:
248
278
  - lib/tasks/decidim/.keep
249
279
  homepage: https://decidim.org
250
280
  licenses:
251
- - AGPL-3.0
281
+ - AGPL-3.0-or-later
252
282
  metadata:
253
283
  bug_tracker_uri: https://github.com/decidim/decidim/issues
254
284
  documentation_uri: https://docs.decidim.org/
@@ -263,14 +293,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
263
293
  requirements:
264
294
  - - "~>"
265
295
  - !ruby/object:Gem::Version
266
- version: 3.2.0
296
+ version: 3.3.0
267
297
  required_rubygems_version: !ruby/object:Gem::Requirement
268
298
  requirements:
269
299
  - - ">="
270
300
  - !ruby/object:Gem::Version
271
301
  version: '0'
272
302
  requirements: []
273
- rubygems_version: 3.4.10
303
+ rubygems_version: 3.5.11
274
304
  signing_key:
275
305
  specification_version: 4
276
306
  summary: Decidim sortitions module
@@ -1,15 +0,0 @@
1
- <ul>
2
- <li>
3
- <%= link_to t("filters.active", scope: "decidim.sortitions.sortitions"),
4
- sortitions_path(filter: { with_any_state: "active" }) unless sortition.cancelled? %>
5
-
6
- <%= link_to t("filters.cancelled", scope: "decidim.sortitions.sortitions"),
7
- sortitions_path(filter: { with_any_state: "cancelled" }) if sortition.cancelled? %>
8
- </li>
9
-
10
- <% if sortition.category.present? %>
11
- <li>
12
- <%= link_to translated_attribute(sortition.category.name), sortitions_path(filter: { with_category: sortition.category.id }) %>
13
- </li>
14
- <% end %>
15
- </ul>