decidim-participatory_processes 0.26.4 → 0.27.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -4
  3. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/filters.erb +3 -3
  4. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/show.erb +1 -0
  5. data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes_cell.rb +6 -11
  6. data/app/cells/decidim/participatory_process_groups/content_blocks/title_cell.rb +1 -8
  7. data/app/cells/decidim/participatory_process_groups/process_filters_cell.rb +15 -18
  8. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/show.erb +1 -1
  9. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/single_process.erb +1 -1
  10. data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes_cell.rb +1 -1
  11. data/app/cells/decidim/participatory_processes/filtered_participatory_processes_cell.rb +11 -7
  12. data/app/cells/decidim/participatory_processes/process_filters/show.erb +13 -9
  13. data/app/cells/decidim/participatory_processes/process_filters/type_filter.erb +17 -0
  14. data/app/cells/decidim/participatory_processes/process_filters_cell.rb +50 -16
  15. data/app/cells/decidim/participatory_processes/process_group_s/image.erb +1 -1
  16. data/app/cells/decidim/participatory_processes/process_s/image.erb +1 -1
  17. data/app/commands/decidim/participatory_processes/admin/activate_participatory_process_step.rb +1 -1
  18. data/app/commands/decidim/participatory_processes/admin/copy_participatory_process.rb +11 -8
  19. data/app/commands/decidim/participatory_processes/admin/create_participatory_process.rb +2 -1
  20. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_group.rb +1 -1
  21. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_step.rb +1 -1
  22. data/app/commands/decidim/participatory_processes/admin/create_participatory_process_type.rb +47 -0
  23. data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_admin.rb +1 -1
  24. data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_group.rb +1 -1
  25. data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_step.rb +1 -1
  26. data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_type.rb +49 -0
  27. data/app/commands/decidim/participatory_processes/admin/import_participatory_process.rb +9 -6
  28. data/app/commands/decidim/participatory_processes/admin/notify_role_assigned_to_participatory_process.rb +1 -1
  29. data/app/commands/decidim/participatory_processes/admin/publish_participatory_process.rb +1 -1
  30. data/app/commands/decidim/participatory_processes/admin/reorder_participatory_process_steps.rb +1 -1
  31. data/app/commands/decidim/participatory_processes/admin/unpublish_participatory_process.rb +1 -1
  32. data/app/commands/decidim/participatory_processes/admin/update_participatory_process.rb +2 -1
  33. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_group.rb +1 -1
  34. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_step.rb +1 -1
  35. data/app/commands/decidim/participatory_processes/admin/update_participatory_process_type.rb +49 -0
  36. data/app/controllers/decidim/participatory_processes/admin/participatory_process_copies_controller.rb +1 -1
  37. data/app/controllers/decidim/participatory_processes/admin/participatory_process_types_controller.rb +98 -0
  38. data/app/controllers/decidim/participatory_processes/admin/reminders_controller.rb +14 -0
  39. data/app/controllers/decidim/participatory_processes/participatory_processes_controller.rb +8 -7
  40. data/app/events/decidim/participatory_process_role_assigned_event.rb +1 -1
  41. data/app/forms/decidim/participatory_processes/admin/participatory_process_form.rb +16 -0
  42. data/app/forms/decidim/participatory_processes/admin/participatory_process_import_form.rb +5 -7
  43. data/app/forms/decidim/participatory_processes/admin/participatory_process_type_form.rb +20 -0
  44. data/app/models/decidim/participatory_process.rb +35 -6
  45. data/app/models/decidim/participatory_process_type.rb +27 -0
  46. data/app/permissions/decidim/participatory_processes/permissions.rb +14 -0
  47. data/app/presenters/decidim/log/value_types/participatory_process_type_presenter.rb +27 -0
  48. data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_presenter.rb +3 -2
  49. data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_type_presenter.rb +38 -0
  50. data/app/presenters/decidim/participatory_processes/participatory_process_group_stats_presenter.rb +4 -1
  51. data/app/presenters/decidim/participatory_processes/participatory_process_metric_charts_presenter.rb +5 -1
  52. data/app/presenters/decidim/participatory_processes/participatory_process_stats_presenter.rb +4 -1
  53. data/app/queries/decidim/participatory_processes/admin/admin_users.rb +1 -1
  54. data/app/queries/decidim/participatory_processes/admin/moderators.rb +1 -1
  55. data/app/queries/decidim/participatory_processes/filtered_participatory_process_groups.rb +1 -1
  56. data/app/queries/decidim/participatory_processes/filtered_participatory_processes.rb +1 -1
  57. data/app/queries/decidim/participatory_processes/group_participatory_processes.rb +1 -1
  58. data/app/queries/decidim/participatory_processes/group_published_participatory_processes.rb +2 -2
  59. data/app/queries/decidim/participatory_processes/highlighted_participatory_processes.rb +1 -1
  60. data/app/queries/decidim/participatory_processes/organization_participatory_process_groups.rb +1 -1
  61. data/app/queries/decidim/participatory_processes/organization_participatory_processes.rb +1 -1
  62. data/app/queries/decidim/participatory_processes/organization_prioritized_participatory_process_groups.rb +2 -2
  63. data/app/queries/decidim/participatory_processes/organization_prioritized_participatory_processes.rb +2 -2
  64. data/app/queries/decidim/participatory_processes/organization_promoted_participatory_process_groups.rb +1 -1
  65. data/app/queries/decidim/participatory_processes/organization_published_participatory_processes.rb +2 -2
  66. data/app/queries/decidim/participatory_processes/participatory_processes_by_group.rb +1 -1
  67. data/app/queries/decidim/participatory_processes/prioritized_participatory_processes.rb +1 -1
  68. data/app/queries/decidim/participatory_processes/promoted_participatory_process_groups.rb +1 -1
  69. data/app/queries/decidim/participatory_processes/promoted_participatory_processes.rb +1 -1
  70. data/app/queries/decidim/participatory_processes/published_participatory_processes.rb +1 -1
  71. data/app/queries/decidim/participatory_processes/stats_followers_count.rb +2 -2
  72. data/app/queries/decidim/participatory_processes/stats_participants_count.rb +2 -2
  73. data/app/queries/decidim/participatory_processes/visible_participatory_process_groups.rb +1 -1
  74. data/app/queries/decidim/participatory_processes/visible_participatory_processes.rb +1 -1
  75. data/app/serializers/decidim/participatory_processes/participatory_process_importer.rb +4 -5
  76. data/app/views/decidim/participatory_processes/admin/participatory_process_types/_form.html.erb +11 -0
  77. data/app/views/decidim/participatory_processes/admin/participatory_process_types/edit.html.erb +9 -0
  78. data/app/views/decidim/participatory_processes/admin/participatory_process_types/index.html.erb +60 -0
  79. data/app/views/decidim/participatory_processes/admin/participatory_process_types/new.html.erb +9 -0
  80. data/app/views/decidim/participatory_processes/admin/participatory_processes/_form.html.erb +10 -0
  81. data/app/views/decidim/participatory_processes/participatory_process_groups/show.html.erb +3 -1
  82. data/app/views/decidim/participatory_processes/participatory_process_groups/show.js.erb +9 -6
  83. data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb +1 -1
  84. data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process_group.html.erb +1 -1
  85. data/app/views/decidim/participatory_processes/participatory_processes/index.html.erb +3 -1
  86. data/app/views/decidim/participatory_processes/participatory_processes/index.js.erb +3 -1
  87. data/app/views/layouts/decidim/_process_header.html.erb +1 -1
  88. data/app/views/layouts/decidim/admin/participatory_process_type.html.erb +15 -0
  89. data/config/locales/am-ET.yml +1 -0
  90. data/config/locales/ar.yml +1 -0
  91. data/config/locales/bg.yml +1 -0
  92. data/config/locales/ca.yml +43 -1
  93. data/config/locales/cs.yml +52 -10
  94. data/config/locales/da.yml +1 -0
  95. data/config/locales/de.yml +1 -6
  96. data/config/locales/el.yml +1 -6
  97. data/config/locales/en.yml +42 -1
  98. data/config/locales/eo.yml +1 -0
  99. data/config/locales/es-MX.yml +43 -1
  100. data/config/locales/es-PY.yml +43 -1
  101. data/config/locales/es.yml +43 -1
  102. data/config/locales/et.yml +1 -0
  103. data/config/locales/eu.yml +1 -6
  104. data/config/locales/fi-plain.yml +43 -1
  105. data/config/locales/fi.yml +43 -1
  106. data/config/locales/fr-CA.yml +43 -1
  107. data/config/locales/fr.yml +44 -2
  108. data/config/locales/ga-IE.yml +1 -0
  109. data/config/locales/gl.yml +1 -6
  110. data/config/locales/hr.yml +1 -0
  111. data/config/locales/hu.yml +3 -79
  112. data/config/locales/id-ID.yml +1 -0
  113. data/config/locales/is-IS.yml +2 -1
  114. data/config/locales/it.yml +1 -6
  115. data/config/locales/ja.yml +43 -1
  116. data/config/locales/ko.yml +1 -0
  117. data/config/locales/lb.yml +1 -6
  118. data/config/locales/lt.yml +1 -504
  119. data/config/locales/lv.yml +1 -6
  120. data/config/locales/mt.yml +1 -0
  121. data/config/locales/nl.yml +1 -6
  122. data/config/locales/no.yml +17 -6
  123. data/config/locales/om-ET.yml +1 -0
  124. data/config/locales/pl.yml +7 -6
  125. data/config/locales/pt-BR.yml +2 -7
  126. data/config/locales/pt.yml +1 -6
  127. data/config/locales/ro-RO.yml +1 -6
  128. data/config/locales/ru.yml +1 -0
  129. data/config/locales/si-LK.yml +1 -0
  130. data/config/locales/sk.yml +1 -6
  131. data/config/locales/sl.yml +1 -0
  132. data/config/locales/so-SO.yml +1 -0
  133. data/config/locales/sr-CS.yml +1 -0
  134. data/config/locales/sv.yml +15 -6
  135. data/config/locales/sw-KE.yml +1 -0
  136. data/config/locales/ti-ER.yml +1 -0
  137. data/config/locales/tr-TR.yml +1 -6
  138. data/config/locales/uk.yml +1 -0
  139. data/config/locales/val-ES.yml +1 -0
  140. data/config/locales/vi.yml +1 -0
  141. data/config/locales/zh-CN.yml +1 -6
  142. data/config/locales/zh-TW.yml +1 -0
  143. data/db/migrate/20211125202008_create_decidim_participatory_process_types.rb +22 -0
  144. data/lib/decidim/api/participatory_process_type_type.rb +17 -0
  145. data/lib/decidim/participatory_processes/admin_engine.rb +12 -1
  146. data/lib/decidim/participatory_processes/api.rb +1 -0
  147. data/lib/decidim/participatory_processes/participatory_space.rb +17 -8
  148. data/lib/decidim/participatory_processes/query_extensions.rb +22 -0
  149. data/lib/decidim/participatory_processes/test/factories.rb +17 -1
  150. data/lib/decidim/participatory_processes/version.rb +1 -1
  151. metadata +31 -18
  152. data/app/services/decidim/participatory_processes/participatory_process_search.rb +0 -27
  153. data/config/locales/gn-PY.yml +0 -1
  154. data/config/locales/lo-LA.yml +0 -1
  155. data/config/locales/oc-FR.yml +0 -1
@@ -5,7 +5,7 @@ module Decidim
5
5
  module Admin
6
6
  # A class used to find the admins for a participatory process including
7
7
  # organization admins.
8
- class AdminUsers < Rectify::Query
8
+ class AdminUsers < Decidim::Query
9
9
  # Syntactic sugar to initialize the class and return the queried objects.
10
10
  #
11
11
  # process - a process that needs to find its process admins
@@ -5,7 +5,7 @@ module Decidim
5
5
  module Admin
6
6
  # A class used to find the users that can moderate the participatory
7
7
  # process.
8
- class Moderators < Rectify::Query
8
+ class Moderators < Decidim::Query
9
9
  # Syntactic sugar to initialize the class and return the queried objects.
10
10
  #
11
11
  # process - a process that needs to find its moderators
@@ -5,7 +5,7 @@ module Decidim
5
5
  # This query class filters participatory processes groups given a filter name.
6
6
  # The filter is applied checking the start and end dates of the processes in
7
7
  # the group.
8
- class FilteredParticipatoryProcessGroups < Rectify::Query
8
+ class FilteredParticipatoryProcessGroups < Decidim::Query
9
9
  def initialize(filter = "active")
10
10
  @filter = filter
11
11
  end
@@ -4,7 +4,7 @@ module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query class filters participatory processes given a filter name.
6
6
  # It uses the start and end dates to select the correct processes.
7
- class FilteredParticipatoryProcesses < Rectify::Query
7
+ class FilteredParticipatoryProcesses < Decidim::Query
8
8
  def initialize(filter = "active")
9
9
  @filter = filter
10
10
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query class filters all processes of a participatory process group
6
- class GroupParticipatoryProcesses < Rectify::Query
6
+ class GroupParticipatoryProcesses < Decidim::Query
7
7
  def initialize(group)
8
8
  @group = group
9
9
  end
@@ -3,14 +3,14 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query class filters published processes of a participatory process group
6
- class GroupPublishedParticipatoryProcesses < Rectify::Query
6
+ class GroupPublishedParticipatoryProcesses < Decidim::Query
7
7
  def initialize(group, user = nil)
8
8
  @group = group
9
9
  @user = user
10
10
  end
11
11
 
12
12
  def query
13
- Rectify::Query.merge(
13
+ Decidim::Query.merge(
14
14
  GroupParticipatoryProcesses.new(@group),
15
15
  VisibleParticipatoryProcesses.new(@user),
16
16
  PublishedParticipatoryProcesses.new
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query selects some prioritized processes.
6
- class HighlightedParticipatoryProcesses < Rectify::Query
6
+ class HighlightedParticipatoryProcesses < Decidim::Query
7
7
  def query
8
8
  PrioritizedParticipatoryProcesses.new.query.limit(8)
9
9
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query class filters participatory process groups given an organization.
6
- class OrganizationParticipatoryProcessGroups < Rectify::Query
6
+ class OrganizationParticipatoryProcessGroups < Decidim::Query
7
7
  def initialize(organization)
8
8
  @organization = organization
9
9
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query class filters all processes given an organization.
6
- class OrganizationParticipatoryProcesses < Rectify::Query
6
+ class OrganizationParticipatoryProcesses < Decidim::Query
7
7
  def initialize(organization)
8
8
  @organization = organization
9
9
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query class filters participatory process groups given an organization and a filter.
6
- class OrganizationPrioritizedParticipatoryProcessGroups < Rectify::Query
6
+ class OrganizationPrioritizedParticipatoryProcessGroups < Decidim::Query
7
7
  def initialize(organization, filter = "active", user = nil)
8
8
  @organization = organization
9
9
  @filter = filter
@@ -11,7 +11,7 @@ module Decidim
11
11
  end
12
12
 
13
13
  def query
14
- Rectify::Query.merge(
14
+ Decidim::Query.merge(
15
15
  OrganizationParticipatoryProcessGroups.new(@organization),
16
16
  FilteredParticipatoryProcessGroups.new(@filter),
17
17
  VisibleParticipatoryProcessGroups.new(@user)
@@ -4,7 +4,7 @@ module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query class filters public processes given an organization and a
6
6
  # filter in a meaningful prioritized order.
7
- class OrganizationPrioritizedParticipatoryProcesses < Rectify::Query
7
+ class OrganizationPrioritizedParticipatoryProcesses < Decidim::Query
8
8
  def initialize(organization, filter = "active", user = nil)
9
9
  @organization = organization
10
10
  @filter = filter
@@ -12,7 +12,7 @@ module Decidim
12
12
  end
13
13
 
14
14
  def query
15
- Rectify::Query.merge(
15
+ Decidim::Query.merge(
16
16
  OrganizationPublishedParticipatoryProcesses.new(@organization, @user),
17
17
  PrioritizedParticipatoryProcesses.new,
18
18
  FilteredParticipatoryProcesses.new(@filter)
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query class filters participatory process groups given an organization.
6
- class OrganizationPromotedParticipatoryProcessGroups < Rectify::Query
6
+ class OrganizationPromotedParticipatoryProcessGroups < Decidim::Query
7
7
  def initialize(organization)
8
8
  @organization = organization
9
9
  end
@@ -3,14 +3,14 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query class filters published processes given an organization.
6
- class OrganizationPublishedParticipatoryProcesses < Rectify::Query
6
+ class OrganizationPublishedParticipatoryProcesses < Decidim::Query
7
7
  def initialize(organization, user = nil)
8
8
  @organization = organization
9
9
  @user = user
10
10
  end
11
11
 
12
12
  def query
13
- Rectify::Query.merge(
13
+ Decidim::Query.merge(
14
14
  OrganizationParticipatoryProcesses.new(@organization),
15
15
  VisibleParticipatoryProcesses.new(@user),
16
16
  PublishedParticipatoryProcesses.new
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # A class used to find the ParticipatoryProcesses from a ProcessGroup.
6
- class ParticipatoryProcessesByGroup < Rectify::Query
6
+ class ParticipatoryProcessesByGroup < Decidim::Query
7
7
  # Syntactic sugar to initialize the class and return the queried objects.
8
8
  def self.for(process_group)
9
9
  new(process_group).query
@@ -4,7 +4,7 @@ module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query orders processes by importance, prioritizing promoted processes
6
6
  # first, and closest to finalization date second.
7
- class PrioritizedParticipatoryProcesses < Rectify::Query
7
+ class PrioritizedParticipatoryProcesses < Decidim::Query
8
8
  def query
9
9
  Decidim::ParticipatoryProcess.order(promoted: :desc).includes(:active_step).order("decidim_participatory_process_steps.end_date ASC")
10
10
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query filters participatory process groups so only promoted ones are returned.
6
- class PromotedParticipatoryProcessGroups < Rectify::Query
6
+ class PromotedParticipatoryProcessGroups < Decidim::Query
7
7
  def query
8
8
  Decidim::ParticipatoryProcessGroup.promoted
9
9
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query filters processes so only promoted ones are returned.
6
- class PromotedParticipatoryProcesses < Rectify::Query
6
+ class PromotedParticipatoryProcesses < Decidim::Query
7
7
  def query
8
8
  Decidim::ParticipatoryProcess.promoted
9
9
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query filters published processes only.
6
- class PublishedParticipatoryProcesses < Rectify::Query
6
+ class PublishedParticipatoryProcesses < Decidim::Query
7
7
  def query
8
8
  Decidim::ParticipatoryProcess.published
9
9
  end
@@ -4,10 +4,10 @@ module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This class counts all Followers of a participatory process or
6
6
  # participatory processes belonging to a participatory process group
7
- class StatsFollowersCount < Rectify::Query
7
+ class StatsFollowersCount < Decidim::Query
8
8
  def self.for(participatory_space)
9
9
  return 0 unless participatory_space.is_a?(Decidim::ParticipatoryProcess) ||
10
- participatory_space.is_a?(Decidim::ParticipatoryProcessGroup) && participatory_space.participatory_processes.exists?
10
+ (participatory_space.is_a?(Decidim::ParticipatoryProcessGroup) && participatory_space.participatory_processes.exists?)
11
11
 
12
12
  new(participatory_space).query
13
13
  end
@@ -4,10 +4,10 @@ module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This class counts unique Participants on a participatory process or
6
6
  # participatory processes belonging to a participatory process group
7
- class StatsParticipantsCount < Rectify::Query
7
+ class StatsParticipantsCount < Decidim::Query
8
8
  def self.for(participatory_space)
9
9
  return 0 unless participatory_space.is_a?(Decidim::ParticipatoryProcess) ||
10
- participatory_space.is_a?(Decidim::ParticipatoryProcessGroup) && participatory_space.participatory_processes.exists?
10
+ (participatory_space.is_a?(Decidim::ParticipatoryProcessGroup) && participatory_space.participatory_processes.exists?)
11
11
 
12
12
  new(participatory_space).query
13
13
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query class filters participatory processes given a current_user.
6
- class VisibleParticipatoryProcessGroups < Rectify::Query
6
+ class VisibleParticipatoryProcessGroups < Decidim::Query
7
7
  def initialize(current_user)
8
8
  @current_user = current_user
9
9
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module ParticipatoryProcesses
5
5
  # This query class filters participatory processes given a current_user.
6
- class VisibleParticipatoryProcesses < Rectify::Query
6
+ class VisibleParticipatoryProcesses < Decidim::Query
7
7
  def initialize(current_user)
8
8
  @current_user = current_user
9
9
  end
@@ -44,9 +44,8 @@ module Decidim
44
44
  scopes_enabled: attributes["scopes_enabled"],
45
45
  participatory_process_group: import_process_group(attributes["participatory_process_group"])
46
46
  )
47
- @imported_process.attached_uploader(:hero_image).remote_url = attributes["remote_hero_image_url"] if attributes["remote_hero_image_url"].present?
48
- @imported_process.attached_uploader(:banner_image).remote_url = attributes["remote_banner_image_url"] if attributes["remote_banner_image_url"].present?
49
-
47
+ @imported_process.remote_hero_image_url = attributes["remote_hero_image_url"] if remote_file_exists?(attributes["remote_hero_image_url"])
48
+ @imported_process.remote_banner_image_url = attributes["remote_banner_image_url"] if remote_file_exists?(attributes["remote_banner_image_url"])
50
49
  @imported_process.save!
51
50
  @imported_process
52
51
  end
@@ -55,7 +54,7 @@ module Decidim
55
54
  def import_process_group(attributes)
56
55
  Decidim.traceability.perform_action!("create", ParticipatoryProcessGroup, @user) do
57
56
  group = ParticipatoryProcessGroup.find_or_initialize_by(
58
- title: attributes["title"] || attributes["name"],
57
+ title: attributes["title"],
59
58
  description: attributes["description"],
60
59
  organization: @organization
61
60
  )
@@ -117,7 +116,7 @@ module Decidim
117
116
  attachments["files"].map do |file|
118
117
  next unless remote_file_exists?(file["remote_file_url"])
119
118
 
120
- file_tmp = URI.open(file["remote_file_url"])
119
+ file_tmp = URI.parse(file["remote_file_url"]).open
121
120
 
122
121
  Decidim.traceability.perform_action!("create", Attachment, @user) do
123
122
  attachment = Attachment.new(
@@ -0,0 +1,11 @@
1
+ <div class="card">
2
+ <div class="card-divider">
3
+ <h2 class="card-title"><%= t("participatory_process_types.form.title", scope: "decidim.admin") %></h2>
4
+ </div>
5
+
6
+ <div class="card-section">
7
+ <div class="row column">
8
+ <%= form.translated :text_field, :title, autofocus: true %>
9
+ </div>
10
+ </div>
11
+ </div>
@@ -0,0 +1,9 @@
1
+ <%= decidim_form_for(@form, html: { class: "form edit_participatory_process_type" }) do |f| %>
2
+ <h2 class="process-title-summary">
3
+ <%= t("participatory_process_types.edit.title", scope: "decidim.admin") %>
4
+ </h2>
5
+ <%= render partial: "form", object: f %>
6
+ <div class="button--double form-general-submit">
7
+ <%= f.submit t("participatory_process_types.edit.update", scope: "decidim.admin"), class: "button" %>
8
+ </div>
9
+ <% end %>
@@ -0,0 +1,60 @@
1
+ <div class="card" id="participatory-process-types">
2
+ <div class="card-divider">
3
+ <h2 class="card-title">
4
+ <%= t("titles.participatory_process_types", scope: "decidim.admin") %>
5
+ <%= link_to(
6
+ t("actions.new_process_type", scope: "decidim.admin"),
7
+ [:new, :participatory_process_type],
8
+ class: "button tiny button--title"
9
+ ) if allowed_to? :create, :participatory_process_type %>
10
+ </h2>
11
+ </div>
12
+ <div class="card-section">
13
+ <div class="table-scroll">
14
+ <table class="table-list">
15
+ <thead>
16
+ <tr>
17
+ <th><%= t("models.participatory_process_type.fields.title", scope: "decidim.admin") %></th>
18
+ <th><%= t("models.participatory_process_type.fields.created_at", scope: "decidim.admin") %></th>
19
+ <th></th>
20
+ </tr>
21
+ </thead>
22
+ <tbody>
23
+ <% collection.each do |participatory_process_type| %>
24
+ <tr>
25
+ <td>
26
+ <% if allowed_to?(:update, :participatory_process_type, participatory_process_type: participatory_process_type) %>
27
+ <%= link_to(
28
+ translated_attribute(participatory_process_type.title),
29
+ edit_participatory_process_type_path(participatory_process_type)
30
+ ) %>
31
+ <% else %>
32
+ <%= translated_attribute(participatory_process_type.title) %></td>
33
+ <% end %>
34
+ <td><%= l(participatory_process_type.created_at, format: :short) %></td>
35
+ <td class="table-list__actions">
36
+ <% if allowed_to?(:update, :participatory_process_type, participatory_process_type: participatory_process_type) %>
37
+ <%= icon_link_to(
38
+ "pencil",
39
+ edit_participatory_process_type_path(participatory_process_type),
40
+ t("actions.edit", scope: "decidim.admin"),
41
+ class: "action-icon--new"
42
+ ) %>
43
+ <% end %>
44
+ <% if allowed_to?(:destroy, :participatory_process_type, participatory_process_type: participatory_process_type) %>
45
+ <%= icon_link_to(
46
+ "circle-x",
47
+ participatory_process_type_path(participatory_process_type),
48
+ t("actions.destroy", scope: "decidim.admin"),
49
+ class: "action-icon--remove",
50
+ method: :delete,
51
+ data: { confirm: t("actions.confirm_destroy", scope: "decidim.admin") }
52
+ ) %>
53
+ <% end %>
54
+ </td>
55
+ <% end %>
56
+ </tbody>
57
+ </table>
58
+ </div>
59
+ </div>
60
+ </div>
@@ -0,0 +1,9 @@
1
+ <%= decidim_form_for(@form, html: { class: "form new_participatory_process_type" }) do |f| %>
2
+ <h2 class="process-title-summary">
3
+ <%= t("participatory_process_types.new.title", scope: "decidim.admin") %>
4
+ </h2>
5
+ <%= render partial: "form", object: f %>
6
+ <div class="button--double form-general-submit">
7
+ <%= f.submit t("participatory_process_types.new.create", scope: "decidim.admin"), class: "button" %>
8
+ </div>
9
+ <% end %>
@@ -188,6 +188,16 @@
188
188
  <div class="row column">
189
189
  <%= form.check_box :show_metrics %>
190
190
  </div>
191
+
192
+ <% if @form.participatory_process_types_for_select.present? %>
193
+ <div class="row column">
194
+ <%= form.select(
195
+ :participatory_process_type_id,
196
+ @form.participatory_process_types_for_select,
197
+ include_blank: t(".select_participatory_process_type")
198
+ ) %>
199
+ </div>
200
+ <% end %>
191
201
  </div>
192
202
  </div>
193
203
 
@@ -19,4 +19,6 @@
19
19
  </div>
20
20
  </div>
21
21
 
22
- <%= javascript_pack_tag "decidim_participatory_processes" %>
22
+ <% content_for :js_content do %>
23
+ <%= javascript_pack_tag "decidim_participatory_processes" %>
24
+ <% end %>
@@ -1,12 +1,15 @@
1
1
  var $grid = $('#processes-grid');
2
- var $assembliesFilter = $('#processes-filter');
2
+ var $order_by_filters = $grid.find('.processes-grid-order-by');
3
+ var $loading = $grid.find('.loading');
3
4
 
4
5
  $grid.find('.card-grid').html('<%= j(cell(
5
6
  "decidim/participatory_processes/filtered_participatory_processes",
6
7
  participatory_processes
7
8
  ).show).strip.html_safe %>');
8
- $grid.find('.processes-grid-order-by').html('<%= j(cell(
9
- "decidim/participatory_process_groups/process_filters",
10
- group,
11
- base_relation: participatory_processes
12
- ).show).strip.html_safe %>');
9
+ $order_by_filters.html('<%= j(cell(
10
+ "decidim/participatory_process_groups/process_filters",
11
+ group,
12
+ base_relation: participatory_processes
13
+ ).show).strip.html_safe %>');
14
+ $order_by_filters.foundation();
15
+ $loading.hide();
@@ -14,7 +14,7 @@
14
14
  </div>
15
15
  <div class="columns mediumlarge-8 large-6 card--process__column">
16
16
  <div class="card--full__image"
17
- style="background-image:url('<%= promoted_process.attached_uploader(:hero_image).path %>')">
17
+ style="background-image:url(<%= promoted_process.attached_uploader(:hero_image).path %>)">
18
18
  <div class="card__content row collapse">
19
19
  <div class="large-6 large-offset-6 columns">
20
20
  <%= link_to participatory_process_cta_path(promoted_process), class: "button expanded button--sc" do %>
@@ -14,7 +14,7 @@
14
14
  </div>
15
15
  </div>
16
16
  <div class="columns mediumlarge-8 large-6 card--process__column">
17
- <div class="card--full__image" style="background-image:url('<%= cta_settings&.image_url || promoted_process_group.attached_uploader(:hero_image).path %>')">
17
+ <div class="card--full__image" style="background-image:url(<%= cta_settings&.image_url || promoted_process_group.attached_uploader(:hero_image).path %>)">
18
18
  <% if cta_settings.present? %>
19
19
  <div class="card__content row collapse">
20
20
  <div class="large-6 large-offset-6 columns">
@@ -30,4 +30,6 @@ edit_link(
30
30
  </section>
31
31
  <% end %>
32
32
 
33
- <%= javascript_pack_tag "decidim_participatory_processes" %>
33
+ <% content_for :js_content do %>
34
+ <%= javascript_pack_tag "decidim_participatory_processes" %>
35
+ <% end %>
@@ -1,6 +1,8 @@
1
1
  var $grid = $('#processes-grid');
2
+ var $order_by_filters = $grid.find('.processes-grid-order-by');
2
3
  var $loading = $grid.find('.loading');
3
4
 
4
5
  $grid.find('.card-grid').html('<%= j(render(collection)).strip.html_safe %>');
5
- $grid.find('.processes-grid-order-by').html('<%= j(render(partial: "decidim/participatory_processes/participatory_processes/order_by_processes", locals: { include_filter: true })).strip.html_safe %>');
6
+ $order_by_filters.html('<%= j(render(partial: "decidim/participatory_processes/participatory_processes/order_by_processes", locals: { include_filter: true })).strip.html_safe %>');
7
+ $order_by_filters.foundation();
6
8
  $loading.hide();
@@ -1,7 +1,7 @@
1
1
  <div class="process-header">
2
2
  <div class="process-header__inner">
3
3
  <div class="row column process-header__main"
4
- style="background-image:url('<%= current_participatory_space.attached_uploader(:banner_image).path %>');">
4
+ style="background-image:url(<%= current_participatory_space.attached_uploader(:banner_image).path %>);">
5
5
  </div>
6
6
  <div class="process-header__container row collapse column">
7
7
  <div class="columns mediumlarge-8 process-header__info">
@@ -0,0 +1,15 @@
1
+ <% content_for :sidebar_menu_nav do %>
2
+ <%= sidebar_menu(:admin_participatory_processes_menu).render %>
3
+ <% end %>
4
+
5
+ <%= render "layouts/decidim/admin/application" do %>
6
+ <div class="process-title">
7
+ <div class="process-title-content">
8
+ <%= link_to t("decidim.admin.titles.participatory_processes"), decidim_participatory_processes.participatory_processes_path, target: "_blank" %>
9
+ </div>
10
+ </div>
11
+
12
+ <div class="process-content">
13
+ <%= yield %>
14
+ </div>
15
+ <% end %>
@@ -1 +1,2 @@
1
+ ---
1
2
  am:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ar:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  bg:
2
3
  activemodel:
3
4
  attributes: