decidim-budgets 0.15.2 → 0.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/queries/decidim/budgets/metrics/budget_followers_metric_measure.rb +31 -0
- data/app/queries/decidim/budgets/metrics/budget_participants_metric_measure.rb +26 -0
- data/app/views/decidim/budgets/projects/show.html.erb +1 -1
- data/db/migrate/20181205141115_use_big_ints_for_budgets.rb +7 -0
- data/lib/decidim/budgets/engine.rb +10 -0
- data/lib/decidim/budgets/version.rb +1 -1
- metadata +16 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 00de9aa46460c920a2476d4761d17d778ba872784cb2eb6744304b3e1b10b23a
|
4
|
+
data.tar.gz: 4f259a19d9d66cc25fedd9f2aed221d8319f52f00acb754e62b9a9bb51effcb8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe5b0befabb56026973938d3f4166139d653faafeaf1a810f2f4116ac8acd5fb3e1fad7c41831c491f448b5b1cf1562b6e130b2f37d4a879f0e49348307849ad
|
7
|
+
data.tar.gz: 0fb999a66d45c60f456abc622ffb71f3ac271df4b3074b07d07a4f35e446b9349f94b23e9988e16c76af02de15018457553e17004a7b87651b28b6adccfa38ea
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Budgets
|
5
|
+
module Metrics
|
6
|
+
# Searches for unique Users following the next objects
|
7
|
+
# - Budgets
|
8
|
+
class BudgetFollowersMetricMeasure < Decidim::MetricMeasure
|
9
|
+
def valid?
|
10
|
+
super && @resource.is_a?(Decidim::Component)
|
11
|
+
end
|
12
|
+
|
13
|
+
def calculate
|
14
|
+
budgets = Decidim::Budgets::Project.where(component: @resource)
|
15
|
+
|
16
|
+
budgets_followers = Decidim::Follow.where(followable: budgets).joins(:user)
|
17
|
+
.where("decidim_follows.created_at <= ?", end_time)
|
18
|
+
cumulative_users = budgets_followers.pluck(:decidim_user_id)
|
19
|
+
|
20
|
+
budgets_followers = budgets_followers.where("decidim_follows.created_at >= ?", start_time)
|
21
|
+
quantity_users = budgets_followers.pluck(:decidim_user_id)
|
22
|
+
|
23
|
+
{
|
24
|
+
cumulative_users: cumulative_users.uniq,
|
25
|
+
quantity_users: quantity_users.uniq
|
26
|
+
}
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Budgets
|
5
|
+
module Metrics
|
6
|
+
# Searches for Participants in the following actions
|
7
|
+
# - Vote a participatory budgeting project (Budgets)
|
8
|
+
class BudgetParticipantsMetricMeasure < Decidim::MetricMeasure
|
9
|
+
def valid?
|
10
|
+
super && @resource.is_a?(Decidim::Component)
|
11
|
+
end
|
12
|
+
|
13
|
+
def calculate
|
14
|
+
budgets = Decidim::Budgets::Order.where(component: @resource).joins(:component)
|
15
|
+
.finished
|
16
|
+
.where("decidim_budgets_orders.checked_out_at <= ?", end_time)
|
17
|
+
|
18
|
+
{
|
19
|
+
cumulative_users: budgets.pluck(:decidim_user_id),
|
20
|
+
quantity_users: budgets.where("decidim_budgets_orders.checked_out_at >= ?", start_time).pluck(:decidim_user_id)
|
21
|
+
}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -39,7 +39,7 @@ edit_link(
|
|
39
39
|
<div id="project-<%= project.id %>-budget-button">
|
40
40
|
<%= render partial: "project_budget_button", locals: { project: project } %>
|
41
41
|
</div>
|
42
|
-
<%= render partial: "decidim/shared/follow_button", locals: { followable: project } %>
|
42
|
+
<%= render partial: "decidim/shared/follow_button", locals: { followable: project, large: false } %>
|
43
43
|
</div>
|
44
44
|
</div>
|
45
45
|
<%= resource_reference(project) %>
|
@@ -31,6 +31,16 @@ module Decidim
|
|
31
31
|
Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Budgets::Engine.root}/app/cells")
|
32
32
|
Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Budgets::Engine.root}/app/views") # for partials
|
33
33
|
end
|
34
|
+
|
35
|
+
initializer "decidim_budgets.register_metrics" do
|
36
|
+
Decidim.metrics_operation.register(:participants, :budgets) do |metric_operation|
|
37
|
+
metric_operation.manager_class = "Decidim::Budgets::Metrics::BudgetParticipantsMetricMeasure"
|
38
|
+
end
|
39
|
+
|
40
|
+
Decidim.metrics_operation.register(:followers, :budgets) do |metric_operation|
|
41
|
+
metric_operation.manager_class = "Decidim::Budgets::Metrics::BudgetFollowersMetricMeasure"
|
42
|
+
end
|
43
|
+
end
|
34
44
|
end
|
35
45
|
end
|
36
46
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-budgets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-01-
|
13
|
+
date: 2019-01-09 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: decidim-comments
|
@@ -18,28 +18,28 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
21
|
+
version: 0.16.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - '='
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 0.
|
28
|
+
version: 0.16.0
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: decidim-core
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - '='
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 0.
|
35
|
+
version: 0.16.0
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - '='
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.
|
42
|
+
version: 0.16.0
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: kaminari
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,42 +74,42 @@ dependencies:
|
|
74
74
|
requirements:
|
75
75
|
- - '='
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: 0.
|
77
|
+
version: 0.16.0
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - '='
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: 0.
|
84
|
+
version: 0.16.0
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: decidim-dev
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
89
|
- - '='
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: 0.
|
91
|
+
version: 0.16.0
|
92
92
|
type: :development
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - '='
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: 0.
|
98
|
+
version: 0.16.0
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: decidim-proposals
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
103
|
- - '='
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: 0.
|
105
|
+
version: 0.16.0
|
106
106
|
type: :development
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
110
|
- - '='
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: 0.
|
112
|
+
version: 0.16.0
|
113
113
|
description: A budgets component for decidim's participatory spaces.
|
114
114
|
email:
|
115
115
|
- josepjaume@gmail.com
|
@@ -163,6 +163,8 @@ files:
|
|
163
163
|
- app/permissions/decidim/budgets/permissions.rb
|
164
164
|
- app/presenters/decidim/budgets/admin_log/project_presenter.rb
|
165
165
|
- app/queries/decidim/budgets/filtered_projects.rb
|
166
|
+
- app/queries/decidim/budgets/metrics/budget_followers_metric_measure.rb
|
167
|
+
- app/queries/decidim/budgets/metrics/budget_participants_metric_measure.rb
|
166
168
|
- app/serializers/decidim/budgets/data_portability_budgets_order_serializer.rb
|
167
169
|
- app/services/decidim/budgets/project_search.rb
|
168
170
|
- app/views/decidim/budgets/admin/projects/_form.html.erb
|
@@ -216,6 +218,7 @@ files:
|
|
216
218
|
- db/migrate/20170410074214_remove_not_null_reference_budgets.rb
|
217
219
|
- db/migrate/20170612101846_migrate_projects_category.rb
|
218
220
|
- db/migrate/20180305133340_rename_features_to_components_at_budgets.rb
|
221
|
+
- db/migrate/20181205141115_use_big_ints_for_budgets.rb
|
219
222
|
- lib/decidim/budgets.rb
|
220
223
|
- lib/decidim/budgets/admin.rb
|
221
224
|
- lib/decidim/budgets/admin_engine.rb
|
@@ -245,7 +248,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
245
248
|
version: '0'
|
246
249
|
requirements: []
|
247
250
|
rubyforge_project:
|
248
|
-
rubygems_version: 2.7.
|
251
|
+
rubygems_version: 2.7.6
|
249
252
|
signing_key:
|
250
253
|
specification_version: 4
|
251
254
|
summary: Decidim budgets module
|