card-mod-permissions 0.11.4 → 0.11.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/set/abstract/permission.rb +3 -2
- data/set/all/permissions.rb +9 -6
- data/set/all/update_read_rules.rb +0 -1
- data/set/right/read.rb +2 -4
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8b4edad152a8ea94c2a359c04185d2ff9349e7e6c0cbdf6fb1ec454b0106c85
|
4
|
+
data.tar.gz: 1e14a4bef67298039970e7edc98703966f8273d9644b37861b003df207f11909
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27b47ea8c0829e1b69e9180a4734126ea1d3482acaf6f6fd086ecf750f30dcbeccdfb5a02a5ea94653813c33e428d2d295dc019028d8040b0c68904713be050c
|
7
|
+
data.tar.gz: 1b2da5b94b525b8d532dd638c612293885e9d241804b8b7e14fae18ea4820d93c074a6928c6835e449806cf0c31c23d7bb000fdd555350bf407f1a59606d7629
|
data/set/abstract/permission.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
def standardize_items
|
3
2
|
super unless content == "_left"
|
4
3
|
end
|
@@ -84,6 +83,7 @@ format :html do
|
|
84
83
|
|
85
84
|
def inheritance_checkbox
|
86
85
|
return unless inheritable?
|
86
|
+
|
87
87
|
<<-HTML
|
88
88
|
<div class="perm-inheritance perm-section">
|
89
89
|
#{check_box_tag 'inherit', 'inherit', inheriting?}
|
@@ -106,6 +106,7 @@ format :html do
|
|
106
106
|
|
107
107
|
def in_context_of_self_set?
|
108
108
|
return false unless @set_context
|
109
|
+
|
109
110
|
@set_context.to_name.tag_name.key == Card[:self].key
|
110
111
|
end
|
111
112
|
|
@@ -116,7 +117,7 @@ format :html do
|
|
116
117
|
link_to_card card_id, nil, target: args[:target]
|
117
118
|
end * ", "
|
118
119
|
"Inherit ( #{links} )"
|
119
|
-
rescue
|
120
|
+
rescue StandardError
|
120
121
|
"Inherit"
|
121
122
|
end
|
122
123
|
end
|
data/set/all/permissions.rb
CHANGED
@@ -51,7 +51,7 @@ def direct_rule_card action
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def permission_rule_id action
|
54
|
-
if
|
54
|
+
if compound? && rule(action).match?(/^\[?\[?_left\]?\]?$/)
|
55
55
|
left_permission_rule_id action
|
56
56
|
else
|
57
57
|
rule_card_id(action)
|
@@ -64,9 +64,7 @@ end
|
|
64
64
|
|
65
65
|
def left_permission_rule_id action
|
66
66
|
lcard = left_or_new(skip_virtual: true, skip_modules: true)
|
67
|
-
if action == :create && lcard.real? && lcard.action != :create
|
68
|
-
action = :update
|
69
|
-
end
|
67
|
+
action = :update if action == :create && lcard.real? && lcard.action != :create
|
70
68
|
lcard.permission_rule_id action
|
71
69
|
end
|
72
70
|
|
@@ -76,6 +74,7 @@ end
|
|
76
74
|
|
77
75
|
def require_permission_rule! rule_id, action
|
78
76
|
return if rule_id
|
77
|
+
|
79
78
|
# RULE missing. should not be possible.
|
80
79
|
# generalize this to handling of all required rules
|
81
80
|
errors.add :permission_denied,
|
@@ -111,6 +110,7 @@ def permit action, verb=nil
|
|
111
110
|
end
|
112
111
|
|
113
112
|
return true if permitted? action
|
113
|
+
|
114
114
|
verb ||= action.to_s
|
115
115
|
deny_because you_cant("#{verb} #{name.present? ? name : 'this'}")
|
116
116
|
end
|
@@ -125,6 +125,7 @@ end
|
|
125
125
|
def ok_to_create_side side
|
126
126
|
# left is supercard; create permissions will get checked there.
|
127
127
|
return true if side == :left && superleft
|
128
|
+
|
128
129
|
part_card = send side, new: {}
|
129
130
|
# if no card, there must be other errors
|
130
131
|
return true unless part_card&.new_card? && !part_card.ok?(:create)
|
@@ -145,6 +146,7 @@ end
|
|
145
146
|
def ok_to_update
|
146
147
|
return false unless permit(:update)
|
147
148
|
return true unless type_id_changed? && !permitted?(:create)
|
149
|
+
|
148
150
|
deny_because you_cant("change to this type (need create permission)")
|
149
151
|
end
|
150
152
|
|
@@ -171,17 +173,18 @@ end
|
|
171
173
|
|
172
174
|
def update_field_read_rules
|
173
175
|
return unless type_id_changed? || read_rule_id_changed?
|
176
|
+
|
174
177
|
each_field_as_bot do |field|
|
175
178
|
field.update_read_rule if field.rule(:read) == "_left"
|
176
179
|
end
|
177
180
|
end
|
178
181
|
|
179
|
-
def each_field_as_bot
|
182
|
+
def each_field_as_bot &block
|
180
183
|
# find all cards with me as trunk and update their read_rule
|
181
184
|
# (because of *type plus right)
|
182
185
|
# skip if name is updated because will already be resaved
|
183
186
|
Auth.as_bot do
|
184
|
-
fields.each
|
187
|
+
fields.each(&block)
|
185
188
|
end
|
186
189
|
end
|
187
190
|
|
data/set/right/read.rb
CHANGED
@@ -44,11 +44,9 @@ def update_cards_with_read_rule_id processed
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
def each_member
|
47
|
+
def each_member &block
|
48
48
|
Auth.as_bot do
|
49
|
-
all_members.each_with_object(::Set.new
|
50
|
-
yield member, processed
|
51
|
-
end
|
49
|
+
all_members.each_with_object(::Set.new, &block)
|
52
50
|
end
|
53
51
|
end
|
54
52
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: card-mod-permissions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ethan McCutchen
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-05-
|
13
|
+
date: 2021-05-10 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: card
|
@@ -18,14 +18,14 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.101.
|
21
|
+
version: 1.101.5
|
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: 1.101.
|
28
|
+
version: 1.101.5
|
29
29
|
description: ''
|
30
30
|
email:
|
31
31
|
- info@decko.org
|