decidim-assemblies 0.29.5 → 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 -47
  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 +2 -4
  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 -2
  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 -26
  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 +3 -40
  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 -7
  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 +5 -71
  46. data/config/locales/bg.yml +5 -73
  47. data/config/locales/bs-BA.yml +0 -15
  48. data/config/locales/ca.yml +70 -74
  49. data/config/locales/cs.yml +71 -75
  50. data/config/locales/de.yml +72 -76
  51. data/config/locales/el.yml +5 -71
  52. data/config/locales/en.yml +71 -75
  53. data/config/locales/es-MX.yml +73 -77
  54. data/config/locales/es-PY.yml +73 -77
  55. data/config/locales/es.yml +71 -75
  56. data/config/locales/eu.yml +77 -81
  57. data/config/locales/fi-plain.yml +73 -77
  58. data/config/locales/fi.yml +73 -77
  59. data/config/locales/fr-CA.yml +23 -75
  60. data/config/locales/fr.yml +23 -75
  61. data/config/locales/ga-IE.yml +0 -25
  62. data/config/locales/gl.yml +6 -72
  63. data/config/locales/he-IL.yml +12 -59
  64. data/config/locales/hu.yml +5 -73
  65. data/config/locales/id-ID.yml +6 -63
  66. data/config/locales/is-IS.yml +2 -48
  67. data/config/locales/it.yml +6 -150
  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 +5 -69
  72. data/config/locales/lt.yml +5 -71
  73. data/config/locales/lv.yml +5 -73
  74. data/config/locales/nl.yml +5 -71
  75. data/config/locales/no.yml +5 -71
  76. data/config/locales/pl.yml +5 -74
  77. data/config/locales/pt-BR.yml +5 -73
  78. data/config/locales/pt.yml +5 -151
  79. data/config/locales/ro-RO.yml +19 -84
  80. data/config/locales/ru.yml +6 -60
  81. data/config/locales/sk.yml +0 -46
  82. data/config/locales/sl.yml +5 -53
  83. data/config/locales/sq-AL.yml +5 -76
  84. data/config/locales/sr-CS.yml +0 -15
  85. data/config/locales/sv.yml +78 -82
  86. data/config/locales/tr-TR.yml +5 -74
  87. data/config/locales/uk.yml +6 -60
  88. data/config/locales/zh-CN.yml +5 -73
  89. data/config/locales/zh-TW.yml +5 -71
  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:
@@ -94,21 +86,15 @@ zh-CN:
94
86
  update:
95
87
  error: 更新这个组件时出现问题。
96
88
  success: 程序更新成功。
97
- assemblies_types:
89
+ assemblies_copies:
98
90
  create:
99
- error: 创建新组装类型时出现问题。
100
- success: 程序集类型创建成功。
101
- destroy:
102
- success: 程序集类型已成功删除。
103
- new:
104
- create: 创建
105
- title: 新装配体类型
106
- update:
107
- error: 更新此组装类型时出现问题。
108
- success: 程序类型已成功更新。
91
+ error: 复制这个组件时出现问题。
92
+ success: 已成功复制组合。
109
93
  assembly_copies:
110
94
  new:
111
95
  copy: 复制
96
+ select: 选择要重复的数据
97
+ title: 复制程序集
112
98
  assembly_imports:
113
99
  create:
114
100
  error: 导入此组件时出现问题。
@@ -117,21 +103,6 @@ zh-CN:
117
103
  import: 导入
118
104
  select: 选择您想要导入的数据
119
105
  title: 导入程序集
120
- assembly_members:
121
- create:
122
- error: 在为这个会议添加成员时出现问题。
123
- success: 会员已成功创建此程序集。
124
- destroy:
125
- success: 成功删除此组件的会员。
126
- edit:
127
- update: 更新
128
- index:
129
- assembly_members_title: 大会成员
130
- new:
131
- create: 创建
132
- update:
133
- error: 更新这个会议的成员时出现问题。
134
- success: 会员已成功更新此程序集。
135
106
  assembly_publications:
136
107
  create:
137
108
  error: 发布这个组件时出现问题。
@@ -154,26 +125,16 @@ zh-CN:
154
125
  update:
155
126
  error: 更新这个会议的管理员时出现问题。
156
127
  success: 管理员已成功更新此程序集。
157
- filters:
158
- decidim_assemblies_type_id_eq:
159
- label: 程序集类型
160
128
  menu:
161
129
  assemblies: 程序集
162
130
  assemblies_submenu:
163
131
  assembly_admins: 集合管理员
164
- assembly_members: 成员
165
132
  attachment_collections: 文件夹
166
133
  attachment_files: 文件
167
134
  attachments: 附件
168
- categories: 类别管理
169
135
  components: 组件
170
136
  moderations: 版面
171
- assemblies_types: 程序集类型
172
137
  models:
173
- assemblies_types:
174
- fields:
175
- created_at: 创建于
176
- title: 标题
177
138
  assembly:
178
139
  fields:
179
140
  created_at: 创建于
@@ -183,11 +144,6 @@ zh-CN:
183
144
  title: 标题
184
145
  name: 程序集
185
146
  assembly_member:
186
- fields:
187
- ceased_date: 缓存日期
188
- designation_date: 指定日期
189
- full_name: 名称
190
- position: 位置
191
147
  name: 成员
192
148
  positions:
193
149
  other: 其他
@@ -235,26 +191,13 @@ zh-CN:
235
191
  form:
236
192
  duration: 期限
237
193
  duration_help: 如果这个程序集的持续时间有限,请选择结束日期。否则,它将显示为无限期。
238
- filters: 筛选器
239
194
  images: 图像
240
195
  metadata: 元数据
241
196
  other: 其他
242
197
  select_a_created_by: 选择创建者:
243
- select_an_area: 选择区域
244
- select_an_assembly_type: 选择程序集类型
245
198
  select_parent_assembly: 选择父程序集
246
199
  social_handlers: 社交活动
247
200
  title: 一般信息
248
- assemblies_types:
249
- form:
250
- title: 标题
251
- assembly_members:
252
- form:
253
- existing_user: 现有参与者
254
- non_user: Non participant
255
- select_a_position: 选择一个位置
256
- select_user: 选择一名参与者
257
- user_type: 参与者类型
258
201
  content_blocks:
259
202
  highlighted_assemblies:
260
203
  max_results: 显示元素的最大数量
@@ -265,14 +208,6 @@ zh-CN:
265
208
  assembly_members:
266
209
  index:
267
210
  members: 成员
268
- assembly_types:
269
- commission: 加密的
270
- consultative_advisory: 咨询/咨询
271
- executive: 行政机构
272
- government: 政府
273
- others: 其 他
274
- participatory: 参与
275
- working_group: 工作组
276
211
  content_blocks:
277
212
  highlighted_assemblies:
278
213
  name: 突出显示的会议
@@ -297,12 +232,9 @@ zh-CN:
297
232
  member_of:
298
233
  member_of: 成员
299
234
  show:
300
- assembly_type: 程序集类型
301
235
  duration: 期限
302
236
  private_space: 这是一个私人装饰
303
237
  assembly_members:
304
- assembly_member:
305
- designated_on: 指定于
306
238
  index:
307
239
  title: 成员
308
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:
@@ -109,21 +101,15 @@ zh-TW:
109
101
  update:
110
102
  error: 更新此大會時出現問題
111
103
  success: 此大會成功更新
112
- assemblies_types:
104
+ assemblies_copies:
113
105
  create:
114
- error: 創建新大會類型時出現問題
115
- success: 大會類型創建成功
116
- destroy:
117
- success: 集會類型已成功刪除
118
- new:
119
- create: 創建
120
- title: 新大會類型
121
- update:
122
- error: 更新此大會時出現問題
123
- success: 大會類型已成功更新
106
+ error: 複製此大會時出現問題
107
+ success: 大會已成功複製
124
108
  assembly_copies:
125
109
  new:
126
110
  copy: 複製
111
+ select: 請選擇您想要複製的資料
112
+ title: 複製大會
127
113
  assembly_imports:
128
114
  create:
129
115
  error: 這個大會匯入時發生了問題
@@ -132,21 +118,6 @@ zh-TW:
132
118
  import: 匯入
133
119
  select: 請選擇您想匯入的資料
134
120
  title: 匯入大會
135
- assembly_members:
136
- create:
137
- error: 這個大會中添加成員時出現了問題
138
- success: 已成功建立此大會的成員
139
- destroy:
140
- success: 該大會的成員已成功刪除
141
- edit:
142
- update: 更新
143
- index:
144
- assembly_members_title: 大會成員
145
- new:
146
- create: 創建
147
- update:
148
- error: 更新此大會的成員時出現問題。
149
- success: 此大會的成員已成功更新。
150
121
  assembly_publications:
151
122
  create:
152
123
  error: 發布此大會時出現問題。
@@ -169,26 +140,16 @@ zh-TW:
169
140
  update:
170
141
  error: 更新此大會的管理員時出現問題
171
142
  success: 此大會的管理員已成功更新。
172
- filters:
173
- decidim_assemblies_type_id_eq:
174
- label: 大會類型
175
143
  menu:
176
144
  assemblies: 大會
177
145
  assemblies_submenu:
178
146
  assembly_admins: 大會管理員
179
- assembly_members: 成員
180
147
  attachment_collections: 資料夾
181
148
  attachment_files: 檔案
182
149
  attachments: 附件
183
- categories: 類別
184
150
  components: 元件
185
151
  moderations: 版主
186
- assemblies_types: 大會類型
187
152
  models:
188
- assemblies_types:
189
- fields:
190
- created_at: 建立於
191
- title: 標題
192
153
  assembly:
193
154
  fields:
194
155
  created_at: 建立於
@@ -198,11 +159,6 @@ zh-TW:
198
159
  title: 標題
199
160
  name: 大會
200
161
  assembly_member:
201
- fields:
202
- ceased_date: 終止日期
203
- designation_date: 指定日期
204
- full_name: 姓名
205
- position: 位置
206
162
  name: 成員
207
163
  positions:
208
164
  other: 其他
@@ -255,29 +211,18 @@ zh-TW:
255
211
  announcement_help: 您在此處輸入的文字將顯示至使用者的正下方大會信息
256
212
  duration: 持續時間
257
213
  duration_help: 如果此大會的持續時間有限,請選擇結束日期。 否則,它將顯示為不確定。
258
- filters: 篩選條件
259
214
  images: 圖片
260
215
  included_at_help: 選擇此大會添加到平台的日期。 它不一定必須與創建日期相同。
261
216
  metadata: 元資料
262
217
  other: 其他
263
218
  select_a_created_by: 選擇一位創建者
264
- select_an_area: 選擇一個地區
265
- select_an_assembly_type: 選擇一個大會類型
266
219
  select_parent_assembly: 選擇父組件
267
220
  social_handlers: 社群
268
221
  title: 基本資訊
269
- assemblies_types:
270
- form:
271
- title: 標題
272
222
  assembly_members:
273
223
  form:
274
- existing_user: 現有參與者
275
224
  explanation: '圖像的指導'
276
- non_user: 非參與者
277
225
  non_user_avatar_help: 在發佈他們為會員之前,您應該徵得他們的同意
278
- select_a_position: 選擇一個位置
279
- select_user: 選擇與會者:
280
- user_type: 參與者類型
281
226
  content_blocks:
282
227
  highlighted_assemblies:
283
228
  max_results: 顯示的最大元素數量
@@ -293,14 +238,6 @@ zh-TW:
293
238
  assembly_members:
294
239
  index:
295
240
  members: 成員
296
- assembly_types:
297
- commission: 手續費
298
- consultative_advisory: 諮詢/顧問
299
- executive: 管理人員
300
- government: 政府
301
- others: 其他
302
- participatory: 參與式
303
- working_group: 工作群組
304
241
  content_blocks:
305
242
  highlighted_assemblies:
306
243
  name: 關注的大會
@@ -327,13 +264,10 @@ zh-TW:
327
264
  member_of:
328
265
  member_of: 的成員
329
266
  show:
330
- assembly_type: 大會類型
331
267
  duration: 持續時間
332
268
  private_space: 這是一個私人大會
333
269
  social_networks_title: 訪問大會
334
270
  assembly_members:
335
- assembly_member:
336
- designated_on: 指定於
337
271
  index:
338
272
  title: 成員
339
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