decidim-participatory_processes 0.26.5 → 0.27.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +0 -4
- data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/filters.erb +3 -3
- data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes/show.erb +1 -0
- data/app/cells/decidim/participatory_process_groups/content_blocks/highlighted_participatory_processes_cell.rb +6 -11
- data/app/cells/decidim/participatory_process_groups/content_blocks/title_cell.rb +1 -8
- data/app/cells/decidim/participatory_process_groups/process_filters_cell.rb +15 -18
- data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/show.erb +1 -1
- data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes/single_process.erb +1 -1
- data/app/cells/decidim/participatory_processes/content_blocks/highlighted_processes_cell.rb +1 -1
- data/app/cells/decidim/participatory_processes/filtered_participatory_processes_cell.rb +11 -7
- data/app/cells/decidim/participatory_processes/process_filters/show.erb +13 -9
- data/app/cells/decidim/participatory_processes/process_filters/type_filter.erb +17 -0
- data/app/cells/decidim/participatory_processes/process_filters_cell.rb +50 -16
- data/app/cells/decidim/participatory_processes/process_group_s/image.erb +1 -1
- data/app/cells/decidim/participatory_processes/process_s/image.erb +1 -1
- data/app/commands/decidim/participatory_processes/admin/activate_participatory_process_step.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/copy_participatory_process.rb +11 -8
- data/app/commands/decidim/participatory_processes/admin/create_participatory_process.rb +2 -1
- data/app/commands/decidim/participatory_processes/admin/create_participatory_process_group.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/create_participatory_process_step.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/create_participatory_process_type.rb +47 -0
- data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_admin.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_group.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_step.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_type.rb +49 -0
- data/app/commands/decidim/participatory_processes/admin/import_participatory_process.rb +9 -6
- data/app/commands/decidim/participatory_processes/admin/notify_role_assigned_to_participatory_process.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/publish_participatory_process.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/reorder_participatory_process_steps.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/unpublish_participatory_process.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/update_participatory_process.rb +2 -1
- data/app/commands/decidim/participatory_processes/admin/update_participatory_process_group.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/update_participatory_process_step.rb +1 -1
- data/app/commands/decidim/participatory_processes/admin/update_participatory_process_type.rb +49 -0
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_copies_controller.rb +1 -1
- data/app/controllers/decidim/participatory_processes/admin/participatory_process_types_controller.rb +98 -0
- data/app/controllers/decidim/participatory_processes/admin/reminders_controller.rb +14 -0
- data/app/controllers/decidim/participatory_processes/participatory_processes_controller.rb +8 -7
- data/app/events/decidim/participatory_process_role_assigned_event.rb +1 -1
- data/app/forms/decidim/participatory_processes/admin/participatory_process_form.rb +16 -0
- data/app/forms/decidim/participatory_processes/admin/participatory_process_import_form.rb +5 -7
- data/app/forms/decidim/participatory_processes/admin/participatory_process_type_form.rb +20 -0
- data/app/helpers/decidim/participatory_processes/participatory_process_helper.rb +2 -2
- data/app/models/decidim/participatory_process.rb +35 -6
- data/app/models/decidim/participatory_process_type.rb +27 -0
- data/app/permissions/decidim/participatory_processes/permissions.rb +14 -0
- data/app/presenters/decidim/log/value_types/participatory_process_type_presenter.rb +27 -0
- data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_presenter.rb +3 -2
- data/app/presenters/decidim/participatory_processes/admin_log/participatory_process_type_presenter.rb +38 -0
- data/app/presenters/decidim/participatory_processes/participatory_process_group_stats_presenter.rb +4 -1
- data/app/presenters/decidim/participatory_processes/participatory_process_metric_charts_presenter.rb +5 -1
- data/app/presenters/decidim/participatory_processes/participatory_process_stats_presenter.rb +4 -1
- data/app/queries/decidim/participatory_processes/admin/admin_users.rb +1 -1
- data/app/queries/decidim/participatory_processes/admin/moderators.rb +1 -1
- data/app/queries/decidim/participatory_processes/filtered_participatory_process_groups.rb +1 -1
- data/app/queries/decidim/participatory_processes/filtered_participatory_processes.rb +1 -1
- data/app/queries/decidim/participatory_processes/group_participatory_processes.rb +1 -1
- data/app/queries/decidim/participatory_processes/group_published_participatory_processes.rb +2 -2
- data/app/queries/decidim/participatory_processes/highlighted_participatory_processes.rb +1 -1
- data/app/queries/decidim/participatory_processes/organization_participatory_process_groups.rb +1 -1
- data/app/queries/decidim/participatory_processes/organization_participatory_processes.rb +1 -1
- data/app/queries/decidim/participatory_processes/organization_prioritized_participatory_process_groups.rb +2 -2
- data/app/queries/decidim/participatory_processes/organization_prioritized_participatory_processes.rb +2 -2
- data/app/queries/decidim/participatory_processes/organization_promoted_participatory_process_groups.rb +1 -1
- data/app/queries/decidim/participatory_processes/organization_published_participatory_processes.rb +2 -2
- data/app/queries/decidim/participatory_processes/participatory_processes_by_group.rb +1 -1
- data/app/queries/decidim/participatory_processes/prioritized_participatory_processes.rb +1 -1
- data/app/queries/decidim/participatory_processes/promoted_participatory_process_groups.rb +1 -1
- data/app/queries/decidim/participatory_processes/promoted_participatory_processes.rb +1 -1
- data/app/queries/decidim/participatory_processes/published_participatory_processes.rb +1 -1
- data/app/queries/decidim/participatory_processes/stats_followers_count.rb +2 -2
- data/app/queries/decidim/participatory_processes/stats_participants_count.rb +2 -2
- data/app/queries/decidim/participatory_processes/visible_participatory_process_groups.rb +1 -1
- data/app/queries/decidim/participatory_processes/visible_participatory_processes.rb +1 -1
- data/app/serializers/decidim/participatory_processes/participatory_process_importer.rb +4 -5
- data/app/views/decidim/participatory_processes/admin/participatory_process_types/_form.html.erb +11 -0
- data/app/views/decidim/participatory_processes/admin/participatory_process_types/edit.html.erb +9 -0
- data/app/views/decidim/participatory_processes/admin/participatory_process_types/index.html.erb +60 -0
- data/app/views/decidim/participatory_processes/admin/participatory_process_types/new.html.erb +9 -0
- data/app/views/decidim/participatory_processes/admin/participatory_processes/_form.html.erb +10 -0
- data/app/views/decidim/participatory_processes/participatory_process_groups/show.html.erb +3 -1
- data/app/views/decidim/participatory_processes/participatory_process_groups/show.js.erb +9 -6
- data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb +1 -1
- data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process_group.html.erb +1 -1
- data/app/views/decidim/participatory_processes/participatory_processes/index.html.erb +3 -1
- data/app/views/decidim/participatory_processes/participatory_processes/index.js.erb +3 -1
- data/app/views/layouts/decidim/_process_header.html.erb +1 -1
- data/app/views/layouts/decidim/admin/participatory_process_type.html.erb +15 -0
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/ar.yml +1 -0
- data/config/locales/bg.yml +1 -0
- data/config/locales/ca.yml +43 -8
- data/config/locales/cs.yml +52 -17
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +2 -7
- data/config/locales/el.yml +1 -6
- data/config/locales/en.yml +42 -8
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +43 -8
- data/config/locales/es-PY.yml +43 -8
- data/config/locales/es.yml +43 -8
- data/config/locales/et.yml +1 -0
- data/config/locales/eu.yml +12 -17
- data/config/locales/fi-plain.yml +43 -8
- data/config/locales/fi.yml +43 -8
- data/config/locales/fr-CA.yml +43 -8
- data/config/locales/fr.yml +44 -9
- data/config/locales/ga-IE.yml +1 -0
- data/config/locales/gl.yml +1 -6
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +3 -79
- data/config/locales/id-ID.yml +1 -0
- data/config/locales/is-IS.yml +2 -1
- data/config/locales/it.yml +1 -6
- data/config/locales/ja.yml +43 -8
- data/config/locales/ko.yml +1 -0
- data/config/locales/lb.yml +1 -6
- data/config/locales/lt.yml +1 -504
- data/config/locales/lv.yml +1 -6
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +1 -6
- data/config/locales/no.yml +17 -6
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +7 -6
- data/config/locales/pt-BR.yml +2 -7
- data/config/locales/pt.yml +1 -6
- data/config/locales/ro-RO.yml +1 -6
- data/config/locales/ru.yml +1 -0
- data/config/locales/si-LK.yml +1 -0
- data/config/locales/sk.yml +1 -6
- data/config/locales/sl.yml +1 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sr-CS.yml +1 -0
- data/config/locales/sv.yml +15 -9
- data/config/locales/sw-KE.yml +1 -0
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/tr-TR.yml +1 -6
- data/config/locales/uk.yml +1 -0
- data/config/locales/val-ES.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +1 -6
- data/config/locales/zh-TW.yml +1 -0
- data/db/migrate/20211125202008_create_decidim_participatory_process_types.rb +22 -0
- data/lib/decidim/api/participatory_process_type_type.rb +17 -0
- data/lib/decidim/participatory_processes/admin_engine.rb +12 -1
- data/lib/decidim/participatory_processes/api.rb +1 -0
- data/lib/decidim/participatory_processes/participatory_space.rb +17 -8
- data/lib/decidim/participatory_processes/query_extensions.rb +22 -0
- data/lib/decidim/participatory_processes/test/factories.rb +17 -4
- data/lib/decidim/participatory_processes/version.rb +1 -1
- metadata +31 -19
- data/app/services/decidim/participatory_processes/participatory_process_search.rb +0 -27
- data/config/locales/gn-PY.yml +0 -1
- data/config/locales/ka-GE.yml +0 -1
- data/config/locales/lo-LA.yml +0 -1
- data/config/locales/oc-FR.yml +0 -1
data/app/presenters/decidim/participatory_processes/participatory_process_metric_charts_presenter.rb
CHANGED
@@ -4,7 +4,11 @@ module Decidim
|
|
4
4
|
module ParticipatoryProcesses
|
5
5
|
# A presenter to render metrics in ParticipatoryProcesses statistics page
|
6
6
|
class ParticipatoryProcessMetricChartsPresenter < Decidim::MetricChartsPresenter
|
7
|
-
|
7
|
+
delegate :hidden_field_tag, :link_to, :capture, to: :view_context
|
8
|
+
|
9
|
+
def participatory_process
|
10
|
+
__getobj__.fetch(:participatory_process)
|
11
|
+
end
|
8
12
|
|
9
13
|
def params
|
10
14
|
capture do
|
data/app/presenters/decidim/participatory_processes/participatory_process_stats_presenter.rb
CHANGED
@@ -4,9 +4,12 @@ module Decidim
|
|
4
4
|
module ParticipatoryProcesses
|
5
5
|
# A presenter to render statistics in the homepage.
|
6
6
|
class ParticipatoryProcessStatsPresenter < Decidim::StatsPresenter
|
7
|
-
attribute :participatory_process, Decidim::ParticipatoryProcess
|
8
7
|
include Decidim::IconHelper
|
9
8
|
|
9
|
+
def participatory_process
|
10
|
+
__getobj__.fetch(:participatory_process)
|
11
|
+
end
|
12
|
+
|
10
13
|
# Public: returns a collection of stats (Hash) for the Process Home.
|
11
14
|
def collection
|
12
15
|
highlighted_stats = process_participants_stats
|
@@ -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 <
|
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 <
|
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 <
|
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 <
|
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 <
|
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 <
|
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
|
-
|
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 <
|
6
|
+
class HighlightedParticipatoryProcesses < Decidim::Query
|
7
7
|
def query
|
8
8
|
PrioritizedParticipatoryProcesses.new.query.limit(8)
|
9
9
|
end
|
data/app/queries/decidim/participatory_processes/organization_participatory_process_groups.rb
CHANGED
@@ -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 <
|
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 <
|
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 <
|
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
|
-
|
14
|
+
Decidim::Query.merge(
|
15
15
|
OrganizationParticipatoryProcessGroups.new(@organization),
|
16
16
|
FilteredParticipatoryProcessGroups.new(@filter),
|
17
17
|
VisibleParticipatoryProcessGroups.new(@user)
|
data/app/queries/decidim/participatory_processes/organization_prioritized_participatory_processes.rb
CHANGED
@@ -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 <
|
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
|
-
|
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 <
|
6
|
+
class OrganizationPromotedParticipatoryProcessGroups < Decidim::Query
|
7
7
|
def initialize(organization)
|
8
8
|
@organization = organization
|
9
9
|
end
|
data/app/queries/decidim/participatory_processes/organization_published_participatory_processes.rb
CHANGED
@@ -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 <
|
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
|
-
|
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 <
|
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 <
|
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 <
|
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 <
|
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 <
|
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 <
|
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 <
|
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 <
|
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 <
|
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.
|
48
|
-
@imported_process.
|
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"]
|
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.
|
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(
|
data/app/views/decidim/participatory_processes/admin/participatory_process_types/_form.html.erb
ADDED
@@ -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>
|
data/app/views/decidim/participatory_processes/admin/participatory_process_types/edit.html.erb
ADDED
@@ -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 %>
|
data/app/views/decidim/participatory_processes/admin/participatory_process_types/index.html.erb
ADDED
@@ -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
|
|
@@ -1,12 +1,15 @@
|
|
1
1
|
var $grid = $('#processes-grid');
|
2
|
-
var $
|
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
|
-
$
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
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();
|
data/app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb
CHANGED
@@ -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(
|
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(
|
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">
|
@@ -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
|
-
$
|
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(
|
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 %>
|
data/config/locales/am-ET.yml
CHANGED
data/config/locales/ar.yml
CHANGED
data/config/locales/bg.yml
CHANGED