decidim-assemblies 0.29.3 → 0.30.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/assemblies/assembly_metadata_g_cell.rb +1 -14
  3. data/app/cells/decidim/assemblies/content_blocks/extra_data_cell.rb +2 -12
  4. data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_settings_form/show.erb +1 -1
  5. data/app/commands/decidim/assemblies/admin/copy_assembly.rb +2 -14
  6. data/app/commands/decidim/assemblies/admin/create_assembly.rb +2 -2
  7. data/app/commands/decidim/assemblies/admin/import_assembly.rb +0 -2
  8. data/app/commands/decidim/assemblies/admin/update_assembly.rb +2 -2
  9. data/app/controllers/concerns/decidim/assemblies/admin/filterable.rb +2 -11
  10. data/app/controllers/decidim/assemblies/admin/assemblies_controller.rb +19 -4
  11. data/app/controllers/decidim/assemblies/admin/assembly_copies_controller.rb +1 -1
  12. data/app/controllers/decidim/assemblies/admin/assembly_share_tokens_controller.rb +18 -0
  13. data/app/controllers/decidim/assemblies/admin/component_share_tokens_controller.rb +18 -0
  14. data/app/controllers/decidim/assemblies/assemblies_controller.rb +1 -3
  15. data/app/controllers/decidim/assemblies/{assembly_members_controller.rb → participatory_space_private_users_controller.rb} +3 -11
  16. data/app/forms/decidim/assemblies/admin/assembly_copy_form.rb +0 -1
  17. data/app/forms/decidim/assemblies/admin/assembly_form.rb +5 -40
  18. data/app/forms/decidim/assemblies/admin/assembly_import_form.rb +0 -1
  19. data/app/helpers/decidim/assemblies/admin/assemblies_helper.rb +26 -4
  20. data/app/helpers/decidim/assemblies/assemblies_helper.rb +4 -4
  21. data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +11 -15
  22. data/app/models/decidim/assembly.rb +21 -11
  23. data/app/packs/entrypoints/decidim_assemblies_admin.js +0 -1
  24. data/app/packs/entrypoints/decidim_assemblies_admin_list.js +1 -0
  25. data/app/packs/src/decidim/assemblies/admin/assemblies_list.js +72 -0
  26. data/app/permissions/decidim/assemblies/permissions.rb +9 -28
  27. data/app/presenters/decidim/assemblies/admin_log/assembly_presenter.rb +1 -1
  28. data/app/presenters/decidim/assemblies/assembly_presenter.rb +0 -6
  29. data/app/queries/decidim/assemblies/metrics/assemblies_metric_manage.rb +2 -2
  30. data/app/serializers/decidim/assemblies/assembly_importer.rb +0 -35
  31. data/app/serializers/decidim/assemblies/assembly_serializer.rb +11 -135
  32. data/app/serializers/decidim/assemblies/open_data_assembly_serializer.rb +59 -0
  33. data/app/views/decidim/assemblies/admin/assemblies/_assemblies_thead.html.erb +19 -0
  34. data/app/views/decidim/assemblies/admin/assemblies/_assembly_row.html.erb +101 -0
  35. data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +29 -41
  36. data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +18 -92
  37. data/app/views/decidim/assemblies/admin/assemblies/index.js.erb +10 -0
  38. data/app/views/decidim/assemblies/admin/assemblies/manage_trash.html.erb +20 -0
  39. data/app/views/decidim/assemblies/admin/assembly_copies/_form.html.erb +0 -4
  40. data/app/views/decidim/assemblies/admin/assembly_imports/_form.html.erb +0 -3
  41. data/app/views/decidim/assemblies/assemblies/index.html.erb +3 -1
  42. data/app/views/decidim/assemblies/assemblies/show.html.erb +5 -6
  43. data/app/views/decidim/assemblies/{assembly_members → participatory_space_private_users}/index.html.erb +6 -5
  44. data/config/assets.rb +2 -1
  45. data/config/locales/ar.yml +0 -72
  46. data/config/locales/bg.yml +0 -74
  47. data/config/locales/bs-BA.yml +0 -15
  48. data/config/locales/ca.yml +70 -74
  49. data/config/locales/cs.yml +70 -74
  50. data/config/locales/de.yml +70 -74
  51. data/config/locales/el.yml +0 -72
  52. data/config/locales/en.yml +71 -75
  53. data/config/locales/es-MX.yml +70 -74
  54. data/config/locales/es-PY.yml +70 -74
  55. data/config/locales/es.yml +70 -74
  56. data/config/locales/eu.yml +74 -78
  57. data/config/locales/fi-plain.yml +71 -75
  58. data/config/locales/fi.yml +71 -75
  59. data/config/locales/fr-CA.yml +22 -74
  60. data/config/locales/fr.yml +22 -74
  61. data/config/locales/ga-IE.yml +0 -25
  62. data/config/locales/gl.yml +1 -73
  63. data/config/locales/he-IL.yml +8 -60
  64. data/config/locales/hu.yml +0 -74
  65. data/config/locales/id-ID.yml +0 -63
  66. data/config/locales/is-IS.yml +0 -48
  67. data/config/locales/it.yml +1 -144
  68. data/config/locales/ja.yml +70 -74
  69. data/config/locales/kaa.yml +0 -9
  70. data/config/locales/ko.yml +0 -6
  71. data/config/locales/lb.yml +0 -70
  72. data/config/locales/lt.yml +0 -72
  73. data/config/locales/lv.yml +0 -74
  74. data/config/locales/nl.yml +0 -72
  75. data/config/locales/no.yml +0 -72
  76. data/config/locales/pl.yml +0 -75
  77. data/config/locales/pt-BR.yml +0 -74
  78. data/config/locales/pt.yml +0 -152
  79. data/config/locales/ro-RO.yml +14 -85
  80. data/config/locales/ru.yml +0 -60
  81. data/config/locales/sk.yml +0 -46
  82. data/config/locales/sl.yml +0 -54
  83. data/config/locales/sq-AL.yml +0 -77
  84. data/config/locales/sr-CS.yml +0 -15
  85. data/config/locales/sv.yml +71 -75
  86. data/config/locales/tr-TR.yml +0 -75
  87. data/config/locales/uk.yml +0 -60
  88. data/config/locales/zh-CN.yml +0 -74
  89. data/config/locales/zh-TW.yml +0 -72
  90. data/db/migrate/20190215093700_reset_negative_children_count_counters.rb +2 -2
  91. data/db/migrate/20210310120444_add_followable_counter_cache_to_assemblies.rb +1 -1
  92. data/db/migrate/20240822161222_add_deleted_at_to_decidim_assemblies.rb +8 -0
  93. data/db/migrate/20241016101151_migrate_assembly_members_to_private_users.rb +53 -0
  94. data/db/migrate/20241108141651_remove_column_show_statistics_from_assemblies.rb +7 -0
  95. data/decidim-assemblies.gemspec +1 -1
  96. data/lib/decidim/api/assemblies_type_type.rb +2 -2
  97. data/lib/decidim/api/assembly_type.rb +32 -34
  98. data/lib/decidim/assemblies/admin_engine.rb +77 -54
  99. data/lib/decidim/assemblies/api.rb +0 -1
  100. data/lib/decidim/assemblies/content_blocks/registry_manager.rb +11 -0
  101. data/lib/decidim/assemblies/engine.rb +9 -3
  102. data/lib/decidim/assemblies/menu.rb +9 -22
  103. data/lib/decidim/assemblies/participatory_space.rb +7 -3
  104. data/lib/decidim/assemblies/seeds.rb +9 -33
  105. data/lib/decidim/assemblies/test/factories.rb +15 -36
  106. data/lib/decidim/assemblies/version.rb +1 -1
  107. metadata +28 -49
  108. data/app/cells/decidim/assemblies/assembly_member/data.erb +0 -19
  109. data/app/cells/decidim/assemblies/assembly_member/name_and_position.erb +0 -11
  110. data/app/cells/decidim/assemblies/assembly_member/show.erb +0 -9
  111. data/app/cells/decidim/assemblies/assembly_member_cell.rb +0 -21
  112. data/app/commands/decidim/assemblies/admin/create_assembly_member.rb +0 -55
  113. data/app/commands/decidim/assemblies/admin/destroy_assembly_member.rb +0 -24
  114. data/app/commands/decidim/assemblies/admin/update_assembly_member.rb +0 -29
  115. data/app/controllers/concerns/decidim/assemblies/admin/assembly_members/filterable.rb +0 -39
  116. data/app/controllers/decidim/assemblies/admin/assemblies_types_controller.rb +0 -107
  117. data/app/controllers/decidim/assemblies/admin/assembly_members_controller.rb +0 -83
  118. data/app/controllers/decidim/assemblies/admin/categories_controller.rb +0 -13
  119. data/app/events/decidim/assemblies/create_assembly_member_event.rb +0 -17
  120. data/app/forms/decidim/assemblies/admin/assembly_member_form.rb +0 -64
  121. data/app/helpers/decidim/assemblies/admin/assembly_members_helper.rb +0 -11
  122. data/app/models/decidim/assembly_member.rb +0 -34
  123. data/app/packs/src/decidim/assemblies/admin/assembly_members.js +0 -47
  124. data/app/packs/src/decidim/assemblies/orgchart.js +0 -0
  125. data/app/presenters/decidim/admin/assembly_member_presenter.rb +0 -24
  126. data/app/presenters/decidim/assemblies/admin_log/assembly_member_presenter.rb +0 -51
  127. data/app/presenters/decidim/assemblies/admin_log/value_types/member_position_presenter.rb +0 -22
  128. data/app/presenters/decidim/assembly_member_presenter.rb +0 -68
  129. data/app/views/decidim/assemblies/admin/assemblies_types/_form.html.erb +0 -9
  130. data/app/views/decidim/assemblies/admin/assemblies_types/edit.html.erb +0 -13
  131. data/app/views/decidim/assemblies/admin/assemblies_types/index.html.erb +0 -44
  132. data/app/views/decidim/assemblies/admin/assemblies_types/new.html.erb +0 -18
  133. data/app/views/decidim/assemblies/admin/assembly_members/_form.html.erb +0 -62
  134. data/app/views/decidim/assemblies/admin/assembly_members/edit.html.erb +0 -18
  135. data/app/views/decidim/assemblies/admin/assembly_members/index.html.erb +0 -55
  136. data/app/views/decidim/assemblies/admin/assembly_members/new.html.erb +0 -18
  137. data/app/views/decidim/assembly_members/_assembly_member.html.erb +0 -1
  138. data/app/views/layouts/decidim/admin/assemblies_types.html.erb +0 -17
  139. data/config/locales/ca-IT.yml +0 -460
  140. data/lib/decidim/api/assembly_member_type.rb +0 -27
@@ -2,8 +2,6 @@
2
2
  zh-CN:
3
3
  activemodel:
4
4
  attributes:
5
- assemblies_type:
6
- title: 标题
7
5
  assembly:
8
6
  area_id: 区域
9
7
  assembly_type: 程序集类型
@@ -19,7 +17,6 @@ zh-CN:
19
17
  created_by_other: 由其他人创建
20
18
  creation_date: 创建日期
21
19
  decidim_area_id: 区域
22
- decidim_assemblies_type_id: 程序集类型
23
20
  decidim_scope_id: 范围
24
21
  description: 描述
25
22
  developer_group: 促销者组
@@ -31,7 +28,6 @@ zh-CN:
31
28
  hero_image: 首页图像
32
29
  included_at: 包含于
33
30
  instagram: Instagram
34
- internal_organisation: 内部组织
35
31
  is_transparent: 是否透明度
36
32
  local_area: 组织区域
37
33
  meta_scope: 范围元数据
@@ -43,8 +39,6 @@ zh-CN:
43
39
  promoted: 高亮
44
40
  published_at: 发布于
45
41
  purpose_of_action: 行动的目的
46
- scope_id: 范围
47
- scopes_enabled: 范围已启用
48
42
  short_description: 简短描述
49
43
  slug: URL 名称
50
44
  special_features: 特殊功能
@@ -77,11 +71,9 @@ zh-CN:
77
71
  actions:
78
72
  import_assembly: 导入
79
73
  new_assembly: 新建程序集
80
- new_assembly_type: 新装配体类型
81
74
  assemblies:
82
75
  create:
83
76
  error: 创建新议会时出现问题。
84
- success: 程序集创建成功。
85
77
  edit:
86
78
  update: 更新
87
79
  index:
@@ -98,18 +90,6 @@ zh-CN:
98
90
  create:
99
91
  error: 复制这个组件时出现问题。
100
92
  success: 已成功复制组合。
101
- assemblies_types:
102
- create:
103
- error: 创建新组装类型时出现问题。
104
- success: 程序集类型创建成功。
105
- destroy:
106
- success: 程序集类型已成功删除。
107
- new:
108
- create: 创建
109
- title: 新装配体类型
110
- update:
111
- error: 更新此组装类型时出现问题。
112
- success: 程序类型已成功更新。
113
93
  assembly_copies:
114
94
  new:
115
95
  copy: 复制
@@ -123,21 +103,6 @@ zh-CN:
123
103
  import: 导入
124
104
  select: 选择您想要导入的数据
125
105
  title: 导入程序集
126
- assembly_members:
127
- create:
128
- error: 在为这个会议添加成员时出现问题。
129
- success: 会员已成功创建此程序集。
130
- destroy:
131
- success: 成功删除此组件的会员。
132
- edit:
133
- update: 更新
134
- index:
135
- assembly_members_title: 大会成员
136
- new:
137
- create: 创建
138
- update:
139
- error: 更新这个会议的成员时出现问题。
140
- success: 会员已成功更新此程序集。
141
106
  assembly_publications:
142
107
  create:
143
108
  error: 发布这个组件时出现问题。
@@ -160,26 +125,16 @@ zh-CN:
160
125
  update:
161
126
  error: 更新这个会议的管理员时出现问题。
162
127
  success: 管理员已成功更新此程序集。
163
- filters:
164
- decidim_assemblies_type_id_eq:
165
- label: 程序集类型
166
128
  menu:
167
129
  assemblies: 程序集
168
130
  assemblies_submenu:
169
131
  assembly_admins: 集合管理员
170
- assembly_members: 成员
171
132
  attachment_collections: 文件夹
172
133
  attachment_files: 文件
173
134
  attachments: 附件
174
- categories: 类别管理
175
135
  components: 组件
176
136
  moderations: 版面
177
- assemblies_types: 程序集类型
178
137
  models:
179
- assemblies_types:
180
- fields:
181
- created_at: 创建于
182
- title: 标题
183
138
  assembly:
184
139
  fields:
185
140
  created_at: 创建于
@@ -189,11 +144,6 @@ zh-CN:
189
144
  title: 标题
190
145
  name: 程序集
191
146
  assembly_member:
192
- fields:
193
- ceased_date: 缓存日期
194
- designation_date: 指定日期
195
- full_name: 名称
196
- position: 位置
197
147
  name: 成员
198
148
  positions:
199
149
  other: 其他
@@ -241,26 +191,13 @@ zh-CN:
241
191
  form:
242
192
  duration: 期限
243
193
  duration_help: 如果这个程序集的持续时间有限,请选择结束日期。否则,它将显示为无限期。
244
- filters: 筛选器
245
194
  images: 图像
246
195
  metadata: 元数据
247
196
  other: 其他
248
197
  select_a_created_by: 选择创建者:
249
- select_an_area: 选择区域
250
- select_an_assembly_type: 选择程序集类型
251
198
  select_parent_assembly: 选择父程序集
252
199
  social_handlers: 社交活动
253
200
  title: 一般信息
254
- assemblies_types:
255
- form:
256
- title: 标题
257
- assembly_members:
258
- form:
259
- existing_user: 现有参与者
260
- non_user: Non participant
261
- select_a_position: 选择一个位置
262
- select_user: 选择一名参与者
263
- user_type: 参与者类型
264
201
  content_blocks:
265
202
  highlighted_assemblies:
266
203
  max_results: 显示元素的最大数量
@@ -271,14 +208,6 @@ zh-CN:
271
208
  assembly_members:
272
209
  index:
273
210
  members: 成员
274
- assembly_types:
275
- commission: 加密的
276
- consultative_advisory: 咨询/咨询
277
- executive: 行政机构
278
- government: 政府
279
- others: 其 他
280
- participatory: 参与
281
- working_group: 工作组
282
211
  content_blocks:
283
212
  highlighted_assemblies:
284
213
  name: 突出显示的会议
@@ -303,12 +232,9 @@ zh-CN:
303
232
  member_of:
304
233
  member_of: 成员
305
234
  show:
306
- assembly_type: 程序集类型
307
235
  duration: 期限
308
236
  private_space: 这是一个私人装饰
309
237
  assembly_members:
310
- assembly_member:
311
- designated_on: 指定于
312
238
  index:
313
239
  title: 成员
314
240
  events:
@@ -2,8 +2,6 @@
2
2
  zh-TW:
3
3
  activemodel:
4
4
  attributes:
5
- assemblies_type:
6
- title: 標題
7
5
  assembly:
8
6
  announcement: 公告
9
7
  area_id: 區域
@@ -20,7 +18,6 @@ zh-TW:
20
18
  created_by_other: 由其他人創建
21
19
  creation_date: 創建日期
22
20
  decidim_area_id: 區域
23
- decidim_assemblies_type_id: 大會類型
24
21
  decidim_scope_id: 範圍
25
22
  description: 說明
26
23
  developer_group: 促銷團隊
@@ -36,7 +33,6 @@ zh-TW:
36
33
  import_components: 導入組件
37
34
  included_at: 包含於
38
35
  instagram: Instagram
39
- internal_organisation: 內部組織
40
36
  is_transparent: 透明
41
37
  local_area: 組織區域
42
38
  meta_scope: 元數據範圍
@@ -48,8 +44,6 @@ zh-TW:
48
44
  promoted: 重點顯示
49
45
  published_at: 發佈於
50
46
  purpose_of_action: 行動目的
51
- scope_id: 範圍
52
- scopes_enabled: 啟用範圍
53
47
  short_description: 簡短說明
54
48
  slug: URL名稱
55
49
  special_features: 特殊功能
@@ -92,11 +86,9 @@ zh-TW:
92
86
  actions:
93
87
  import_assembly: 匯入
94
88
  new_assembly: 新大會
95
- new_assembly_type: 新大會類型
96
89
  assemblies:
97
90
  create:
98
91
  error: 建立新大會時發生問題
99
- success: 大會創建成功
100
92
  edit:
101
93
  update: 更新
102
94
  index:
@@ -113,18 +105,6 @@ zh-TW:
113
105
  create:
114
106
  error: 複製此大會時出現問題
115
107
  success: 大會已成功複製
116
- assemblies_types:
117
- create:
118
- error: 創建新大會類型時出現問題
119
- success: 大會類型創建成功
120
- destroy:
121
- success: 集會類型已成功刪除
122
- new:
123
- create: 創建
124
- title: 新大會類型
125
- update:
126
- error: 更新此大會時出現問題
127
- success: 大會類型已成功更新
128
108
  assembly_copies:
129
109
  new:
130
110
  copy: 複製
@@ -138,21 +118,6 @@ zh-TW:
138
118
  import: 匯入
139
119
  select: 請選擇您想匯入的資料
140
120
  title: 匯入大會
141
- assembly_members:
142
- create:
143
- error: 這個大會中添加成員時出現了問題
144
- success: 已成功建立此大會的成員
145
- destroy:
146
- success: 該大會的成員已成功刪除
147
- edit:
148
- update: 更新
149
- index:
150
- assembly_members_title: 大會成員
151
- new:
152
- create: 創建
153
- update:
154
- error: 更新此大會的成員時出現問題。
155
- success: 此大會的成員已成功更新。
156
121
  assembly_publications:
157
122
  create:
158
123
  error: 發布此大會時出現問題。
@@ -175,26 +140,16 @@ zh-TW:
175
140
  update:
176
141
  error: 更新此大會的管理員時出現問題
177
142
  success: 此大會的管理員已成功更新。
178
- filters:
179
- decidim_assemblies_type_id_eq:
180
- label: 大會類型
181
143
  menu:
182
144
  assemblies: 大會
183
145
  assemblies_submenu:
184
146
  assembly_admins: 大會管理員
185
- assembly_members: 成員
186
147
  attachment_collections: 資料夾
187
148
  attachment_files: 檔案
188
149
  attachments: 附件
189
- categories: 類別
190
150
  components: 元件
191
151
  moderations: 版主
192
- assemblies_types: 大會類型
193
152
  models:
194
- assemblies_types:
195
- fields:
196
- created_at: 建立於
197
- title: 標題
198
153
  assembly:
199
154
  fields:
200
155
  created_at: 建立於
@@ -204,11 +159,6 @@ zh-TW:
204
159
  title: 標題
205
160
  name: 大會
206
161
  assembly_member:
207
- fields:
208
- ceased_date: 終止日期
209
- designation_date: 指定日期
210
- full_name: 姓名
211
- position: 位置
212
162
  name: 成員
213
163
  positions:
214
164
  other: 其他
@@ -261,29 +211,18 @@ zh-TW:
261
211
  announcement_help: 您在此處輸入的文字將顯示至使用者的正下方大會信息
262
212
  duration: 持續時間
263
213
  duration_help: 如果此大會的持續時間有限,請選擇結束日期。 否則,它將顯示為不確定。
264
- filters: 篩選條件
265
214
  images: 圖片
266
215
  included_at_help: 選擇此大會添加到平台的日期。 它不一定必須與創建日期相同。
267
216
  metadata: 元資料
268
217
  other: 其他
269
218
  select_a_created_by: 選擇一位創建者
270
- select_an_area: 選擇一個地區
271
- select_an_assembly_type: 選擇一個大會類型
272
219
  select_parent_assembly: 選擇父組件
273
220
  social_handlers: 社群
274
221
  title: 基本資訊
275
- assemblies_types:
276
- form:
277
- title: 標題
278
222
  assembly_members:
279
223
  form:
280
- existing_user: 現有參與者
281
224
  explanation: '圖像的指導'
282
- non_user: 非參與者
283
225
  non_user_avatar_help: 在發佈他們為會員之前,您應該徵得他們的同意
284
- select_a_position: 選擇一個位置
285
- select_user: 選擇與會者:
286
- user_type: 參與者類型
287
226
  content_blocks:
288
227
  highlighted_assemblies:
289
228
  max_results: 顯示的最大元素數量
@@ -299,14 +238,6 @@ zh-TW:
299
238
  assembly_members:
300
239
  index:
301
240
  members: 成員
302
- assembly_types:
303
- commission: 手續費
304
- consultative_advisory: 諮詢/顧問
305
- executive: 管理人員
306
- government: 政府
307
- others: 其他
308
- participatory: 參與式
309
- working_group: 工作群組
310
241
  content_blocks:
311
242
  highlighted_assemblies:
312
243
  name: 關注的大會
@@ -333,13 +264,10 @@ zh-TW:
333
264
  member_of:
334
265
  member_of: 的成員
335
266
  show:
336
- assembly_type: 大會類型
337
267
  duration: 持續時間
338
268
  private_space: 這是一個私人大會
339
269
  social_networks_title: 訪問大會
340
270
  assembly_members:
341
- assembly_member:
342
- designated_on: 指定於
343
271
  index:
344
272
  title: 成員
345
273
  events:
@@ -2,7 +2,7 @@
2
2
 
3
3
  class ResetNegativeChildrenCountCounters < ActiveRecord::Migration[5.2]
4
4
  def change
5
- ids = Decidim::Assembly.where("children_count < 0").pluck(:id)
6
- ids.each { |id| Decidim::Assembly.reset_counters(id, :children_count) }
5
+ ids = Decidim::Assembly.unscoped.where("children_count < 0").pluck(:id)
6
+ ids.each { |id| Decidim::Assembly.unscoped.reset_counters(id, :children_count) }
7
7
  end
8
8
  end
@@ -7,7 +7,7 @@ class AddFollowableCounterCacheToAssemblies < ActiveRecord::Migration[5.2]
7
7
  reversible do |dir|
8
8
  dir.up do
9
9
  Decidim::Assembly.reset_column_information
10
- Decidim::Assembly.find_each do |record|
10
+ Decidim::Assembly.unscoped.find_each do |record|
11
11
  record.class.reset_counters(record.id, :follows)
12
12
  end
13
13
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddDeletedAtToDecidimAssemblies < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_assemblies, :deleted_at, :datetime
6
+ add_index :decidim_assemblies, :deleted_at
7
+ end
8
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ class MigrateAssemblyMembersToPrivateUsers < ActiveRecord::Migration[7.0]
4
+ class AssemblyMember < ApplicationRecord
5
+ self.table_name = :decidim_assembly_members
6
+ end
7
+
8
+ class ParticipatorySpacePrivateUser < ApplicationRecord
9
+ self.table_name = :decidim_participatory_space_private_users
10
+ end
11
+
12
+ def up
13
+ AssemblyMember.find_each do |assembly_member|
14
+ next if assembly_member.ceased_date
15
+ next unless assembly_member.decidim_user_id
16
+
17
+ attrs = {
18
+ privatable_to_id: assembly_member.decidim_assembly_id,
19
+ privatable_to_type: "Decidim::Assembly",
20
+ decidim_user_id: assembly_member.decidim_user_id
21
+ }
22
+
23
+ next if ParticipatorySpacePrivateUser.find_by(attrs)
24
+
25
+ role = case assembly_member.position
26
+ when "president"
27
+ translated_role("decidim.admin.models.assembly_member.positions.president")
28
+ when "vice_president"
29
+ translated_role("decidim.admin.models.assembly_member.positions.vice_president")
30
+ when "secretary"
31
+ translated_role("decidim.admin.models.assembly_member.positions.secretary")
32
+ when "other"
33
+ { I18n.locale.to_s => assembly_member.position_other }
34
+ end
35
+
36
+ Rails.logger.debug { "Migrating assembly member #{assembly_member.id} to private user" }
37
+
38
+ ParticipatorySpacePrivateUser.create!(attrs.merge(role:))
39
+ end
40
+ end
41
+
42
+ def down; end
43
+
44
+ private
45
+
46
+ def translated_role(key)
47
+ I18n.available_locales.each_with_object({}) do |locale, hash|
48
+ I18n.with_locale(locale) do
49
+ hash[locale.to_s] = I18n.t(key)
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RemoveColumnShowStatisticsFromAssemblies < ActiveRecord::Migration[7.0]
4
+ def change
5
+ remove_column :decidim_assemblies, :show_statistics, :string
6
+ end
7
+ end
@@ -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-assemblies"
23
23
  s.summary = "Decidim assemblies module"
@@ -6,11 +6,11 @@ module Decidim
6
6
  class AssembliesTypeType < Decidim::Api::Types::BaseObject
7
7
  description "An assemblies type"
8
8
 
9
+ field :assemblies, [Decidim::Assemblies::AssemblyType, { null: true }], "Assemblies with this assemblies type", null: false
10
+ field :created_at, Decidim::Core::DateTimeType, "The time this assemblies type was created", null: false
9
11
  field :id, GraphQL::Types::ID, "The assemblies type's unique ID", null: false
10
12
  field :title, Decidim::Core::TranslatedFieldType, "The title of this assemblies type.", null: false
11
- field :created_at, Decidim::Core::DateTimeType, "The time this assemblies type was created", null: false
12
13
  field :updated_at, Decidim::Core::DateTimeType, "The time this assemblies type was updated", null: false
13
- field :assemblies, [Decidim::Assemblies::AssemblyType, { null: true }], "Assemblies with this assemblies type", null: false
14
14
  end
15
15
  end
16
16
  end
@@ -7,57 +7,55 @@ module Decidim
7
7
  implements Decidim::Core::ParticipatorySpaceInterface
8
8
  implements Decidim::Core::AttachableInterface
9
9
  implements Decidim::Core::ParticipatorySpaceResourceableInterface
10
+ implements Decidim::Core::TaxonomizableInterface
10
11
  implements Decidim::Core::CategoriesContainerInterface
12
+ implements Decidim::Core::TimestampsInterface
11
13
 
12
14
  description "An assembly"
13
15
 
14
- field :id, ID, "The internal ID for this assembly", null: false
15
- field :subtitle, Decidim::Core::TranslatedFieldType, "The subtitle of this assembly", null: true
16
- field :short_description, Decidim::Core::TranslatedFieldType, "The sort description of this assembly", null: true
17
- field :description, Decidim::Core::TranslatedFieldType, "The description of this assembly", null: true
18
- field :slug, String, "The slug of this assembly", null: false
19
- field :hashtag, String, "The hashtag for this assembly", null: true
20
- field :created_at, Decidim::Core::DateTimeType, "The time this assembly was created", null: false
21
- field :updated_at, Decidim::Core::DateTimeType, "The time this assembly was updated", null: false
22
- field :published_at, Decidim::Core::DateTimeType, "The time this assembly was published", null: false
23
- field :reference, String, "Reference for this assembly", null: false
24
-
25
- field :hero_image, String, "The hero image for this assembly", null: true
26
- field :banner_image, String, "The banner image for this assembly", null: true
27
- field :promoted, Boolean, "If this assembly is promoted (therefore in the homepage)", null: true
28
- field :developer_group, Decidim::Core::TranslatedFieldType, "The promoter group of this assembly", null: true
29
- field :meta_scope, Decidim::Core::TranslatedFieldType, "The scope metadata of this assembly", null: true
30
- field :local_area, Decidim::Core::TranslatedFieldType, "The organization area of this assembly", null: true
31
- field :target, Decidim::Core::TranslatedFieldType, "Who participates in this assembly", null: true
32
- field :participatory_scope, Decidim::Core::TranslatedFieldType, "What is decided on this assembly", null: true
33
- field :participatory_structure, Decidim::Core::TranslatedFieldType, "How it is decided on this assembly", null: true
34
- field :scopes_enabled, Boolean, "If this assembly has scopes enabled", null: true
35
- field :private_space, Boolean, "If this assembly is a private space", null: true
16
+ field :announcement, Decidim::Core::TranslatedFieldType, "Highlighted announcement for this assembly", null: true
36
17
  field :area, Decidim::Core::AreaApiType, "Area of this assembly", null: true
37
- field :parent, Decidim::Assemblies::AssemblyType, "The parent assembly of this assembly", null: true
38
- field :parents_path, String, "Assembly hierarchy representation", null: true
18
+ field :assembly_type, Decidim::Assemblies::AssembliesTypeType, "Type of the assembly", null: true
19
+ field :banner_image, String, "The banner image for this assembly", null: true
39
20
  field :children_count, Integer, "Number of children assemblies", null: true
40
- field :purpose_of_action, Decidim::Core::TranslatedFieldType, "Purpose of action", null: true
21
+ field :closing_date, Decidim::Core::DateType, "Closing date of the assembly", null: true
22
+ field :closing_date_reason, Decidim::Core::TranslatedFieldType, "Closing date reason of this assembly", null: true
41
23
  field :composition, Decidim::Core::TranslatedFieldType, "Composition of this assembly", null: true
42
- field :assembly_type, Decidim::Assemblies::AssembliesTypeType, "Type of the assembly", null: true
43
- field :creation_date, Decidim::Core::DateType, "Creation date of this assembly", null: true
44
24
  field :created_by, String, "The creator of this assembly", null: true
45
25
  field :created_by_other, Decidim::Core::TranslatedFieldType, "Custom creator", null: true
26
+ field :creation_date, Decidim::Core::DateType, "Creation date of this assembly", null: true
27
+ field :description, Decidim::Core::TranslatedFieldType, "The description of this assembly", null: true
28
+ field :developer_group, Decidim::Core::TranslatedFieldType, "The promoter group of this assembly", null: true
46
29
  field :duration, Decidim::Core::DateType, "Duration of this assembly", null: true
30
+ field :facebook_handler, String, "Facebook handler", null: true
31
+ field :github_handler, String, "GitHub handler", null: true
32
+ field :hashtag, String, "The hashtag for this assembly", null: true
33
+ field :hero_image, String, "The hero image for this assembly", null: true
34
+ field :id, ID, "The internal ID for this assembly", null: false
47
35
  field :included_at, Decidim::Core::DateType, "Included at", null: true
48
- field :closing_date, Decidim::Core::DateType, "Closing date of the assembly", null: true
49
- field :closing_date_reason, Decidim::Core::TranslatedFieldType, "Closing date reason of this assembly", null: true
36
+ field :instagram_handler, String, "Instagram handler", null: true
50
37
  field :internal_organisation, Decidim::Core::TranslatedFieldType, "Internal organisation of this assembly", null: true
51
38
  field :is_transparent, Boolean, "If this assembly is transparent", null: true
39
+ field :local_area, Decidim::Core::TranslatedFieldType, "The organization area of this assembly", null: true
40
+ field :meta_scope, Decidim::Core::TranslatedFieldType, "The scope metadata of this assembly", null: true
41
+ field :parent, Decidim::Assemblies::AssemblyType, "The parent assembly of this assembly", null: true
42
+ field :parents_path, String, "Assembly hierarchy representation", null: true
43
+ field :participatory_scope, Decidim::Core::TranslatedFieldType, "What is decided on this assembly", null: true
44
+ field :participatory_structure, Decidim::Core::TranslatedFieldType, "How it is decided on this assembly", null: true
45
+ field :private_space, Boolean, "If this assembly is a private space", null: true
46
+ field :promoted, Boolean, "If this assembly is promoted (therefore in the homepage)", null: true
47
+ field :published_at, Decidim::Core::DateTimeType, "The time this assembly was published", null: false
48
+ field :purpose_of_action, Decidim::Core::TranslatedFieldType, "Purpose of action", null: true
49
+ field :reference, String, "Reference for this assembly", null: false
50
+ field :scopes_enabled, Boolean, "If this assembly has scopes enabled", null: true
51
+ field :short_description, Decidim::Core::TranslatedFieldType, "The sort description of this assembly", null: true
52
+ field :slug, String, "The slug of this assembly", null: false
52
53
  field :special_features, Decidim::Core::TranslatedFieldType, "Special features of this assembly", null: true
54
+ field :subtitle, Decidim::Core::TranslatedFieldType, "The subtitle of this assembly", null: true
55
+ field :target, Decidim::Core::TranslatedFieldType, "Who participates in this assembly", null: true
53
56
  field :twitter_handler, String, "Twitter handler", null: true
54
- field :instagram_handler, String, "Instagram handler", null: true
55
- field :facebook_handler, String, "Facebook handler", null: true
56
57
  field :youtube_handler, String, "YouTube handler", null: true
57
- field :github_handler, String, "GitHub handler", null: true
58
- field :announcement, Decidim::Core::TranslatedFieldType, "Highlighted announcement for this assembly", null: true
59
58
 
60
- field :members, [Decidim::Assemblies::AssemblyMemberType, { null: true }], "Members of this assembly", null: false
61
59
  field :children, [Decidim::Assemblies::AssemblyType, { null: true }], "Children of this assembly", null: false
62
60
 
63
61
  def hero_image