decidim-assemblies 0.27.4 → 0.28.0.rc5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (196) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/assemblies/assemblies/show.erb +16 -0
  3. data/app/cells/decidim/assemblies/assemblies_cell.rb +24 -0
  4. data/app/cells/decidim/assemblies/assembly_cell.rb +7 -2
  5. data/app/cells/decidim/assemblies/assembly_dropdown_metadata_cell.rb +19 -0
  6. data/app/cells/decidim/assemblies/assembly_g_cell.rb +23 -0
  7. data/app/cells/decidim/assemblies/assembly_member/data.erb +19 -0
  8. data/app/cells/decidim/assemblies/assembly_member/name_and_position.erb +11 -0
  9. data/app/cells/decidim/assemblies/assembly_member/show.erb +8 -52
  10. data/app/cells/decidim/assemblies/assembly_metadata_g_cell.rb +46 -0
  11. data/app/cells/decidim/assemblies/assembly_s_cell.rb +15 -0
  12. data/app/cells/decidim/assemblies/content_block_cell.rb +21 -0
  13. data/app/cells/decidim/assemblies/content_blocks/children_assemblies_cell.rb +27 -0
  14. data/app/cells/decidim/assemblies/content_blocks/dates_metadata_cell.rb +23 -0
  15. data/app/cells/decidim/assemblies/content_blocks/extra_data_cell.rb +39 -0
  16. data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_cell.rb +15 -23
  17. data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_settings_form/show.erb +1 -1
  18. data/app/cells/decidim/assemblies/content_blocks/main_data_cell.rb +52 -0
  19. data/app/cells/decidim/assemblies/content_blocks/metadata_cell.rb +23 -0
  20. data/app/cells/decidim/assemblies/content_blocks/related_assemblies/content.erb +1 -0
  21. data/app/cells/decidim/assemblies/content_blocks/related_assemblies_cell.rb +34 -0
  22. data/app/cells/decidim/assemblies/content_blocks/stats_cell.rb +15 -0
  23. data/app/commands/decidim/assemblies/admin/copy_assembly.rb +2 -2
  24. data/app/commands/decidim/assemblies/admin/create_assemblies_type.rb +1 -1
  25. data/app/commands/decidim/assemblies/admin/create_assembly.rb +2 -1
  26. data/app/commands/decidim/assemblies/admin/create_assembly_member.rb +3 -3
  27. data/app/commands/decidim/assemblies/admin/destroy_assemblies_type.rb +1 -1
  28. data/app/commands/decidim/assemblies/admin/destroy_assembly_member.rb +1 -1
  29. data/app/commands/decidim/assemblies/admin/import_assembly.rb +1 -1
  30. data/app/commands/decidim/assemblies/admin/update_assemblies_type.rb +1 -1
  31. data/app/commands/decidim/assemblies/admin/update_assembly.rb +1 -1
  32. data/app/commands/decidim/assemblies/admin/update_assembly_member.rb +1 -1
  33. data/app/constraints/decidim/assemblies/current_assembly.rb +1 -1
  34. data/app/controllers/concerns/decidim/assemblies/admin/assembly_context.rb +1 -1
  35. data/app/controllers/concerns/decidim/assemblies/admin/assembly_members/filterable.rb +39 -0
  36. data/app/controllers/concerns/decidim/assemblies/assembly_breadcrumb.rb +36 -0
  37. data/app/controllers/decidim/assemblies/admin/assemblies_controller.rb +1 -0
  38. data/app/controllers/decidim/assemblies/admin/assemblies_types_controller.rb +1 -1
  39. data/app/controllers/decidim/assemblies/admin/assembly_attachment_collections_controller.rb +5 -0
  40. data/app/controllers/decidim/assemblies/admin/assembly_attachments_controller.rb +5 -0
  41. data/app/controllers/decidim/assemblies/admin/assembly_imports_controller.rb +2 -0
  42. data/app/controllers/decidim/assemblies/admin/assembly_landing_page_content_blocks_controller.rb +35 -0
  43. data/app/controllers/decidim/assemblies/admin/assembly_landing_page_controller.rb +37 -0
  44. data/app/controllers/decidim/assemblies/admin/assembly_members_controller.rb +2 -6
  45. data/app/controllers/decidim/assemblies/admin/assembly_publications_controller.rb +9 -29
  46. data/app/controllers/decidim/assemblies/admin/assembly_user_roles_controller.rb +8 -91
  47. data/app/controllers/decidim/assemblies/admin/concerns/assembly_admin.rb +1 -1
  48. data/app/controllers/decidim/assemblies/assemblies_controller.rb +13 -8
  49. data/app/controllers/decidim/assemblies/assembly_members_controller.rb +2 -0
  50. data/app/events/decidim/role_assigned_to_assembly_event.rb +6 -6
  51. data/app/forms/decidim/assemblies/admin/assembly_copy_form.rb +1 -1
  52. data/app/forms/decidim/assemblies/admin/assembly_form.rb +1 -1
  53. data/app/forms/decidim/assemblies/admin/assembly_import_form.rb +1 -1
  54. data/app/forms/decidim/assemblies/admin/assembly_user_role_form.rb +2 -18
  55. data/app/helpers/decidim/assemblies/admin/assembly_members_helper.rb +11 -0
  56. data/app/helpers/decidim/assemblies/application_helper.rb +12 -0
  57. data/app/helpers/decidim/assemblies/assemblies_helper.rb +20 -18
  58. data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +15 -30
  59. data/app/models/decidim/assembly.rb +6 -5
  60. data/app/models/decidim/assembly_user_role.rb +5 -33
  61. data/app/packs/entrypoints/decidim_assemblies.js +0 -1
  62. data/app/packs/src/decidim/assemblies/admin/assemblies.js +2 -2
  63. data/app/packs/src/decidim/assemblies/orgchart.js +0 -701
  64. data/app/permissions/decidim/assemblies/permissions.rb +21 -20
  65. data/app/presenters/decidim/assemblies/admin_log/assemblies_setting_presenter.rb +2 -2
  66. data/app/presenters/decidim/assemblies/admin_log/assemblies_type_presenter.rb +2 -2
  67. data/app/presenters/decidim/assemblies/admin_log/assembly_member_presenter.rb +2 -2
  68. data/app/presenters/decidim/assemblies/admin_log/assembly_presenter.rb +2 -2
  69. data/app/presenters/decidim/assemblies/admin_log/assembly_user_role_presenter.rb +2 -2
  70. data/app/presenters/decidim/assemblies/assembly_presenter.rb +38 -0
  71. data/app/presenters/decidim/assemblies/assembly_stats_presenter.rb +2 -41
  72. data/app/presenters/decidim/assembly_member_presenter.rb +18 -4
  73. data/app/queries/decidim/assemblies/admin/admin_users.rb +1 -1
  74. data/app/queries/decidim/assemblies/assemblies_with_user_role.rb +2 -2
  75. data/app/serializers/decidim/assemblies/assembly_importer.rb +3 -3
  76. data/app/serializers/decidim/assemblies/assembly_serializer.rb +1 -1
  77. data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +218 -176
  78. data/app/views/decidim/assemblies/admin/assemblies/edit.html.erb +25 -11
  79. data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +105 -115
  80. data/app/views/decidim/assemblies/admin/assemblies/new.html.erb +16 -9
  81. data/app/views/decidim/assemblies/admin/assemblies_types/_form.html.erb +6 -8
  82. data/app/views/decidim/assemblies/admin/assemblies_types/edit.html.erb +11 -5
  83. data/app/views/decidim/assemblies/admin/assemblies_types/index.html.erb +34 -35
  84. data/app/views/decidim/assemblies/admin/assemblies_types/new.html.erb +16 -6
  85. data/app/views/decidim/assemblies/admin/assembly_copies/_form.html.erb +12 -20
  86. data/app/views/decidim/assemblies/admin/assembly_copies/new.html.erb +17 -5
  87. data/app/views/decidim/assemblies/admin/assembly_imports/_form.html.erb +28 -37
  88. data/app/views/decidim/assemblies/admin/assembly_imports/new.html.erb +17 -5
  89. data/app/views/decidim/assemblies/admin/assembly_members/_form.html.erb +45 -49
  90. data/app/views/decidim/assemblies/admin/assembly_members/edit.html.erb +17 -6
  91. data/app/views/decidim/assemblies/admin/assembly_members/index.html.erb +51 -88
  92. data/app/views/decidim/assemblies/admin/assembly_members/new.html.erb +17 -6
  93. data/app/views/decidim/assemblies/admin/assembly_user_roles/_form.html.erb +14 -18
  94. data/app/views/decidim/assemblies/admin/assembly_user_roles/edit.html.erb +17 -6
  95. data/app/views/decidim/assemblies/admin/assembly_user_roles/index.html.erb +54 -55
  96. data/app/views/decidim/assemblies/admin/assembly_user_roles/new.html.erb +17 -6
  97. data/app/views/decidim/assemblies/assemblies/_collection.html.erb +7 -0
  98. data/app/views/decidim/assemblies/assemblies/index.html.erb +20 -19
  99. data/app/views/decidim/assemblies/assemblies/index.js.erb +1 -8
  100. data/app/views/decidim/assemblies/assemblies/show.html.erb +17 -207
  101. data/app/views/decidim/assemblies/assembly_members/index.html.erb +7 -5
  102. data/app/views/decidim/assemblies/pages/user_profile/_member_of.html.erb +6 -9
  103. data/app/views/layouts/decidim/admin/_manage_assemblies.html.erb +36 -0
  104. data/app/views/layouts/decidim/admin/assemblies.html.erb +13 -11
  105. data/app/views/layouts/decidim/admin/assemblies_imports.html.erb +9 -0
  106. data/app/views/layouts/decidim/admin/assemblies_types.html.erb +17 -0
  107. data/app/views/layouts/decidim/admin/assembly.html.erb +12 -13
  108. data/app/views/layouts/decidim/assembly.html.erb +7 -14
  109. data/config/environment.rb +3 -0
  110. data/config/locales/ar.yml +6 -75
  111. data/config/locales/bg.yml +0 -4
  112. data/config/locales/ca.yml +58 -67
  113. data/config/locales/cs.yml +60 -67
  114. data/config/locales/de.yml +62 -71
  115. data/config/locales/el.yml +10 -69
  116. data/config/locales/en.yml +58 -67
  117. data/config/locales/es-MX.yml +58 -67
  118. data/config/locales/es-PY.yml +58 -67
  119. data/config/locales/es.yml +58 -67
  120. data/config/locales/eu.yml +206 -202
  121. data/config/locales/fi-plain.yml +58 -67
  122. data/config/locales/fi.yml +60 -69
  123. data/config/locales/fr-CA.yml +58 -67
  124. data/config/locales/fr.yml +61 -70
  125. data/config/locales/ga-IE.yml +4 -17
  126. data/config/locales/gl.yml +3 -69
  127. data/config/locales/hu.yml +38 -70
  128. data/config/locales/id-ID.yml +4 -50
  129. data/config/locales/is-IS.yml +4 -44
  130. data/config/locales/it.yml +4 -70
  131. data/config/locales/ja.yml +52 -67
  132. data/config/locales/kaa.yml +0 -9
  133. data/config/locales/lb.yml +4 -64
  134. data/config/locales/lt.yml +52 -67
  135. data/config/locales/lv.yml +4 -63
  136. data/config/locales/nl.yml +3 -70
  137. data/config/locales/no.yml +4 -70
  138. data/config/locales/pl.yml +4 -76
  139. data/config/locales/pt-BR.yml +27 -69
  140. data/config/locales/pt.yml +4 -70
  141. data/config/locales/ro-RO.yml +19 -71
  142. data/config/locales/ru.yml +4 -48
  143. data/config/locales/sk.yml +0 -23
  144. data/config/locales/sl.yml +4 -49
  145. data/config/locales/sq-AL.yml +1 -0
  146. data/config/locales/sr-CS.yml +0 -5
  147. data/config/locales/sv.yml +17 -69
  148. data/config/locales/th-TH.yml +1 -0
  149. data/config/locales/tr-TR.yml +6 -76
  150. data/config/locales/uk.yml +4 -48
  151. data/config/locales/zh-CN.yml +4 -68
  152. data/config/locales/zh-TW.yml +5 -70
  153. data/db/migrate/20200108123050_migrate_decidim_assembly_types.rb +1 -1
  154. data/lib/decidim/api/assemblies_type_type.rb +1 -1
  155. data/lib/decidim/api/assembly_member_type.rb +1 -1
  156. data/lib/decidim/api/assembly_type.rb +1 -1
  157. data/lib/decidim/assemblies/admin_engine.rb +21 -126
  158. data/lib/decidim/assemblies/content_blocks/registry_manager.rb +184 -0
  159. data/lib/decidim/assemblies/engine.rb +15 -21
  160. data/lib/decidim/assemblies/menu.rb +161 -0
  161. data/lib/decidim/assemblies/participatory_space.rb +7 -229
  162. data/lib/decidim/assemblies/query_extensions.rb +6 -6
  163. data/lib/decidim/assemblies/seeds.rb +161 -0
  164. data/lib/decidim/assemblies/test/factories.rb +22 -11
  165. data/lib/decidim/assemblies/version.rb +1 -1
  166. metadata +55 -48
  167. data/app/cells/decidim/assemblies/assembly_m/footer.erb +0 -15
  168. data/app/cells/decidim/assemblies/assembly_m/tags.erb +0 -1
  169. data/app/cells/decidim/assemblies/assembly_m_cell.rb +0 -77
  170. data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies/show.erb +0 -30
  171. data/app/commands/decidim/assemblies/admin/create_assembly_admin.rb +0 -54
  172. data/app/commands/decidim/assemblies/admin/destroy_assembly_admin.rb +0 -58
  173. data/app/commands/decidim/assemblies/admin/notify_role_assigned_to_assembly.rb +0 -22
  174. data/app/commands/decidim/assemblies/admin/publish_assembly.rb +0 -39
  175. data/app/commands/decidim/assemblies/admin/unpublish_assembly.rb +0 -39
  176. data/app/commands/decidim/assemblies/admin/update_assemblies_setting.rb +0 -46
  177. data/app/commands/decidim/assemblies/admin/update_assembly_admin.rb +0 -53
  178. data/app/controllers/decidim/assemblies/admin/assemblies_settings_controller.rb +0 -49
  179. data/app/controllers/decidim/assemblies/widgets_controller.rb +0 -23
  180. data/app/forms/decidim/assemblies/admin/assemblies_setting_form.rb +0 -14
  181. data/app/models/decidim/assemblies_setting.rb +0 -17
  182. data/app/queries/decidim/assemblies/admin/assembly_members.rb +0 -56
  183. data/app/views/decidim/assemblies/_filter_by_type.html.erb +0 -19
  184. data/app/views/decidim/assemblies/admin/assemblies_settings/_form.html.erb +0 -10
  185. data/app/views/decidim/assemblies/admin/assemblies_settings/edit.html.erb +0 -7
  186. data/app/views/decidim/assemblies/assemblies/_count.html.erb +0 -1
  187. data/app/views/decidim/assemblies/assemblies/_nav_breadcumb.html.erb +0 -11
  188. data/app/views/decidim/assemblies/assemblies/_parent_assemblies.html.erb +0 -15
  189. data/app/views/decidim/assemblies/assemblies/_promoted_assembly.html.erb +0 -27
  190. data/app/views/layouts/decidim/_assembly_header.html.erb +0 -27
  191. data/app/views/layouts/decidim/_assembly_navigation.html.erb +0 -24
  192. data/app/views/layouts/decidim/admin/assembly_members.html.erb +0 -18
  193. data/db/seeds/Exampledocument.pdf +0 -0
  194. data/db/seeds/city.jpeg +0 -0
  195. data/db/seeds/city2.jpeg +0 -0
  196. data/db/seeds/homepage_image.jpg +0 -0
@@ -1,30 +0,0 @@
1
- <section id="highlighted_assemblies" class="wrapper-home home-section" xmlns="http://www.w3.org/1999/xhtml">
2
- <div class="row" id="highlighted-assemblies">
3
- <h3 class="section-heading"><%= t("active_assemblies", scope: i18n_scope) %></h3>
4
- <div class="row collapse">
5
- <div class="row small-up-1 smallmedium-up-2 mediumlarge-up-3
6
- large-up-4 card-grid">
7
- <% highlighted_assemblies.each do |assembly| %>
8
- <div class="column">
9
- <%= link_to decidim_assemblies.assembly_path(assembly), class: "card card--assembly card--mini" do %>
10
- <div aria-hidden="true" class="card__image-top"
11
- style="background-image:url('<%= assembly.attached_uploader(:hero_image).path %>')"></div>
12
- <div class="card__content">
13
- <span class="card__title card__link"><%= translated_attribute assembly.title %></span>
14
- </div>
15
- <% end %>
16
- </div>
17
- <% end %>
18
- </div>
19
- </div>
20
- </div>
21
- <div class="row" id="see-all-assemblies">
22
- <div class="columns small-centered small-12
23
- smallmedium-8 medium-6 large-4">
24
- <%= link_to t("see_all_assemblies", scope: i18n_scope),
25
- decidim_assemblies.assemblies_path,
26
- class: "button expanded hollow button--sc home-section__cta",
27
- title: t("assemblies_button_title", scope: i18n_scope) %>
28
- </div>
29
- </div>
30
- </section>
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # A command with all the business logic when creating a new participatory
7
- # process admin in the system.
8
- class CreateAssemblyAdmin < NotifyRoleAssignedToAssembly
9
- include ::Decidim::Admin::CreateParticipatorySpaceAdminUserActions
10
-
11
- # Public: Initializes the command.
12
- #
13
- # form - A form object with the params.
14
- # assembly - The Assembly that will hold the
15
- # user role
16
- def initialize(form, current_user, assembly)
17
- @form = form
18
- @current_user = current_user
19
- @participatory_space = assembly
20
- end
21
-
22
- private
23
-
24
- attr_reader :form, :participatory_space, :current_user, :user
25
-
26
- def existing_role
27
- Decidim::AssemblyUserRole.exists?(
28
- role: form.role.to_sym,
29
- user: user,
30
- assembly: @participatory_process
31
- )
32
- end
33
-
34
- def create_role
35
- Decidim.traceability.perform_action!(
36
- :create,
37
- Decidim::AssemblyUserRole,
38
- current_user,
39
- resource: {
40
- title: user.name
41
- }
42
- ) do
43
- Decidim::AssemblyUserRole.find_or_create_by!(
44
- role: form.role.to_sym,
45
- user: user,
46
- assembly: participatory_space
47
- )
48
- end
49
- send_notification user
50
- end
51
- end
52
- end
53
- end
54
- end
@@ -1,58 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # A command with all the business logic when destroying an assembly
7
- # admin in the system.
8
- class DestroyAssemblyAdmin < Decidim::Command
9
- # Public: Initializes the command.
10
- #
11
- # role - the AssemblyUserRole to destroy
12
- # current_user - the user performing this action
13
- def initialize(role, current_user)
14
- @role = role
15
- @current_user = current_user
16
- end
17
-
18
- # Executes the command. Broadcasts these events:
19
- #
20
- # - :ok when everything is valid.
21
- # - :invalid if the form wasn't valid and we couldn't proceed.
22
- #
23
- # Returns nothing.
24
- def call
25
- destroy_role!
26
- dispatch_system_event
27
- broadcast(:ok)
28
- end
29
-
30
- private
31
-
32
- attr_reader :role, :current_user
33
-
34
- def dispatch_system_event
35
- ActiveSupport::Notifications.publish("decidim.system.participatory_space.admin.destroyed", role.class.name, role.id)
36
- end
37
-
38
- def destroy_role!
39
- extra_info = {
40
- resource: {
41
- title: role.user.name
42
- }
43
- }
44
-
45
- Decidim.traceability.perform_action!(
46
- "delete",
47
- role,
48
- current_user,
49
- extra_info
50
- ) do
51
- role.destroy!
52
- role
53
- end
54
- end
55
- end
56
- end
57
- end
58
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # A command to notify users when a role is assigned for an assembly
7
- class NotifyRoleAssignedToAssembly < Decidim::Command
8
- def send_notification(user)
9
- Decidim::EventsManager.publish(
10
- event: "decidim.events.assembly.role_assigned",
11
- event_class: Decidim::RoleAssignedToAssemblyEvent,
12
- resource: form.current_participatory_space,
13
- affected_users: [user],
14
- extra: {
15
- role: form.role
16
- }
17
- )
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # A command that sets an assembly as published.
7
- class PublishAssembly < Decidim::Command
8
- # Public: Initializes the command.
9
- #
10
- # assembly - A Assembly that will be published
11
- # current_user - the user performing the action
12
- def initialize(assembly, current_user)
13
- @assembly = assembly
14
- @current_user = current_user
15
- end
16
-
17
- # Executes the command. Broadcasts these events:
18
- #
19
- # - :ok when everything is valid.
20
- # - :invalid if the data wasn't valid and we couldn't proceed.
21
- #
22
- # Returns nothing.
23
- def call
24
- return broadcast(:invalid) if assembly.nil? || assembly.published?
25
-
26
- Decidim.traceability.perform_action!("publish", assembly, current_user, visibility: "all") do
27
- assembly.publish!
28
- end
29
-
30
- broadcast(:ok)
31
- end
32
-
33
- private
34
-
35
- attr_reader :assembly, :current_user
36
- end
37
- end
38
- end
39
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # A command that sets an assembly as unpublished.
7
- class UnpublishAssembly < Decidim::Command
8
- # Public: Initializes the command.
9
- #
10
- # assembly - A Assembly that will be published
11
- # current_user - the user performing the action
12
- def initialize(assembly, current_user)
13
- @assembly = assembly
14
- @current_user = current_user
15
- end
16
-
17
- # Executes the command. Broadcasts these events:
18
- #
19
- # - :ok when everything is valid.
20
- # - :invalid if the data wasn't valid and we couldn't proceed.
21
- #
22
- # Returns nothing.
23
- def call
24
- return broadcast(:invalid) if assembly.nil? || !assembly.published?
25
-
26
- Decidim.traceability.perform_action!("unpublish", assembly, current_user) do
27
- assembly.unpublish!
28
- end
29
-
30
- broadcast(:ok)
31
- end
32
-
33
- private
34
-
35
- attr_reader :assembly, :current_user
36
- end
37
- end
38
- end
39
- end
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # A command with all the business logic when updating assemblies
7
- # settings in admin area.
8
- class UpdateAssembliesSetting < Decidim::Command
9
- # Public: Initializes the command.
10
- #
11
- # assemblies_setting - A assemblies_setting object to update.
12
- # form - A form object with the params.
13
- def initialize(assemblies_settings, form)
14
- @assemblies_settings = assemblies_settings
15
- @form = form
16
- end
17
-
18
- # Executes the command. Broadcasts these events:
19
- #
20
- # - :ok when everything is valid.
21
- # - :invalid if the form or assemblies_settings isn't valid and we couldn't proceed.
22
- #
23
- # Returns nothing.
24
- def call
25
- return broadcast(:invalid) if form.invalid? || assemblies_settings.invalid?
26
-
27
- update_assemblies_setting!
28
-
29
- broadcast(:ok)
30
- end
31
-
32
- private
33
-
34
- attr_reader :form, :assemblies_settings
35
-
36
- def update_assemblies_setting!
37
- Decidim.traceability.update!(
38
- @assemblies_settings,
39
- form.current_user,
40
- enable_organization_chart: form.enable_organization_chart
41
- )
42
- end
43
- end
44
- end
45
- end
46
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # A command with all the business logic when updated a participatory
7
- # process admin in the system.
8
- class UpdateAssemblyAdmin < NotifyRoleAssignedToAssembly
9
- # Public: Initializes the command.
10
- #
11
- # form - A form object with the params.
12
- # user_role - The AssemblyUSerRole to update
13
- def initialize(form, user_role)
14
- @form = form
15
- @user_role = user_role
16
- end
17
-
18
- # Executes the command. Broadcasts these events:
19
- #
20
- # - :ok when everything is valid.
21
- # - :invalid if the form wasn't valid and we couldn't proceed.
22
- #
23
- # Returns nothing.
24
- def call
25
- return broadcast(:invalid) if form.invalid?
26
- return broadcast(:invalid) unless user_role
27
-
28
- update_role!
29
- broadcast(:ok)
30
- end
31
-
32
- private
33
-
34
- attr_reader :form, :user_role
35
-
36
- def update_role!
37
- log_info = {
38
- resource: {
39
- title: user_role.user.name
40
- }
41
- }
42
- Decidim.traceability.update!(
43
- user_role,
44
- form.current_user,
45
- { role: form.role },
46
- log_info
47
- )
48
- send_notification user_role.user
49
- end
50
- end
51
- end
52
- end
53
- end
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # Controller used to manage the assemblies settings for the current
7
- # organization.
8
- class AssembliesSettingsController < Decidim::Assemblies::Admin::ApplicationController
9
- layout "decidim/admin/assemblies"
10
-
11
- # GET /admin/assemblies_settings/edit
12
- def edit
13
- enforce_permission_to :edit, :assemblies_setting, assemblies_settings: current_assemblies_settings
14
- @form = assemblies_settings_form.from_model(current_assemblies_settings)
15
- end
16
-
17
- # PUT /admin/assemblies_settings/:id
18
- def update
19
- enforce_permission_to :update, :assemblies_setting, assemblies_settings: current_assemblies_settings
20
-
21
- @form = assemblies_settings_form
22
- .from_params(params, assemblies_settings: current_assemblies_settings)
23
-
24
- UpdateAssembliesSetting.call(current_assemblies_settings, @form) do
25
- on(:ok) do
26
- flash[:notice] = I18n.t("assemblies_settings.update.success", scope: "decidim.admin")
27
- redirect_to edit_assemblies_settings_path
28
- end
29
-
30
- on(:invalid) do
31
- flash.now[:alert] = I18n.t("assemblies_settings.update.error", scope: "decidim.admin")
32
- render :edit
33
- end
34
- end
35
- end
36
-
37
- private
38
-
39
- def current_assemblies_settings
40
- @current_assemblies_settings ||= Decidim::AssembliesSetting.find_or_create_by!(decidim_organization_id: current_organization.id)
41
- end
42
-
43
- def assemblies_settings_form
44
- form(Decidim::Assemblies::Admin::AssembliesSettingForm)
45
- end
46
- end
47
- end
48
- end
49
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- class WidgetsController < Decidim::WidgetsController
6
- helper Decidim::SanitizeHelper
7
-
8
- private
9
-
10
- def model
11
- @model ||= Assembly.find_by(slug: params[:assembly_slug])
12
- end
13
-
14
- def current_participatory_space
15
- model
16
- end
17
-
18
- def iframe_url
19
- @iframe_url ||= assembly_widget_url(model)
20
- end
21
- end
22
- end
23
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # A form object used to create assembly setting from the admin dashboard.
7
- class AssembliesSettingForm < Form
8
- mimic :assemblies_setting
9
-
10
- attribute :enable_organization_chart, Boolean
11
- end
12
- end
13
- end
14
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- # Assemblies setting.
5
- class AssembliesSetting < ApplicationRecord
6
- include Decidim::Traceable
7
- include Decidim::Loggable
8
-
9
- belongs_to :organization,
10
- foreign_key: "decidim_organization_id",
11
- class_name: "Decidim::Organization"
12
-
13
- def self.log_presenter_class_for(_log)
14
- Decidim::Assemblies::AdminLog::AssembliesSettingPresenter
15
- end
16
- end
17
- end
@@ -1,56 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Assemblies
5
- module Admin
6
- # A class used to find the AssemblyMembers's by their status status.
7
- class AssemblyMembers < Decidim::Query
8
- # Syntactic sugar to initialize the class and return the queried objects.
9
- #
10
- # assembly_members - the initial AssemblyMember relation that needs to be filtered.
11
- # query - query to filter user group names
12
- # status - ceased status to be used as a filter
13
- def self.for(assembly_members, query = nil, status = nil)
14
- new(assembly_members, query, status).query
15
- end
16
-
17
- # Initializes the class.
18
- #
19
- # assembly_members - the AssemblyMember relation that need to be filtered
20
- # query - query to filter user group names
21
- # status - ceased status to be used as a filter
22
- def initialize(assembly_members, query = nil, status = nil)
23
- @assembly_members = assembly_members
24
- @query = query
25
- @status = status
26
- end
27
-
28
- # List the assembly members by the different filters.
29
- def query
30
- @assembly_members = filter_by_search(@assembly_members)
31
- @assembly_members = filter_by_status(@assembly_members)
32
- @assembly_members
33
- end
34
-
35
- private
36
-
37
- def filter_by_search(assembly_members)
38
- return assembly_members if @query.blank?
39
-
40
- assembly_members.where("LOWER(full_name) LIKE LOWER(?)", "%#{@query}%")
41
- end
42
-
43
- def filter_by_status(assembly_members)
44
- case @status
45
- when "ceased"
46
- assembly_members.where.not(ceased_date: nil)
47
- when "not_ceased"
48
- assembly_members.where(ceased_date: nil)
49
- else
50
- assembly_members
51
- end
52
- end
53
- end
54
- end
55
- end
56
- end
@@ -1,19 +0,0 @@
1
- <div id="assemblies-filter" class="inline-filters">
2
- <% if available_filters.present? %>
3
- <div id="inline-filter-sort" class="dropdown-pane" data-position="bottom" data-alignment="right" data-dropdown data-auto-focus="true">
4
- <ul class="list-reset">
5
- <% available_filters.each do |title, id| %>
6
- <li>
7
- <%= link_to filter_link(id), remote: true do %>
8
- <%= title %>
9
- <% end %>
10
- </li>
11
- <% end %>
12
- </ul>
13
- </div>
14
- <label>
15
- <span><%= help_text %></span>
16
- <button id="button-text" data-toggle="inline-filter-sort"><%= current_filter_name %></button>
17
- </label>
18
- <% end %>
19
- </div>
@@ -1,10 +0,0 @@
1
- <div class="card">
2
- <div class="card-divider">
3
- <h2 class="card-title"><%= t(".title") %></h2>
4
- </div>
5
- <div class="card-section">
6
- <div class="row column">
7
- <%= form.check_box :enable_organization_chart %>
8
- </div>
9
- </div>
10
- </div>
@@ -1,7 +0,0 @@
1
- <% add_decidim_page_title(t("decidim.assemblies.admin.assemblies_settings.form.title")) %>
2
- <%= decidim_form_for(@form, html: { class: "form edit_assemblies_settings" }, url: assemblies_settings_path, method: :put) do |f| %>
3
- <%= render partial: "form", object: f %>
4
- <div class="button--double form-general-submit">
5
- <%= f.submit t(".update") %>
6
- </div>
7
- <% end %>
@@ -1 +0,0 @@
1
- <%= t("assemblies.order_by_assemblies.assemblies", scope: "layouts.decidim", count: parent_assemblies.count) %>
@@ -1,11 +0,0 @@
1
- <div class="lines-breadcrumb">
2
- <% root = assemblies.shift %>
3
- <%= link_to translated_attribute(root.title), assembly_path(root) %>
4
-
5
- <% assemblies.each do |assembly| %>
6
- <span class="breadcrumb--separator">></span>
7
- <div>
8
- <%= link_to translated_attribute(assembly.title), assembly_path(assembly) %>
9
- </div>
10
- <% end %>
11
- </div>
@@ -1,15 +0,0 @@
1
- <section id="parent-assemblies" class="section row collapse">
2
- <div class="row column">
3
- <div class="flex--sbe">
4
- <h3 id="assemblies-count" class="section-heading collapse">
5
- <%= render partial: "count" %>
6
- </h3>
7
- <%= render partial: "decidim/assemblies/filter_by_type" %>
8
- </div>
9
- <hr class="reset mt-s mb-s">
10
- <%= render partial: "decidim/shared/participatory_space_filters/show" %>
11
- </div>
12
- <div class="row small-up-1 medium-up-2 large-up-3 card-grid">
13
- <%= render(parent_assemblies) %>
14
- </div>
15
- </section>
@@ -1,27 +0,0 @@
1
- <div class="card card--full card--process">
2
- <div class="row collapse card--process__row">
3
- <div class="columns mediumlarge-8 large-6 card--process__column">
4
- <div class="card__content">
5
- <%= link_to assembly_path(promoted_assembly), class: "card__link" do %>
6
- <h2 class="card__title"><%= translated_attribute promoted_assembly.title %></h2>
7
- <% end %>
8
- <%= decidim_sanitize_editor html_truncate(translated_attribute(promoted_assembly.short_description), length: 630, separator: "...") %>
9
- <%= link_to assembly_path(promoted_assembly), class: "button small hollow card__button" do %>
10
- <%= t("assemblies.promoted_assembly.more_info", scope: "layouts.decidim") %>
11
- <% end %>
12
- </div>
13
- </div>
14
- <div class="columns mediumlarge-8 large-6 card--process__column">
15
- <div class="card--full__image"
16
- style="background-image:url('<%= promoted_assembly.attached_uploader(:hero_image).path %>')">
17
- <div class="card__content row collapse">
18
- <div class="large-6 large-offset-6 columns">
19
- <%= link_to assembly_path(promoted_assembly), class: "button expanded button--sc" do %>
20
- <%= t(promoted_assembly.cta_button_text_key, scope: "layouts.decidim.assemblies.promoted_assembly") %>
21
- <% end %>
22
- </div>
23
- </div>
24
- </div>
25
- </div>
26
- </div>
27
- </div>
@@ -1,27 +0,0 @@
1
- <div class="process-header">
2
- <div class="process-header__inner">
3
- <div class="row column process-header__main"
4
- style="background-image:url('<%= current_participatory_space.attached_uploader(:banner_image).path %>');">
5
- </div>
6
- <div class="process-header__container row collapse column">
7
- <div class="columns mediumlarge-8 process-header__info">
8
- <div>
9
- <h1 class="text-highlight heading2">
10
- <%= translated_attribute(current_participatory_space.title) %>
11
- </h1>
12
- </div>
13
- <div>
14
- <p class="text-highlight heading-small">
15
- <% if current_participatory_space.hashtag.present? %>
16
- <span class="process-header__hashtag">
17
- <%= link_to "##{current_participatory_space.hashtag}", twitter_hashtag_url(current_participatory_space.hashtag), target: "_blank" %>
18
- </span>
19
- <% end %>
20
- <%= translated_attribute(current_participatory_space.subtitle) %>
21
- </p>
22
- </div>
23
- </div>
24
- </div>
25
- </div>
26
- <%= render partial: "layouts/decidim/assembly_navigation", locals: { participatory_space: current_participatory_space } %>
27
- </div>
@@ -1,24 +0,0 @@
1
- <%
2
- components = participatory_space.components.published.or(Decidim::Component.where(id: self.try(:current_component)))
3
- %>
4
-
5
- <%=
6
- extended_navigation_bar(([
7
- {
8
- name: t(".assembly_menu_item"),
9
- url: decidim_assemblies.assembly_path(current_participatory_space),
10
- active: is_active_link?(decidim_assemblies.assembly_path(current_participatory_space), :exclusive)
11
- },
12
- participatory_space.members.not_ceased.any? ? {
13
- name: t(".assembly_member_menu_item"),
14
- url: decidim_assemblies.assembly_assembly_members_path(current_participatory_space),
15
- active: is_active_link?(decidim_assemblies.assembly_assembly_members_path(current_participatory_space), :inclusive)
16
- } : nil
17
- ] + components.map do |component|
18
- {
19
- name: translated_attribute(component.name),
20
- url: main_component_path(component),
21
- active: is_active_link?(main_component_path(component), :inclusive)
22
- }
23
- end).compact)
24
- %>