decidim 0.6.7 → 0.6.8

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d677c7d1a8ff3ac01934a64a809f4e4605f86613
4
- data.tar.gz: 300691aa26d23f72151cd7fb5f8ffd01c68e0cbc
3
+ metadata.gz: 0a8e4afd7b99a47464bf8688490d50e5bd9f9f21
4
+ data.tar.gz: 07374063bf73520642a79455ee8d393965f98afb
5
5
  SHA512:
6
- metadata.gz: e4cbec9454d2dd6345342ae7fe24845cd718379e04feba94910fe882b5363d20c026ce2f9925e5ea657a555a6c07819dd1c0b7504a7a157d1f525009b00f3791
7
- data.tar.gz: 0f52bc41d067a8b2a04bfb2de22d402b26eac5674b56b0a0d3208244456233c866a9e51f10a4d3b1725c54935aaa9f98e785c0f1ff70536ea82d235e886b9219
6
+ metadata.gz: f54954629fc50be237bfbb062b01ecbad58eb9b3c85318e4f7f32e87af96b43b3d81ce93a6226d71c30b5738cafaa4b043bf3059553e77471dbfdc1e2f47e093
7
+ data.tar.gz: a423c91afb7cb004e6d1316be25a75532c58f02311b8b6ed0a3e883fdd773caddaba4850b3da001626c2a0ad767ef438549509826bcf085eb031b67552085c84
data/.circleci/config.yml CHANGED
@@ -2,7 +2,7 @@ version: 2
2
2
  jobs:
3
3
  build:
4
4
  docker:
5
- - image: codegram/decidim:0.6.7
5
+ - image: codegram/decidim:0.6.8
6
6
  environment:
7
7
  SIMPLECOV: true
8
8
  DATABASE_USERNAME: postgres
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## [v0.6.8](https://github.com/decidim/decidim/tree/v0.6.7) (2017-10-06)
4
+ [Full Changelog](https://github.com/decidim/decidim/compare/v0.6.7...v0.6.8)
5
+
6
+ **Fixed**
7
+ - **decidim-admin**: Fix impersonation being disallowed when there's another user impersonating.
8
+
3
9
  ## [v0.6.7](https://github.com/decidim/decidim/tree/v0.6.7) (2017-10-06)
4
10
  [Full Changelog](https://github.com/decidim/decidim/compare/v0.6.6...v0.6.7)
5
11
 
data/Gemfile.lock CHANGED
@@ -1,22 +1,22 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- decidim (0.6.7)
5
- decidim-admin (= 0.6.7)
6
- decidim-api (= 0.6.7)
7
- decidim-budgets (= 0.6.7)
8
- decidim-comments (= 0.6.7)
9
- decidim-core (= 0.6.7)
10
- decidim-meetings (= 0.6.7)
11
- decidim-pages (= 0.6.7)
12
- decidim-participatory_processes (= 0.6.7)
13
- decidim-proposals (= 0.6.7)
14
- decidim-results (= 0.6.7)
15
- decidim-surveys (= 0.6.7)
16
- decidim-system (= 0.6.7)
17
- decidim-admin (0.6.7)
4
+ decidim (0.6.8)
5
+ decidim-admin (= 0.6.8)
6
+ decidim-api (= 0.6.8)
7
+ decidim-budgets (= 0.6.8)
8
+ decidim-comments (= 0.6.8)
9
+ decidim-core (= 0.6.8)
10
+ decidim-meetings (= 0.6.8)
11
+ decidim-pages (= 0.6.8)
12
+ decidim-participatory_processes (= 0.6.8)
13
+ decidim-proposals (= 0.6.8)
14
+ decidim-results (= 0.6.8)
15
+ decidim-surveys (= 0.6.8)
16
+ decidim-system (= 0.6.8)
17
+ decidim-admin (0.6.8)
18
18
  active_link_to (~> 1.0.0)
19
- decidim-core (= 0.6.7)
19
+ decidim-core (= 0.6.8)
20
20
  devise (~> 4.2)
21
21
  devise-i18n (~> 1.1.0)
22
22
  devise_invitable (~> 1.7.0)
@@ -26,29 +26,29 @@ PATH
26
26
  rectify (~> 0.9.1)
27
27
  sassc-rails (~> 1.3.0)
28
28
  select2-rails (~> 4.0.3)
29
- decidim-api (0.6.7)
29
+ decidim-api (0.6.8)
30
30
  graphiql-rails (= 1.4.4)
31
31
  graphql (~> 1.6.0)
32
32
  rack-cors (~> 0.4.0)
33
33
  rails (~> 5.1.3)
34
34
  sprockets-es6 (~> 0.9.2)
35
- decidim-budgets (0.6.7)
36
- decidim-comments (= 0.6.7)
37
- decidim-core (= 0.6.7)
35
+ decidim-budgets (0.6.8)
36
+ decidim-comments (= 0.6.8)
37
+ decidim-core (= 0.6.8)
38
38
  kaminari (~> 1.0.1)
39
39
  rectify (~> 0.9.1)
40
40
  searchlight (~> 4.1.0)
41
- decidim-comments (0.6.7)
42
- decidim-core (= 0.6.7)
41
+ decidim-comments (0.6.8)
42
+ decidim-core (= 0.6.8)
43
43
  jquery-rails (~> 4.0)
44
44
  rails (~> 5.1.3)
45
- decidim-core (0.6.7)
45
+ decidim-core (0.6.8)
46
46
  active_link_to (~> 1.0.4)
47
47
  autoprefixer-rails (~> 7.1.1)
48
48
  cancancan (~> 2.0.0)
49
49
  carrierwave (~> 1.1.0)
50
50
  date_validator (~> 0.9.0)
51
- decidim-api (= 0.6.7)
51
+ decidim-api (= 0.6.8)
52
52
  devise (~> 4.3)
53
53
  devise-i18n (~> 1.1.0)
54
54
  file_validators (~> 2.1.0)
@@ -76,14 +76,14 @@ PATH
76
76
  sprockets-es6 (~> 0.9.2)
77
77
  truncato (~> 0.7.9)
78
78
  wisper (~> 2.0.0)
79
- decidim-dev (0.6.7)
79
+ decidim-dev (0.6.8)
80
80
  byebug
81
81
  capybara (~> 2.15.0)
82
82
  capybara-screenshot (~> 1.0.14)
83
83
  codecov (~> 0.1.9)
84
84
  database_cleaner (~> 1.6.0)
85
85
  db-query-matchers (~> 0.9.0)
86
- decidim (= 0.6.7)
86
+ decidim (= 0.6.8)
87
87
  factory_girl_rails
88
88
  faker (~> 1.8.4)
89
89
  i18n-tasks (= 0.9.18)
@@ -98,39 +98,39 @@ PATH
98
98
  simplecov (~> 0.13)
99
99
  webmock (~> 3.0.1)
100
100
  wisper-rspec (~> 0.0.3)
101
- decidim-meetings (0.6.7)
101
+ decidim-meetings (0.6.8)
102
102
  date_validator (~> 0.9)
103
- decidim-core (= 0.6.7)
103
+ decidim-core (= 0.6.8)
104
104
  httparty (~> 0.15.0)
105
105
  icalendar (~> 2.4.1)
106
106
  jquery-tmpl-rails (~> 1.1.0)
107
107
  kaminari (~> 1.0.1)
108
108
  rectify (~> 0.8)
109
109
  searchlight (~> 4.1.0)
110
- decidim-pages (0.6.7)
111
- decidim-core (= 0.6.7)
110
+ decidim-pages (0.6.8)
111
+ decidim-core (= 0.6.8)
112
112
  rectify (~> 0.9.1)
113
- decidim-participatory_processes (0.6.7)
114
- decidim-core (= 0.6.7)
113
+ decidim-participatory_processes (0.6.8)
114
+ decidim-core (= 0.6.8)
115
115
  rails (~> 5.1.3)
116
- decidim-proposals (0.6.7)
117
- decidim-comments (= 0.6.7)
118
- decidim-core (= 0.6.7)
116
+ decidim-proposals (0.6.8)
117
+ decidim-comments (= 0.6.8)
118
+ decidim-core (= 0.6.8)
119
119
  kaminari (~> 1.0.1)
120
120
  rectify (~> 0.9.1)
121
121
  social-share-button (~> 0.10.0)
122
- decidim-results (0.6.7)
123
- decidim-comments (= 0.6.7)
124
- decidim-core (= 0.6.7)
122
+ decidim-results (0.6.8)
123
+ decidim-comments (= 0.6.8)
124
+ decidim-core (= 0.6.8)
125
125
  kaminari (~> 1.0.1)
126
126
  rectify (~> 0.9.1)
127
127
  searchlight (~> 4.1.0)
128
- decidim-surveys (0.6.7)
129
- decidim-core (= 0.6.7)
128
+ decidim-surveys (0.6.8)
129
+ decidim-core (= 0.6.8)
130
130
  jquery-tmpl-rails (~> 1.1.0)
131
- decidim-system (0.6.7)
131
+ decidim-system (0.6.8)
132
132
  active_link_to (~> 1.0.0)
133
- decidim-core (= 0.6.7)
133
+ decidim-core (= 0.6.8)
134
134
  devise (~> 4.2)
135
135
  devise-i18n (~> 1.1.0)
136
136
  devise_invitable (~> 1.7.1)
@@ -187,7 +187,7 @@ GEM
187
187
  public_suffix (>= 2.0.2, < 4.0)
188
188
  arel (8.0.0)
189
189
  ast (2.3.0)
190
- autoprefixer-rails (7.1.4.1)
190
+ autoprefixer-rails (7.1.5)
191
191
  execjs
192
192
  axiom-types (0.1.1)
193
193
  descendants_tracker (~> 0.0.4)
@@ -202,7 +202,7 @@ GEM
202
202
  builder (3.2.3)
203
203
  byebug (9.1.0)
204
204
  cancancan (2.0.0)
205
- capybara (2.15.3)
205
+ capybara (2.15.4)
206
206
  addressable
207
207
  mini_mime (>= 0.1.3)
208
208
  nokogiri (>= 1.3.3)
@@ -293,7 +293,7 @@ GEM
293
293
  graphiql-rails (1.4.4)
294
294
  rails
295
295
  graphql (1.6.8)
296
- hashdiff (0.3.6)
296
+ hashdiff (0.3.7)
297
297
  hashie (3.5.6)
298
298
  high_voltage (3.0.0)
299
299
  highline (1.7.8)
@@ -10,19 +10,22 @@ module Decidim
10
10
  super
11
11
 
12
12
  can :manage, :managed_users
13
+
13
14
  cannot [:new, :create], :managed_users if empty_available_authorizations?
15
+
14
16
  can :impersonate, Decidim::User do |user_to_impersonate|
15
- user_to_impersonate.managed? && Decidim::ImpersonationLog.active.empty?
17
+ user_to_impersonate.managed? && Decidim::ImpersonationLog.active.where(admin: user).empty?
16
18
  end
19
+
17
20
  can :promote, Decidim::User do |user_to_promote|
18
- user_to_promote.managed? && Decidim::ImpersonationLog.active.empty?
21
+ user_to_promote.managed? && Decidim::ImpersonationLog.active.where(admin: user).empty?
19
22
  end
20
23
  end
21
24
 
22
25
  private
23
26
 
24
27
  def empty_available_authorizations?
25
- @context[:current_organization] && @context[:current_organization].available_authorizations.empty?
28
+ user.organization.available_authorizations.empty?
26
29
  end
27
30
  end
28
31
  end
@@ -3,12 +3,29 @@
3
3
  require "spec_helper"
4
4
 
5
5
  describe Decidim::Admin::Abilities::UserManagerAbility do
6
- let(:user) { build(:user, :user_manager) }
6
+ let(:organization) { create(:organization, available_authorizations: ["dummy"]) }
7
+ let(:user) { create(:user, :user_manager, organization: organization) }
7
8
 
8
9
  subject { described_class.new(user, {}) }
9
10
 
11
+ context "when the organization has authorizations" do
12
+ it "can create new managed users" do
13
+ expect(subject).to be_able_to(:new, :managed_users)
14
+ expect(subject).to be_able_to(:create, :managed_users)
15
+ end
16
+ end
17
+
18
+ context "when the organization doesn't have authorizations" do
19
+ let(:organization) { create(:organization, available_authorizations: []) }
20
+
21
+ it "can't create new managed users" do
22
+ expect(subject).to_not be_able_to(:new, :managed_users)
23
+ expect(subject).to_not be_able_to(:create, :managed_users)
24
+ end
25
+ end
26
+
10
27
  context "when the user is not a user manager" do
11
- let(:user) { build(:user) }
28
+ let(:user) { create(:user, organization: organization) }
12
29
 
13
30
  it "doesn't have any permission" do
14
31
  expect(subject.permissions[:can]).to be_empty
@@ -16,5 +33,35 @@ describe Decidim::Admin::Abilities::UserManagerAbility do
16
33
  end
17
34
  end
18
35
 
36
+ context "when the user doesn't have an impersonation log" do
37
+ let(:managed) { create(:user, :managed, organization: organization) }
38
+
39
+ before do
40
+ create(:impersonation_log, admin: create(:user, organization: organization))
41
+ end
42
+
43
+ it { is_expected.to be_able_to(:impersonate, managed) }
44
+ end
45
+
46
+ context "when the user doesn't have an active impersonation log" do
47
+ let(:managed) { create(:user, :managed, organization: organization) }
48
+
49
+ before do
50
+ create(:impersonation_log, admin: user, started_at: 2.days.ago, ended_at: 1.day.ago)
51
+ end
52
+
53
+ it { is_expected.to be_able_to(:impersonate, managed) }
54
+ end
55
+
56
+ context "when the user has an active impersonation log" do
57
+ let(:managed) { create(:user, :managed, organization: organization) }
58
+
59
+ before do
60
+ create(:impersonation_log, admin: user, started_at: 10.minutes.ago)
61
+ end
62
+
63
+ it { is_expected.to_not be_able_to(:impersonate, managed) }
64
+ end
65
+
19
66
  it { is_expected.to be_able_to(:manage, :managed_users) }
20
67
  end
@@ -290,7 +290,7 @@ FactoryGirl.define do
290
290
  factory :impersonation_log, class: Decidim::ImpersonationLog do
291
291
  admin { build(:user, :admin) }
292
292
  user { build(:user, :managed, organization: admin.organization) }
293
- started_at Time.current
293
+ started_at { 10.minutes.ago }
294
294
  end
295
295
 
296
296
  factory :follow, class: "Decidim::Follow" do
@@ -3,7 +3,7 @@
3
3
  # This holds Decidim's version and the Rails version on which it depends.
4
4
  module Decidim
5
5
  def self.version
6
- "0.6.7"
6
+ "0.6.8"
7
7
  end
8
8
 
9
9
  def self.rails_version
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decidim",
3
- "version": "0.6.7",
3
+ "version": "0.6.8",
4
4
  "repository": {
5
5
  "url": "git@github.com:decidim/decidim.git",
6
6
  "type": "git"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.7
4
+ version: 0.6.8
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: 2017-10-09 00:00:00.000000000 Z
13
+ date: 2017-10-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-core
@@ -18,168 +18,168 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.6.7
21
+ version: 0.6.8
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.6.7
28
+ version: 0.6.8
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: decidim-participatory_processes
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.6.7
35
+ version: 0.6.8
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.6.7
42
+ version: 0.6.8
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: decidim-system
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - '='
48
48
  - !ruby/object:Gem::Version
49
- version: 0.6.7
49
+ version: 0.6.8
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - '='
55
55
  - !ruby/object:Gem::Version
56
- version: 0.6.7
56
+ version: 0.6.8
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: decidim-admin
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - '='
62
62
  - !ruby/object:Gem::Version
63
- version: 0.6.7
63
+ version: 0.6.8
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - '='
69
69
  - !ruby/object:Gem::Version
70
- version: 0.6.7
70
+ version: 0.6.8
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: decidim-api
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - '='
76
76
  - !ruby/object:Gem::Version
77
- version: 0.6.7
77
+ version: 0.6.8
78
78
  type: :runtime
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.6.7
84
+ version: 0.6.8
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: decidim-pages
87
87
  requirement: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - '='
90
90
  - !ruby/object:Gem::Version
91
- version: 0.6.7
91
+ version: 0.6.8
92
92
  type: :runtime
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.6.7
98
+ version: 0.6.8
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: decidim-comments
101
101
  requirement: !ruby/object:Gem::Requirement
102
102
  requirements:
103
103
  - - '='
104
104
  - !ruby/object:Gem::Version
105
- version: 0.6.7
105
+ version: 0.6.8
106
106
  type: :runtime
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.6.7
112
+ version: 0.6.8
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: decidim-meetings
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  requirements:
117
117
  - - '='
118
118
  - !ruby/object:Gem::Version
119
- version: 0.6.7
119
+ version: 0.6.8
120
120
  type: :runtime
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
124
  - - '='
125
125
  - !ruby/object:Gem::Version
126
- version: 0.6.7
126
+ version: 0.6.8
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: decidim-proposals
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
131
  - - '='
132
132
  - !ruby/object:Gem::Version
133
- version: 0.6.7
133
+ version: 0.6.8
134
134
  type: :runtime
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - '='
139
139
  - !ruby/object:Gem::Version
140
- version: 0.6.7
140
+ version: 0.6.8
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: decidim-results
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
145
  - - '='
146
146
  - !ruby/object:Gem::Version
147
- version: 0.6.7
147
+ version: 0.6.8
148
148
  type: :runtime
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - '='
153
153
  - !ruby/object:Gem::Version
154
- version: 0.6.7
154
+ version: 0.6.8
155
155
  - !ruby/object:Gem::Dependency
156
156
  name: decidim-budgets
157
157
  requirement: !ruby/object:Gem::Requirement
158
158
  requirements:
159
159
  - - '='
160
160
  - !ruby/object:Gem::Version
161
- version: 0.6.7
161
+ version: 0.6.8
162
162
  type: :runtime
163
163
  prerelease: false
164
164
  version_requirements: !ruby/object:Gem::Requirement
165
165
  requirements:
166
166
  - - '='
167
167
  - !ruby/object:Gem::Version
168
- version: 0.6.7
168
+ version: 0.6.8
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: decidim-surveys
171
171
  requirement: !ruby/object:Gem::Requirement
172
172
  requirements:
173
173
  - - '='
174
174
  - !ruby/object:Gem::Version
175
- version: 0.6.7
175
+ version: 0.6.8
176
176
  type: :runtime
177
177
  prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
180
  - - '='
181
181
  - !ruby/object:Gem::Version
182
- version: 0.6.7
182
+ version: 0.6.8
183
183
  - !ruby/object:Gem::Dependency
184
184
  name: bundler
185
185
  requirement: !ruby/object:Gem::Requirement
@@ -2522,7 +2522,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2522
2522
  version: '0'
2523
2523
  requirements: []
2524
2524
  rubyforge_project:
2525
- rubygems_version: 2.6.13
2525
+ rubygems_version: 2.6.11
2526
2526
  signing_key:
2527
2527
  specification_version: 4
2528
2528
  summary: Citizen participation framework for Ruby on Rails.