Skip to content

Commit 707ec00

Browse files
authored
Fix PII banner for ops tools
This fixes a cosmetic issue where a banner which indicates that PII cannot be displayed is not displayed because the show_pii logic short-circuits before setting all member variables. Jira-Issue: MAV-3019
2 parents 7df5a31 + 5d69b6b commit 707ec00

2 files changed

Lines changed: 32 additions & 12 deletions

File tree

app/controllers/inspect/graphs_controller.rb

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,17 +42,24 @@ def show
4242
private
4343

4444
def show_pii
45-
@show_pii ||=
46-
user_is_allowed_to_access_pii && !sensitive_patient_in_graph &&
47-
pii_access_requested_by_user
45+
return @show_pii if defined?(@show_pii)
46+
@show_pii =
47+
user_is_allowed_to_access_pii && pii_access_requested_by_user &&
48+
!sensitive_patient_in_graph
4849
end
4950

5051
def user_is_allowed_to_access_pii
51-
@user_is_allowed_to_access_pii ||= policy(:inspect).show_pii?
52+
if defined?(@user_is_allowed_to_access_pii)
53+
return @user_is_allowed_to_access_pii
54+
end
55+
@user_is_allowed_to_access_pii = policy(:inspect).show_pii?
5256
end
5357

5458
def sensitive_patient_in_graph
55-
@sensitive_patient_in_graph ||=
59+
if defined?(@sensitive_patient_in_graph)
60+
return @sensitive_patient_in_graph
61+
end
62+
@sensitive_patient_in_graph =
5663
begin
5764
graph_with_pii =
5865
GraphRecords.new(
@@ -67,7 +74,10 @@ def sensitive_patient_in_graph
6774
end
6875

6976
def pii_access_requested_by_user
70-
@pii_access_requested_by_user ||= params[:show_pii] || SHOW_PII_BY_DEFAULT
77+
if defined?(@pii_access_requested_by_user)
78+
return @pii_access_requested_by_user
79+
end
80+
@pii_access_requested_by_user = params[:show_pii] || SHOW_PII_BY_DEFAULT
7181
end
7282

7383
def traversals_config

app/controllers/inspect/timeline/patients_controller.rb

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,22 +69,32 @@ def show
6969
private
7070

7171
def show_pii
72-
@show_pii ||=
73-
user_is_allowed_to_access_pii && !patient_accessed_is_sensitive &&
74-
pii_access_requested_by_user
72+
return @show_pii if defined?(@show_pii)
73+
@show_pii =
74+
user_is_allowed_to_access_pii && pii_access_requested_by_user &&
75+
!patient_accessed_is_sensitive
7576
end
7677

7778
def user_is_allowed_to_access_pii
78-
@user_is_allowed_to_access_pii ||= policy(:inspect).show_pii?
79+
if defined?(@user_is_allowed_to_access_pii)
80+
return @user_is_allowed_to_access_pii
81+
end
82+
@user_is_allowed_to_access_pii = policy(:inspect).show_pii?
7983
end
8084

8185
def patient_accessed_is_sensitive
82-
@patient_accessed_is_sensitive ||=
86+
if defined?(@patient_accessed_is_sensitive)
87+
return @patient_accessed_is_sensitive
88+
end
89+
@patient_accessed_is_sensitive =
8390
@patient.restricted? || @compare_patient&.restricted?
8491
end
8592

8693
def pii_access_requested_by_user
87-
@pii_access_requested_by_user ||= params[:show_pii] || SHOW_PII_BY_DEFAULT
94+
if defined?(@pii_access_requested_by_user)
95+
return @pii_access_requested_by_user
96+
end
97+
@pii_access_requested_by_user = params[:show_pii] || SHOW_PII_BY_DEFAULT
8898
end
8999

90100
def set_patient

0 commit comments

Comments
 (0)