Skip to content

Commit bd9940b

Browse files
Merge pull request #491 from LightOfHeaven1994/control-sensitive-fields-better
Control sensitive fields better
2 parents 2791d6a + 2da06d2 commit bd9940b

File tree

5 files changed

+13
-1
lines changed

5 files changed

+13
-1
lines changed

backend/ibutsu_server/filters.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,10 @@ def string_to_column(field, model):
8181
if field not in ARRAY_FIELDS and field not in NUMERIC_FIELDS:
8282
column = column.as_string()
8383
else:
84-
column = getattr(model, field)
84+
try:
85+
column = getattr(model, field)
86+
except AttributeError:
87+
return None
8588
return column
8689

8790

backend/ibutsu_server/widgets/filter_heatmap.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ def _get_heatmap(filters, builds, group_field, project=None):
4343

4444
# generate the group_field
4545
group_field = string_to_column(group_field, Run)
46+
if not group_field:
47+
return {}
4648

4749
# get the runs on which to run the aggregation, we select from a subset of runs to improve
4850
# performance, otherwise we'd be aggregating over ALL runs

backend/ibutsu_server/widgets/jenkins_heatmap.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ def _get_heatmap(job_name, builds, group_field, count_skips, project=None, addit
101101

102102
# generate the group_fields
103103
group_field = string_to_column(group_field, Run)
104+
if not group_field:
105+
return {}, builds
106+
104107
job_name = string_to_column("metadata.jenkins.job_name", Run)
105108
build_number = string_to_column("metadata.jenkins.build_number", Run)
106109
annotations = string_to_column("metadata.annotations", Run)

backend/ibutsu_server/widgets/result_aggregator.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ def _get_recent_result_data(group_field, days, project=None, run_id=None, additi
3636

3737
# generate the group field
3838
group_field = string_to_column(group_field, Result)
39+
if not group_field:
40+
return []
3941

4042
# create the query
4143
query = (

backend/ibutsu_server/widgets/run_aggregator.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ def _get_recent_run_data(weeks, group_field, project=None, additional_filters=No
2626

2727
# generate the group field
2828
group_field = string_to_column(group_field, Run)
29+
if not group_field:
30+
return data
2931

3032
# create the query
3133
query = session.query(

0 commit comments

Comments
 (0)