decidim-assemblies 0.27.10 → 0.28.0.rc4
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.
- checksums.yaml +4 -4
- data/app/cells/decidim/assemblies/assemblies/show.erb +16 -0
- data/app/cells/decidim/assemblies/assemblies_cell.rb +24 -0
- data/app/cells/decidim/assemblies/assembly_cell.rb +7 -2
- data/app/cells/decidim/assemblies/assembly_dropdown_metadata_cell.rb +19 -0
- data/app/cells/decidim/assemblies/assembly_g_cell.rb +23 -0
- data/app/cells/decidim/assemblies/assembly_member/data.erb +19 -0
- data/app/cells/decidim/assemblies/assembly_member/name_and_position.erb +11 -0
- data/app/cells/decidim/assemblies/assembly_member/show.erb +8 -52
- data/app/cells/decidim/assemblies/assembly_metadata_g_cell.rb +46 -0
- data/app/cells/decidim/assemblies/assembly_s_cell.rb +15 -0
- data/app/cells/decidim/assemblies/content_block_cell.rb +21 -0
- data/app/cells/decidim/assemblies/content_blocks/children_assemblies_cell.rb +27 -0
- data/app/cells/decidim/assemblies/content_blocks/dates_metadata_cell.rb +23 -0
- data/app/cells/decidim/assemblies/content_blocks/extra_data_cell.rb +39 -0
- data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_cell.rb +15 -23
- data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_settings_form/show.erb +1 -1
- data/app/cells/decidim/assemblies/content_blocks/main_data_cell.rb +52 -0
- data/app/cells/decidim/assemblies/content_blocks/metadata_cell.rb +23 -0
- data/app/cells/decidim/assemblies/content_blocks/related_assemblies/content.erb +1 -0
- data/app/cells/decidim/assemblies/content_blocks/related_assemblies_cell.rb +34 -0
- data/app/cells/decidim/assemblies/content_blocks/stats_cell.rb +15 -0
- data/app/commands/decidim/assemblies/admin/copy_assembly.rb +2 -2
- data/app/commands/decidim/assemblies/admin/create_assemblies_type.rb +1 -1
- data/app/commands/decidim/assemblies/admin/create_assembly.rb +2 -1
- data/app/commands/decidim/assemblies/admin/create_assembly_member.rb +3 -3
- data/app/commands/decidim/assemblies/admin/destroy_assemblies_type.rb +1 -1
- data/app/commands/decidim/assemblies/admin/destroy_assembly_member.rb +1 -1
- data/app/commands/decidim/assemblies/admin/import_assembly.rb +1 -1
- data/app/commands/decidim/assemblies/admin/update_assemblies_type.rb +1 -1
- data/app/commands/decidim/assemblies/admin/update_assembly.rb +1 -1
- data/app/commands/decidim/assemblies/admin/update_assembly_member.rb +1 -1
- data/app/constraints/decidim/assemblies/current_assembly.rb +1 -1
- data/app/controllers/concerns/decidim/assemblies/admin/assembly_context.rb +1 -1
- data/app/controllers/concerns/decidim/assemblies/admin/assembly_members/filterable.rb +39 -0
- data/app/controllers/concerns/decidim/assemblies/assembly_breadcrumb.rb +36 -0
- data/app/controllers/decidim/assemblies/admin/assemblies_controller.rb +1 -0
- data/app/controllers/decidim/assemblies/admin/assemblies_types_controller.rb +1 -1
- data/app/controllers/decidim/assemblies/admin/assembly_attachment_collections_controller.rb +5 -0
- data/app/controllers/decidim/assemblies/admin/assembly_attachments_controller.rb +5 -0
- data/app/controllers/decidim/assemblies/admin/assembly_imports_controller.rb +2 -0
- data/app/controllers/decidim/assemblies/admin/assembly_landing_page_content_blocks_controller.rb +35 -0
- data/app/controllers/decidim/assemblies/admin/assembly_landing_page_controller.rb +37 -0
- data/app/controllers/decidim/assemblies/admin/assembly_members_controller.rb +2 -6
- data/app/controllers/decidim/assemblies/admin/assembly_publications_controller.rb +9 -29
- data/app/controllers/decidim/assemblies/admin/assembly_user_roles_controller.rb +8 -91
- data/app/controllers/decidim/assemblies/admin/concerns/assembly_admin.rb +1 -1
- data/app/controllers/decidim/assemblies/assemblies_controller.rb +12 -7
- data/app/controllers/decidim/assemblies/assembly_members_controller.rb +2 -0
- data/app/events/decidim/assemblies/create_assembly_member_event.rb +1 -1
- data/app/events/decidim/role_assigned_to_assembly_event.rb +11 -6
- data/app/forms/decidim/assemblies/admin/assembly_copy_form.rb +1 -1
- data/app/forms/decidim/assemblies/admin/assembly_form.rb +1 -1
- data/app/forms/decidim/assemblies/admin/assembly_import_form.rb +1 -1
- data/app/forms/decidim/assemblies/admin/assembly_user_role_form.rb +2 -18
- data/app/helpers/decidim/assemblies/admin/assembly_members_helper.rb +11 -0
- data/app/helpers/decidim/assemblies/application_helper.rb +12 -0
- data/app/helpers/decidim/assemblies/assemblies_helper.rb +21 -19
- data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +15 -30
- data/app/models/decidim/assembly.rb +6 -5
- data/app/models/decidim/assembly_user_role.rb +5 -33
- data/app/packs/entrypoints/decidim_assemblies.js +0 -1
- data/app/packs/src/decidim/assemblies/admin/assemblies.js +2 -2
- data/app/packs/src/decidim/assemblies/orgchart.js +0 -701
- data/app/permissions/decidim/assemblies/permissions.rb +14 -27
- data/app/presenters/decidim/assemblies/admin_log/assemblies_setting_presenter.rb +2 -2
- data/app/presenters/decidim/assemblies/admin_log/assemblies_type_presenter.rb +2 -2
- data/app/presenters/decidim/assemblies/admin_log/assembly_member_presenter.rb +2 -2
- data/app/presenters/decidim/assemblies/admin_log/assembly_presenter.rb +2 -2
- data/app/presenters/decidim/assemblies/admin_log/assembly_user_role_presenter.rb +2 -2
- data/app/presenters/decidim/assemblies/assembly_presenter.rb +38 -0
- data/app/presenters/decidim/assemblies/assembly_stats_presenter.rb +2 -41
- data/app/presenters/decidim/assembly_member_presenter.rb +18 -4
- data/app/queries/decidim/assemblies/admin/admin_users.rb +1 -1
- data/app/queries/decidim/assemblies/assemblies_with_user_role.rb +2 -2
- data/app/serializers/decidim/assemblies/assembly_importer.rb +3 -3
- data/app/serializers/decidim/assemblies/assembly_serializer.rb +1 -1
- data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +218 -176
- data/app/views/decidim/assemblies/admin/assemblies/edit.html.erb +25 -11
- data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +105 -115
- data/app/views/decidim/assemblies/admin/assemblies/new.html.erb +16 -9
- data/app/views/decidim/assemblies/admin/assemblies_types/_form.html.erb +6 -8
- data/app/views/decidim/assemblies/admin/assemblies_types/edit.html.erb +11 -5
- data/app/views/decidim/assemblies/admin/assemblies_types/index.html.erb +34 -35
- data/app/views/decidim/assemblies/admin/assemblies_types/new.html.erb +16 -6
- data/app/views/decidim/assemblies/admin/assembly_copies/_form.html.erb +12 -20
- data/app/views/decidim/assemblies/admin/assembly_copies/new.html.erb +17 -5
- data/app/views/decidim/assemblies/admin/assembly_imports/_form.html.erb +28 -37
- data/app/views/decidim/assemblies/admin/assembly_imports/new.html.erb +17 -5
- data/app/views/decidim/assemblies/admin/assembly_members/_form.html.erb +45 -49
- data/app/views/decidim/assemblies/admin/assembly_members/edit.html.erb +17 -6
- data/app/views/decidim/assemblies/admin/assembly_members/index.html.erb +51 -88
- data/app/views/decidim/assemblies/admin/assembly_members/new.html.erb +17 -6
- data/app/views/decidim/assemblies/admin/assembly_user_roles/_form.html.erb +14 -18
- data/app/views/decidim/assemblies/admin/assembly_user_roles/edit.html.erb +17 -6
- data/app/views/decidim/assemblies/admin/assembly_user_roles/index.html.erb +54 -55
- data/app/views/decidim/assemblies/admin/assembly_user_roles/new.html.erb +17 -6
- data/app/views/decidim/assemblies/assemblies/_collection.html.erb +7 -0
- data/app/views/decidim/assemblies/assemblies/index.html.erb +20 -19
- data/app/views/decidim/assemblies/assemblies/index.js.erb +1 -8
- data/app/views/decidim/assemblies/assemblies/show.html.erb +17 -207
- data/app/views/decidim/assemblies/assembly_members/index.html.erb +7 -5
- data/app/views/decidim/assemblies/pages/user_profile/_member_of.html.erb +6 -9
- data/app/views/layouts/decidim/admin/_manage_assemblies.html.erb +36 -0
- data/app/views/layouts/decidim/admin/assemblies.html.erb +13 -11
- data/app/views/layouts/decidim/admin/assemblies_imports.html.erb +9 -0
- data/app/views/layouts/decidim/admin/assemblies_types.html.erb +17 -0
- data/app/views/layouts/decidim/admin/assembly.html.erb +12 -13
- data/app/views/layouts/decidim/assembly.html.erb +7 -14
- data/config/locales/ar.yml +7 -68
- data/config/locales/bg.yml +0 -466
- data/config/locales/ca.yml +62 -71
- data/config/locales/cs.yml +59 -66
- data/config/locales/de.yml +60 -69
- data/config/locales/el.yml +11 -61
- data/config/locales/en.yml +57 -66
- data/config/locales/es-MX.yml +57 -66
- data/config/locales/es-PY.yml +57 -66
- data/config/locales/es.yml +63 -72
- data/config/locales/eu.yml +57 -70
- data/config/locales/fi-plain.yml +58 -67
- data/config/locales/fi.yml +57 -66
- data/config/locales/fr-CA.yml +57 -66
- data/config/locales/fr.yml +57 -66
- data/config/locales/ga-IE.yml +4 -15
- data/config/locales/gl.yml +4 -62
- data/config/locales/hu.yml +33 -65
- data/config/locales/id-ID.yml +6 -47
- data/config/locales/is-IS.yml +5 -40
- data/config/locales/it.yml +5 -62
- data/config/locales/ja.yml +51 -66
- data/config/locales/kaa.yml +0 -8
- data/config/locales/ko.yml +0 -92
- data/config/locales/lb.yml +5 -61
- data/config/locales/lt.yml +40 -63
- data/config/locales/lv.yml +5 -57
- data/config/locales/nl.yml +4 -62
- data/config/locales/no.yml +5 -62
- data/config/locales/pl.yml +3 -93
- data/config/locales/pt-BR.yml +77 -132
- data/config/locales/pt.yml +5 -62
- data/config/locales/ro-RO.yml +20 -63
- data/config/locales/ru.yml +4 -44
- data/config/locales/sk.yml +0 -26
- data/config/locales/sl.yml +5 -48
- data/config/locales/sq-AL.yml +0 -364
- data/config/locales/sr-CS.yml +0 -5
- data/config/locales/sv.yml +132 -193
- data/config/locales/tr-TR.yml +8 -69
- data/config/locales/uk.yml +4 -44
- data/config/locales/zh-CN.yml +5 -60
- data/config/locales/zh-TW.yml +7 -63
- data/db/migrate/20200108123050_migrate_decidim_assembly_types.rb +1 -1
- data/lib/decidim/api/assemblies_type_type.rb +1 -1
- data/lib/decidim/api/assembly_member_type.rb +1 -1
- data/lib/decidim/api/assembly_type.rb +1 -1
- data/lib/decidim/assemblies/admin_engine.rb +21 -126
- data/lib/decidim/assemblies/content_blocks/registry_manager.rb +184 -0
- data/lib/decidim/assemblies/engine.rb +15 -21
- data/lib/decidim/assemblies/menu.rb +161 -0
- data/lib/decidim/assemblies/participatory_space.rb +7 -229
- data/lib/decidim/assemblies/query_extensions.rb +6 -6
- data/lib/decidim/assemblies/seeds.rb +161 -0
- data/lib/decidim/assemblies/test/factories.rb +47 -55
- data/lib/decidim/assemblies/version.rb +1 -1
- metadata +54 -51
- data/app/cells/decidim/assemblies/assembly_m/footer.erb +0 -15
- data/app/cells/decidim/assemblies/assembly_m/tags.erb +0 -1
- data/app/cells/decidim/assemblies/assembly_m_cell.rb +0 -77
- data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies/show.erb +0 -30
- data/app/commands/decidim/assemblies/admin/create_assembly_admin.rb +0 -54
- data/app/commands/decidim/assemblies/admin/destroy_assembly_admin.rb +0 -58
- data/app/commands/decidim/assemblies/admin/notify_role_assigned_to_assembly.rb +0 -22
- data/app/commands/decidim/assemblies/admin/publish_assembly.rb +0 -39
- data/app/commands/decidim/assemblies/admin/unpublish_assembly.rb +0 -39
- data/app/commands/decidim/assemblies/admin/update_assemblies_setting.rb +0 -46
- data/app/commands/decidim/assemblies/admin/update_assembly_admin.rb +0 -53
- data/app/controllers/decidim/assemblies/admin/assemblies_settings_controller.rb +0 -49
- data/app/controllers/decidim/assemblies/widgets_controller.rb +0 -33
- data/app/forms/decidim/assemblies/admin/assemblies_setting_form.rb +0 -14
- data/app/models/decidim/assemblies_setting.rb +0 -17
- data/app/queries/decidim/assemblies/admin/assembly_members.rb +0 -56
- data/app/views/decidim/assemblies/_filter_by_type.html.erb +0 -19
- data/app/views/decidim/assemblies/admin/assemblies_settings/_form.html.erb +0 -10
- data/app/views/decidim/assemblies/admin/assemblies_settings/edit.html.erb +0 -7
- data/app/views/decidim/assemblies/assemblies/_count.html.erb +0 -1
- data/app/views/decidim/assemblies/assemblies/_nav_breadcumb.html.erb +0 -11
- data/app/views/decidim/assemblies/assemblies/_parent_assemblies.html.erb +0 -15
- data/app/views/decidim/assemblies/assemblies/_promoted_assembly.html.erb +0 -27
- data/app/views/layouts/decidim/_assembly_header.html.erb +0 -27
- data/app/views/layouts/decidim/_assembly_navigation.html.erb +0 -24
- data/app/views/layouts/decidim/admin/assembly_members.html.erb +0 -18
- data/config/locales/he-IL.yml +0 -110
- data/db/seeds/Exampledocument.pdf +0 -0
- data/db/seeds/city.jpeg +0 -0
- data/db/seeds/city2.jpeg +0 -0
- data/db/seeds/homepage_image.jpg +0 -0
- data/decidim-assemblies.gemspec +0 -32
@@ -16,7 +16,6 @@ module Decidim
|
|
16
16
|
if permission_action.scope == :public
|
17
17
|
public_list_assemblies_action?
|
18
18
|
public_read_assembly_action?
|
19
|
-
public_embed_assembly_action?
|
20
19
|
public_list_members_action?
|
21
20
|
return permission_action
|
22
21
|
end
|
@@ -35,7 +34,6 @@ module Decidim
|
|
35
34
|
user_can_create_assembly?
|
36
35
|
user_can_export_assembly?
|
37
36
|
user_can_copy_assembly?
|
38
|
-
user_can_read_assemblies_setting?
|
39
37
|
|
40
38
|
# org admins and space admins can do everything in the admin section
|
41
39
|
org_admin_action?
|
@@ -43,6 +41,8 @@ module Decidim
|
|
43
41
|
|
44
42
|
return permission_action unless assembly
|
45
43
|
|
44
|
+
user_can_read_private_users?
|
45
|
+
|
46
46
|
moderator_action?
|
47
47
|
collaborator_action?
|
48
48
|
valuator_action?
|
@@ -53,6 +53,13 @@ module Decidim
|
|
53
53
|
|
54
54
|
private
|
55
55
|
|
56
|
+
def user_can_read_private_users?
|
57
|
+
return unless permission_action.subject == :space_private_user
|
58
|
+
return unless assembly.private_space?
|
59
|
+
|
60
|
+
toggle_allow(user.admin? || can_manage_assembly?(role: :admin) || can_manage_assembly?(role: :collaborator))
|
61
|
+
end
|
62
|
+
|
56
63
|
def assemblies_type_action?
|
57
64
|
return unless [:assembly_type, :assemblies_type].include? permission_action.subject
|
58
65
|
return disallow! unless user.admin?
|
@@ -68,13 +75,13 @@ module Decidim
|
|
68
75
|
end
|
69
76
|
end
|
70
77
|
|
71
|
-
# It
|
78
|
+
# It is an admin user if it is an organization admin or is a space admin
|
72
79
|
# for the current `assembly`.
|
73
80
|
def admin_user?
|
74
81
|
user.admin? || (assembly ? can_manage_assembly?(role: :admin) : has_manageable_assemblies?)
|
75
82
|
end
|
76
83
|
|
77
|
-
# It
|
84
|
+
# It is an admin assembly when assembly exists and the user is allowed to
|
78
85
|
# manage the current assembly.
|
79
86
|
def admin_assembly?
|
80
87
|
assembly.present? && assembly_admin_allowed_assemblies.include?(assembly)
|
@@ -137,18 +144,7 @@ module Decidim
|
|
137
144
|
allow!
|
138
145
|
end
|
139
146
|
|
140
|
-
|
141
|
-
return unless permission_action.action == :embed &&
|
142
|
-
[:assembly, :participatory_space].include?(permission_action.subject) &&
|
143
|
-
assembly
|
144
|
-
|
145
|
-
return disallow! unless assembly.published?
|
146
|
-
return disallow! if assembly.private_space && !assembly.is_transparent?
|
147
|
-
|
148
|
-
allow!
|
149
|
-
end
|
150
|
-
|
151
|
-
# All users with a relation to a assembly and organization admins can enter
|
147
|
+
# All users with a relation to an assembly and organization admins can enter
|
152
148
|
# the space area. The sapce area is considered to be the assemblies zone,
|
153
149
|
# not the assembly groups one.
|
154
150
|
def user_can_enter_space_area?
|
@@ -197,13 +193,6 @@ module Decidim
|
|
197
193
|
toggle_allow(user.admin? || admin_assembly?)
|
198
194
|
end
|
199
195
|
|
200
|
-
def user_can_read_assemblies_setting?
|
201
|
-
return unless permission_action.action == :read &&
|
202
|
-
permission_action.subject == :assemblies_setting
|
203
|
-
|
204
|
-
toggle_allow(user.admin?)
|
205
|
-
end
|
206
|
-
|
207
196
|
# Everyone can read the assembly list
|
208
197
|
def user_can_read_assembly_list?
|
209
198
|
return unless read_assembly_list_permission_action?
|
@@ -247,6 +236,7 @@ module Decidim
|
|
247
236
|
# Collaborators can read/preview everything inside their assembly.
|
248
237
|
def collaborator_action?
|
249
238
|
return unless can_manage_assembly?(role: :collaborator)
|
239
|
+
return if permission_action.subject == :space_private_user
|
250
240
|
|
251
241
|
allow! if permission_action.action == :read || permission_action.action == :preview
|
252
242
|
end
|
@@ -275,7 +265,6 @@ module Decidim
|
|
275
265
|
:assembly,
|
276
266
|
:assembly_user_role,
|
277
267
|
:assembly_member,
|
278
|
-
:space_private_user,
|
279
268
|
:export_space,
|
280
269
|
:import
|
281
270
|
].include?(permission_action.subject)
|
@@ -295,10 +284,8 @@ module Decidim
|
|
295
284
|
:assembly,
|
296
285
|
:assembly_user_role,
|
297
286
|
:assembly_member,
|
298
|
-
:space_private_user,
|
299
287
|
:export_space,
|
300
|
-
:import
|
301
|
-
:assemblies_setting
|
288
|
+
:import
|
302
289
|
].include?(permission_action.subject)
|
303
290
|
allow! if is_allowed
|
304
291
|
end
|
@@ -6,8 +6,8 @@ module Decidim
|
|
6
6
|
# This class holds the logic to present a `Decidim::AssembliesSetting`
|
7
7
|
# for the `AdminLog` log.
|
8
8
|
#
|
9
|
-
# Usage should be automatic and you
|
10
|
-
# directly, but here
|
9
|
+
# Usage should be automatic and you should not need to call this class
|
10
|
+
# directly, but here is an example:
|
11
11
|
#
|
12
12
|
# action_log = Decidim::ActionLog.last
|
13
13
|
# view_helpers # => this comes from the views
|
@@ -6,8 +6,8 @@ module Decidim
|
|
6
6
|
# This class holds the logic to present a `Decidim::AssembliesType`
|
7
7
|
# for the `AdminLog` log.
|
8
8
|
#
|
9
|
-
# Usage should be automatic and you
|
10
|
-
# directly, but here
|
9
|
+
# Usage should be automatic and you should not need to call this class
|
10
|
+
# directly, but here is an example:
|
11
11
|
#
|
12
12
|
# action_log = Decidim::ActionLog.last
|
13
13
|
# view_helpers # => this comes from the views
|
@@ -6,8 +6,8 @@ module Decidim
|
|
6
6
|
# This class holds the logic to present a `Decidim::AssemblyMember`
|
7
7
|
# for the `AdminLog` log.
|
8
8
|
#
|
9
|
-
# Usage should be automatic and you
|
10
|
-
# directly, but here
|
9
|
+
# Usage should be automatic and you should not need to call this class
|
10
|
+
# directly, but here is an example:
|
11
11
|
#
|
12
12
|
# action_log = Decidim::ActionLog.last
|
13
13
|
# view_helpers # => this comes from the views
|
@@ -6,8 +6,8 @@ module Decidim
|
|
6
6
|
# This class holds the logic to present a `Decidim::Assembly`
|
7
7
|
# for the `AdminLog` log.
|
8
8
|
#
|
9
|
-
# Usage should be automatic and you
|
10
|
-
# directly, but here
|
9
|
+
# Usage should be automatic and you should not need to call this class
|
10
|
+
# directly, but here is an example:
|
11
11
|
#
|
12
12
|
# action_log = Decidim::ActionLog.last
|
13
13
|
# view_helpers # => this comes from the views
|
@@ -6,8 +6,8 @@ module Decidim
|
|
6
6
|
# This class holds the logic to present a `Decidim::AssemblyUserRole`
|
7
7
|
# for the `AdminLog` log.
|
8
8
|
#
|
9
|
-
# Usage should be automatic and you
|
10
|
-
# directly, but here
|
9
|
+
# Usage should be automatic and you should not need to call this class
|
10
|
+
# directly, but here is an example:
|
11
11
|
#
|
12
12
|
# action_log = Decidim::ActionLog.last
|
13
13
|
# view_helpers # => this comes from the views
|
@@ -3,6 +3,8 @@
|
|
3
3
|
module Decidim
|
4
4
|
module Assemblies
|
5
5
|
class AssemblyPresenter < SimpleDelegator
|
6
|
+
include Decidim::TranslationsHelper
|
7
|
+
|
6
8
|
def hero_image_url
|
7
9
|
assembly.attached_uploader(:hero_image).url(host: assembly.organization.host)
|
8
10
|
end
|
@@ -11,6 +13,42 @@ module Decidim
|
|
11
13
|
assembly.attached_uploader(:banner_image).url(host: assembly.organization.host)
|
12
14
|
end
|
13
15
|
|
16
|
+
def area_name
|
17
|
+
return if assembly.area.blank?
|
18
|
+
|
19
|
+
Decidim::AreaPresenter.new(assembly.area).translated_name_with_type
|
20
|
+
end
|
21
|
+
|
22
|
+
def creation_date
|
23
|
+
formatted_date(assembly.creation_date)
|
24
|
+
end
|
25
|
+
|
26
|
+
def included_at
|
27
|
+
formatted_date(assembly.included_at)
|
28
|
+
end
|
29
|
+
|
30
|
+
def closing_date
|
31
|
+
formatted_date(assembly.closing_date)
|
32
|
+
end
|
33
|
+
|
34
|
+
def duration
|
35
|
+
return I18n.t("indefinite_duration", scope: "decidim.assemblies.assemblies.description") if (date = assembly.duration).blank?
|
36
|
+
|
37
|
+
formatted_date(date)
|
38
|
+
end
|
39
|
+
|
40
|
+
def assembly_type
|
41
|
+
return if assembly.assembly_type.blank?
|
42
|
+
|
43
|
+
translated_attribute(assembly.assembly_type.title)
|
44
|
+
end
|
45
|
+
|
46
|
+
def formatted_date(date)
|
47
|
+
return if date.blank?
|
48
|
+
|
49
|
+
I18n.l(date, format: :decidim_short)
|
50
|
+
end
|
51
|
+
|
14
52
|
def assembly
|
15
53
|
__getobj__
|
16
54
|
end
|
@@ -6,50 +6,11 @@ module Decidim
|
|
6
6
|
class AssemblyStatsPresenter < Decidim::StatsPresenter
|
7
7
|
include Decidim::IconHelper
|
8
8
|
|
9
|
-
def assembly
|
10
|
-
__getobj__.fetch(:assembly)
|
11
|
-
end
|
12
|
-
|
13
|
-
# Public: returns a collection of stats (Hash) for the Assembly Home.
|
14
|
-
def collection
|
15
|
-
highlighted_stats = assembly_participants_stats
|
16
|
-
highlighted_stats.concat(assembly_followers_stats(priority: StatsRegistry::HIGH_PRIORITY))
|
17
|
-
highlighted_stats.concat(component_stats(priority: StatsRegistry::HIGH_PRIORITY))
|
18
|
-
highlighted_stats.concat(component_stats(priority: StatsRegistry::MEDIUM_PRIORITY))
|
19
|
-
highlighted_stats.concat(comments_stats(:assemblies))
|
20
|
-
highlighted_stats = highlighted_stats.reject(&:empty?)
|
21
|
-
highlighted_stats = highlighted_stats.reject { |_stat_manifest, _stat_title, stat_number| stat_number.zero? }
|
22
|
-
grouped_highlighted_stats = highlighted_stats.group_by(&:first)
|
23
|
-
|
24
|
-
statistics(grouped_highlighted_stats)
|
25
|
-
end
|
26
|
-
|
27
9
|
private
|
28
10
|
|
29
|
-
def
|
30
|
-
Decidim.stats.only([:participants_count]).with_context(assembly)
|
31
|
-
.map { |stat_title, stat_number| [assembly.manifest.name, stat_title, stat_number] }
|
32
|
-
end
|
33
|
-
|
34
|
-
def component_stats(conditions)
|
35
|
-
Decidim.component_manifests.map do |component_manifest|
|
36
|
-
component_manifest.stats.except([:proposals_accepted])
|
37
|
-
.filter(conditions)
|
38
|
-
.with_context(published_components)
|
39
|
-
.map { |stat_title, stat_number| [component_manifest.name, stat_title, stat_number] }.flatten
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def assembly_followers_stats(conditions)
|
44
|
-
Decidim.stats.only([:followers_count])
|
45
|
-
.filter(conditions)
|
46
|
-
.with_context(assembly)
|
47
|
-
.map { |stat_title, stat_number| [assembly.manifest.name, stat_title, stat_number] }
|
48
|
-
end
|
11
|
+
def participatory_space = __getobj__.fetch(:assembly)
|
49
12
|
|
50
|
-
def
|
51
|
-
@published_components ||= Component.where(participatory_space: assembly).published
|
52
|
-
end
|
13
|
+
def participatory_space_sym = :assemblies
|
53
14
|
end
|
54
15
|
end
|
55
16
|
end
|
@@ -9,7 +9,7 @@ module Decidim
|
|
9
9
|
(Time.current.strftime("%Y%m%d").to_i - birthday.strftime("%Y%m%d").to_i) / 10_000 if birthday
|
10
10
|
end
|
11
11
|
|
12
|
-
delegate :profile_url,
|
12
|
+
delegate :profile_url, to: :user, allow_nil: true
|
13
13
|
|
14
14
|
def name
|
15
15
|
user ? user.name : full_name
|
@@ -33,16 +33,30 @@ module Decidim
|
|
33
33
|
I18n.t(__getobj__.position, scope: "decidim.admin.models.assembly_member.positions", default: "")
|
34
34
|
end
|
35
35
|
|
36
|
-
def
|
37
|
-
return
|
36
|
+
def avatar_url(variant = nil)
|
37
|
+
return user.avatar_url(variant) if user.present?
|
38
38
|
|
39
|
-
|
39
|
+
non_user_avatar_path(variant)
|
40
|
+
end
|
41
|
+
|
42
|
+
def non_user_avatar_path(variant = nil)
|
43
|
+
return non_user_avatar.default_url(variant) unless non_user_avatar.attached?
|
44
|
+
|
45
|
+
non_user_avatar.path(variant:)
|
40
46
|
end
|
41
47
|
|
42
48
|
def non_user_avatar
|
43
49
|
attached_uploader(:non_user_avatar)
|
44
50
|
end
|
45
51
|
|
52
|
+
def has_tooltip?
|
53
|
+
false
|
54
|
+
end
|
55
|
+
|
56
|
+
def deleted?
|
57
|
+
false
|
58
|
+
end
|
59
|
+
|
46
60
|
private
|
47
61
|
|
48
62
|
def user
|
@@ -39,8 +39,8 @@ module Decidim
|
|
39
39
|
attr_reader :user, :role
|
40
40
|
|
41
41
|
def assembly_ids
|
42
|
-
user_roles = AssemblyUserRole.where(user:
|
43
|
-
user_roles = AssemblyUserRole.where(user
|
42
|
+
user_roles = AssemblyUserRole.where(user:) if role == :any
|
43
|
+
user_roles = AssemblyUserRole.where(user:, role:) if role != :any
|
44
44
|
user_roles.pluck(:decidim_assembly_id)
|
45
45
|
end
|
46
46
|
end
|
@@ -17,15 +17,15 @@ module Decidim
|
|
17
17
|
# - title: The +title+ for the new Assembly
|
18
18
|
# - slug: The +slug+ for the new Assembly
|
19
19
|
#
|
20
|
-
# Returns
|
20
|
+
# Returns an Assembly instance.
|
21
21
|
def import(attributes, _user, opts)
|
22
22
|
title = opts[:title]
|
23
23
|
slug = opts[:slug]
|
24
24
|
Decidim.traceability.perform_action!(:create, Assembly, @user, visibility: "all") do
|
25
25
|
@imported_assembly = Assembly.new(
|
26
26
|
organization: @organization,
|
27
|
-
title
|
28
|
-
slug
|
27
|
+
title:,
|
28
|
+
slug:,
|
29
29
|
hashtag: attributes["hashtag"],
|
30
30
|
subtitle: attributes["subtitle"],
|
31
31
|
short_description: attributes["short_description"],
|
@@ -8,7 +8,7 @@ module Decidim
|
|
8
8
|
include Decidim::ResourceHelper
|
9
9
|
include Decidim::TranslationsHelper
|
10
10
|
|
11
|
-
# Public: Initializes the serializer with
|
11
|
+
# Public: Initializes the serializer with an Assembly instance.
|
12
12
|
def initialize(assembly)
|
13
13
|
@assembly = assembly
|
14
14
|
end
|