Skip to content

Commit 4b6ecf0

Browse files
salzigJoschkaSchulz
authored andcommitted
fix: scope user resource for admins
1 parent 50eb404 commit 4b6ecf0

File tree

3 files changed

+74
-5
lines changed

3 files changed

+74
-5
lines changed

app/controllers/admin/users_controller.rb

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
module Admin
22
class UsersController < Admin::ApplicationController
3-
def index
4-
super
5-
@resources = User.peers.page(params[:page]).per(10)
6-
end
7-
83
def find_resource(param)
94
User.peers.from_slug(param)
105
end
116

7+
def scoped_resource
8+
User.peers
9+
end
10+
1211
# See https://administrate-prototype.herokuapp.com/customizing_controller_actions
1312
# for more information
1413
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
require 'spec_helper'
2+
3+
describe Admin::UsersController do
4+
render_views
5+
6+
before { set_subdomain }
7+
8+
let(:user) { build(:admin_user) }
9+
let!(:event) do
10+
Whitelabel.with_label(Whitelabel.labels.first) do
11+
create(:event_with_participants)
12+
end
13+
end
14+
let!(:other_event) do
15+
Whitelabel.with_label(Whitelabel.labels.last) do
16+
create(:event_with_participants)
17+
end
18+
end
19+
20+
context 'with logged-in user' do
21+
before do
22+
allow(controller).to receive_messages(current_user: user)
23+
end
24+
25+
context 'GET :index' do
26+
it 'assign the users and renders the template' do
27+
get :index
28+
29+
expect(response).to render_template(:index)
30+
expect(response.body).to include(event.participants.first.user.nickname)
31+
expect(response.body).not_to include(other_event.participants.first.user.nickname)
32+
end
33+
end
34+
end
35+
end
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
require 'spec_helper'
2+
3+
describe SuperAdmin::UsersController do
4+
render_views
5+
6+
before { set_subdomain }
7+
8+
let(:user) { build(:admin_user) }
9+
let!(:event) do
10+
Whitelabel.with_label(Whitelabel.labels.first) do
11+
create(:event_with_participants)
12+
end
13+
end
14+
let!(:other_event) do
15+
Whitelabel.with_label(Whitelabel.labels.last) do
16+
create(:event_with_participants)
17+
end
18+
end
19+
20+
context 'with logged-in user' do
21+
before do
22+
allow(controller).to receive_messages(current_user: user)
23+
end
24+
25+
context 'GET :index' do
26+
it 'assign the users and renders the template' do
27+
get :index
28+
29+
expect(response).to render_template(:index)
30+
expect(response.body).to include(event.participants.first.user.nickname)
31+
expect(response.body).to include(other_event.participants.first.user.nickname)
32+
end
33+
end
34+
end
35+
end

0 commit comments

Comments
 (0)