From e24903a123e52c3b41db0965cd5d5c1288792395 Mon Sep 17 00:00:00 2001 From: jokob-sk Date: Sat, 19 Oct 2024 10:27:48 +1100 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=8APresence:=20Fix=20by=20the=20amazin?= =?UTF-8?q?g=20@johnwang16=20=F0=9F=99=8F=20#814?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/database.py | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/server/database.py b/server/database.py index d260ddf6..1a5ef6fc 100755 --- a/server/database.py +++ b/server/database.py @@ -566,9 +566,38 @@ class DB(): WHERE e.row_num = 1; """) - self.commitDB() - + # handling the Convert_Events_to_Sessions / Sessions screens + self.sql.execute("""DROP VIEW IF EXISTS Convert_Events_to_Sessions;""") + self.sql.execute("""CREATE VIEW Convert_Events_to_Sessions AS SELECT EVE1.eve_MAC, + EVE1.eve_IP, + EVE1.eve_EventType AS eve_EventTypeConnection, + EVE1.eve_DateTime AS eve_DateTimeConnection, + CASE WHEN EVE2.eve_EventType IN ('Disconnected', 'Device Down') OR + EVE2.eve_EventType IS NULL THEN EVE2.eve_EventType ELSE '' END AS eve_EventTypeDisconnection, + CASE WHEN EVE2.eve_EventType IN ('Disconnected', 'Device Down') THEN EVE2.eve_DateTime ELSE NULL END AS eve_DateTimeDisconnection, + CASE WHEN EVE2.eve_EventType IS NULL THEN 1 ELSE 0 END AS eve_StillConnected, + EVE1.eve_AdditionalInfo + FROM Events AS EVE1 + LEFT JOIN + Events AS EVE2 ON EVE1.eve_PairEventRowID = EVE2.RowID + WHERE EVE1.eve_EventType IN ('New Device', 'Connected','Down Reconnected') + UNION + SELECT eve_MAC, + eve_IP, + '' AS eve_EventTypeConnection, + NULL AS eve_DateTimeConnection, + eve_EventType AS eve_EventTypeDisconnection, + eve_DateTime AS eve_DateTimeDisconnection, + 0 AS eve_StillConnected, + eve_AdditionalInfo + FROM Events AS EVE1 + WHERE (eve_EventType = 'Device Down' OR + eve_EventType = 'Disconnected') AND + EVE1.eve_PairEventRowID IS NULL; + """) + self.commitDB() + # Init the AppEvent database table AppEvent_obj(self)