10000 Scope new record instantiation by authorization scope (#6884) · rfalmeida/activeadmin@2baf687 · GitHub
[go: up one dir, main page]

Skip to content

Commit 2baf687

Browse files
authored
Scope new record instantiation by authorization scope (activeadmin#6884)
1 parent acbff01 commit 2baf687

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

lib/active_admin/resource_controller/data_access.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ def build_resource
128128
#
129129
# @return [ActiveRecord::Base] An un-saved active record base object
130130
def build_new_resource
131-
scoped_collection.send(
131+
apply_authorization_scope(scoped_collection).send(
132132
method_for_build,
133133
*resource_params.map { |params| params.slice(active_admin_config.resource_class.inheritance_column) }
134134
)

spec/unit/resource_controller/data_access_spec.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,5 +225,16 @@
225225
it "should assign nested attributes once" do
226226
expect(subject.posts.size).to eq(1)
227227
end
228+
229+
context "given authorization scope" do
230+
let(:authorization) { controller.send(:active_admin_authorization) }
231+
232+
it "should apply authorization scope" do
233+
expect(authorization).to receive(:scope_collection) do |collection|
234+
collection.where(age: "42")
235+
end
236+
expect(subject.age).to eq(42)
237+
end
238+
end
228239
end
229240
end

0 commit comments

Comments
 (0)
0