From 3bf8743e9af2cb1ac6d32567443f3fdb0523df13 Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Sun, 20 Sep 2020 00:23:27 +0000 Subject: [PATCH] Display who used the lasers last --- apiserver/apiserver/api/views.py | 7 ++++++- webclient/src/Home.js | 13 ++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/apiserver/apiserver/api/views.py b/apiserver/apiserver/api/views.py index e48660b..4e7ccbe 100644 --- a/apiserver/apiserver/api/views.py +++ b/apiserver/apiserver/api/views.py @@ -472,7 +472,12 @@ class StatsViewSet(viewsets.ViewSet, List): def track(self, request): if 'name' in request.data: track = cache.get('track', {}) - track[request.data['name']] = time.time() + + name = request.data['name'] + username = request.data.get('username', '') + username = username.split('.')[0] + + track[name] = dict(time=time.time(), username=username) cache.set('track', track) return Response(200) else: diff --git a/webclient/src/Home.js b/webclient/src/Home.js index 8bd3fda..8e33403 100644 --- a/webclient/src/Home.js +++ b/webclient/src/Home.js @@ -153,9 +153,10 @@ export function Home(props) { const mcPlayers = stats && stats['minecraft_players'] ? stats['minecraft_players'] : []; - const getTrackStat = (x) => stats && stats.track && stats.track[x] ? moment().unix() - stats.track[x] > 60 ? 'Free' : 'In Use' : '?'; - const getTrackLast = (x) => stats && stats.track && stats.track[x] ? moment.unix(stats.track[x]).tz('America/Edmonton').format('llll') : 'Unknown'; - const getTrackAgo = (x) => stats && stats.track && stats.track[x] ? moment.unix(stats.track[x]).tz('America/Edmonton').fromNow() : ''; + const getTrackStat = (x) => stats && stats.track && stats.track[x] ? moment().unix() - stats.track[x]['time'] > 60 ? 'Free' : 'In Use' : '?'; + const getTrackLast = (x) => stats && stats.track && stats.track[x] ? moment.unix(stats.track[x]['time']).tz('America/Edmonton').format('llll') : 'Unknown'; + const getTrackAgo = (x) => stats && stats.track && stats.track[x] ? moment.unix(stats.track[x]['time']).tz('America/Edmonton').fromNow() : ''; + const getTrackName = (x) => stats && stats.track && stats.track[x] && stats.track[x]['username'] ? stats.track[x]['username'] : 'Unknown'; return ( @@ -238,7 +239,8 @@ export function Home(props) {

Last use:
{getTrackLast('TROTECS300')}
- {getTrackAgo('TROTECS300')} + {getTrackAgo('TROTECS300')}
+ by {getTrackName('TROTECS300')}

} trigger={[more]} /> @@ -250,7 +252,8 @@ export function Home(props) {

Last use:
{getTrackLast('FRICKIN-LASER')}
- {getTrackAgo('FRICKIN-LASER')} + {getTrackAgo('FRICKIN-LASER')}
+ by {getTrackName('TROTECS300')}

} trigger={[more]} />