@@ -229,7 +229,8 @@ def usage_data_history(request, tool_id):
229229 if not last and not start and not end :
230230 # Default to last 25 records
231231 last = 25
232- usage_events = UsageEvent .objects .filter (tool_id__in = Tool .objects .get (pk = tool_id ).get_family_tool_ids ())
232+ tool_family_ids = Tool .objects .get (pk = tool_id ).get_family_tool_ids ()
233+ usage_events = UsageEvent .objects .filter (tool_id__in = tool_family_ids )
233234
234235 if start :
235236 usage_events = usage_events .filter (end__gte = start )
@@ -241,7 +242,7 @@ def usage_data_history(request, tool_id):
241242 except ValueError :
242243 pass
243244
244- all_usage_events = usage_events .order_by ("-end " )
245+ all_usage_events = usage_events .order_by ("-start " )
245246 pre_usage_events = usage_events .order_by ("-start" )
246247 post_usage_events = usage_events .filter (end__isnull = False ).order_by ("-end" )
247248 if last :
@@ -255,6 +256,8 @@ def usage_data_history(request, tool_id):
255256 post_usage_events = post_usage_events [:last ]
256257
257258 table_data = BasicDisplayTable ()
259+ if len (tool_family_ids ) > 1 :
260+ table_data .add_header (("tool" , "Tool" ))
258261 table_data .add_header (("user" , "User" ))
259262 table_data .add_header (("operator" , "Operator" ))
260263 if show_project_info :
@@ -263,13 +266,17 @@ def usage_data_history(request, tool_id):
263266 table_data .add_header (("end_date" , "End date" ))
264267
265268 table_pre_run_data = BasicDisplayTable ()
269+ if len (tool_family_ids ) > 1 :
270+ table_data .add_header (("tool" , "Tool" ))
266271 table_pre_run_data .add_header (("user" , "User" ))
267272 table_pre_run_data .add_header (("operator" , "Operator" ))
268273 if show_project_info :
269274 table_pre_run_data .add_header (("project" , "Project" ))
270275 table_pre_run_data .add_header (("start_date" , "Start date" ))
271276
272277 table_post_run_data = BasicDisplayTable ()
278+ if len (tool_family_ids ) > 1 :
279+ table_data .add_header (("tool" , "Tool" ))
273280 table_post_run_data .add_header (("user" , "User" ))
274281 table_post_run_data .add_header (("operator" , "Operator" ))
275282 if show_project_info :
@@ -856,6 +863,7 @@ def format_usage_data(
856863 user_data = f"{ usage_event .user .first_name } { usage_event .user .last_name } "
857864 operator_data = f"{ usage_event .operator .first_name } { usage_event .operator .last_name } "
858865 run_data : Dict = loads (usage_run_data ) if usage_run_data else {}
866+ tool_name = usage_event .tool .name
859867 for question_key , question in run_data .items ():
860868 if "user_input" in question and not question .get ("readonly" , False ):
861869 if question ["type" ] == "group" :
@@ -889,6 +897,7 @@ def format_usage_data(
889897 table_result .formatted_value (user_input ) + suffix if user_input else ""
890898 )
891899 if group_usage_data :
900+ group_usage_data ["tool" ] = tool_name
892901 group_usage_data ["user" ] = user_data
893902 group_usage_data ["operator" ] = operator_data
894903 group_usage_data ["start_date" ] = format_datetime (
@@ -905,6 +914,7 @@ def format_usage_data(
905914 table_result .formatted_value (question ["user_input" ]) + suffix if question ["user_input" ] else ""
906915 )
907916 if usage_data or all_data :
917+ usage_data ["tool" ] = tool_name
908918 usage_data ["user" ] = user_data
909919 usage_data ["operator" ] = operator_data
910920 usage_data ["start_date" ] = format_datetime (usage_event .start , "SHORT_DATETIME_FORMAT" )
0 commit comments