plutonium 0.19.3 → 0.19.5
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b27651d25eebb89d108051b5f2afb8f1703587eb91c84207cc4ec0862b4d45c2
|
4
|
+
data.tar.gz: 44e3394e35c5f2fe1c811a29697fc7e59e7224e296a8d2fdb707c33098a85eca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9ad4898ae89e4e0095a802357a2f4323c3025bc0bc7f2fb9543829ee23923f08ae632e764df357d3ce29a23a53a151a6399f2c7fd2c6d90b01ce21f3c5d7b3c
|
7
|
+
data.tar.gz: 06b6ecf29c1e65831a5f40dcc8d32a6110aa02e24ddadc053bc40e88cebd0230738854d11e40e5e29b770df0fe6f4b8b39d684d732b497f3503f41401cd5ee1a
|
@@ -128,11 +128,7 @@ module Plutonium
|
|
128
128
|
@current_parent ||= begin
|
129
129
|
parent_route_key = parent_route_param.to_s.gsub(/_id$/, "").to_sym
|
130
130
|
parent_class = current_engine.resource_register.route_key_lookup[parent_route_key]
|
131
|
-
parent_scope =
|
132
|
-
parent_class.associated_with(current_scoped_entity)
|
133
|
-
else
|
134
|
-
parent_class.all
|
135
|
-
end
|
131
|
+
parent_scope = authorized_scope(parent_class.all, context: {entity_scope: entity_scope_for_authorize})
|
136
132
|
parent_scope = parent_scope.from_path_param(params[parent_route_param])
|
137
133
|
current_parent = parent_scope.first!
|
138
134
|
authorize! current_parent, to: :read?
|
@@ -13,9 +13,10 @@ module Plutonium
|
|
13
13
|
def presentable_attributes
|
14
14
|
@presentable_attributes ||= begin
|
15
15
|
presentable_attributes = permitted_attributes
|
16
|
-
if current_parent
|
16
|
+
if current_parent && !present_parent?
|
17
17
|
presentable_attributes -= [parent_input_param, :"#{parent_input_param}_id"]
|
18
|
-
|
18
|
+
end
|
19
|
+
if scoped_to_entity? && !present_scoped_entity?
|
19
20
|
presentable_attributes -= [scoped_entity_param_key, :"#{scoped_entity_param_key}_id"]
|
20
21
|
end
|
21
22
|
presentable_attributes
|
@@ -25,8 +26,12 @@ module Plutonium
|
|
25
26
|
def submittable_attributes
|
26
27
|
@submittable_attributes ||= begin
|
27
28
|
submittable_attributes = permitted_attributes
|
28
|
-
|
29
|
-
|
29
|
+
if current_parent && !submit_parent?
|
30
|
+
submittable_attributes -= [parent_input_param, :"#{parent_input_param}_id"]
|
31
|
+
end
|
32
|
+
if scoped_to_entity? && !submit_scoped_entity?
|
33
|
+
submittable_attributes -= [scoped_entity_param_key, :"#{scoped_entity_param_key}_id"]
|
34
|
+
end
|
30
35
|
submittable_attributes
|
31
36
|
end
|
32
37
|
end
|
@@ -42,6 +47,14 @@ module Plutonium
|
|
42
47
|
def build_form(record = resource_record!)
|
43
48
|
current_definition.form_class.new(record, resource_fields: submittable_attributes, resource_definition: current_definition)
|
44
49
|
end
|
50
|
+
|
51
|
+
def present_parent? = false
|
52
|
+
|
53
|
+
def present_scoped_entity? = false
|
54
|
+
|
55
|
+
def submit_parent? = present_parent?
|
56
|
+
|
57
|
+
def submit_scoped_entity? = present_scoped_entity?
|
45
58
|
end
|
46
59
|
end
|
47
60
|
end
|
@@ -48,7 +48,7 @@ module Plutonium
|
|
48
48
|
|
49
49
|
title = object.class.human_attribute_name(name)
|
50
50
|
src = case reflection.macro
|
51
|
-
when :belongs_to
|
51
|
+
when :belongs_to, :has_one
|
52
52
|
associated = object.public_send name
|
53
53
|
resource_url_for(associated, parent: nil) if associated
|
54
54
|
when :has_many
|
data/lib/plutonium/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: plutonium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.19.
|
4
|
+
version: 0.19.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefan Froelich
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-01-
|
11
|
+
date: 2025-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: zeitwerk
|