From 10ea588a16044c0b7182677568233e39090cfe72 Mon Sep 17 00:00:00 2001 From: GM Date: Mon, 23 Jan 2023 10:23:03 +0000 Subject: [PATCH] fix status page --- backend/server.py | 12 ++++++++---- frontend/src/components/Lobby.vue | 2 +- frontend/src/components/Status.vue | 5 +++-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/backend/server.py b/backend/server.py index c1f4695..440ef51 100644 --- a/backend/server.py +++ b/backend/server.py @@ -299,7 +299,8 @@ Sockets for the status page @sio.event @bang_handler def get_all_rooms(sid, deploy_key): - if ('DEPLOY_KEY' in os.environ and deploy_key == os.environ['DEPLOY_KEY']) or sio.get_session(sid).is_admin(): + ses = sio.get_session(sid) + if ('DEPLOY_KEY' in os.environ and deploy_key == os.environ['DEPLOY_KEY']) or (isinstance(ses, Player) and ses.is_admin()): sio.emit('all_rooms', room=sid, data=[{ 'name': g.name, 'hidden': g.is_hidden, @@ -316,14 +317,16 @@ def get_all_rooms(sid, deploy_key): @sio.event @bang_handler def kick(sid, data): - if ('DEPLOY_KEY' in os.environ and data['key'] == os.environ['DEPLOY_KEY']) or sio.get_session(sid).is_admin(): + ses = sio.get_session(sid) + if ('DEPLOY_KEY' in os.environ and 'key' in data and data['key'] == os.environ['DEPLOY_KEY']) or (isinstance(ses, Player) and ses.is_admin()): sio.emit('kicked', room=data['sid']) @sio.event @bang_handler def reset(sid, data): global games - if ('DEPLOY_KEY' in os.environ and data['key'] == os.environ['DEPLOY_KEY']) or sio.get_session(sid).is_admin(): + ses = sio.get_session(sid) + if ('DEPLOY_KEY' in os.environ and 'key' in data and data['key'] == os.environ['DEPLOY_KEY']) or (isinstance(ses, Player) and ses.is_admin()): for g in games: sio.emit('kicked', room=g.name) games = [] @@ -331,7 +334,8 @@ def reset(sid, data): @sio.event @bang_handler def hide_toogle(sid, data): - if ('DEPLOY_KEY' in os.environ and data['key'] == os.environ['DEPLOY_KEY']) or sio.get_session(sid).is_admin(): + ses = sio.get_session(sid) + if ('DEPLOY_KEY' in os.environ and 'key' in data and data['key'] == os.environ['DEPLOY_KEY']) or (isinstance(ses, Player) and ses.is_admin()): game = [g for g in games if g.name==data['room']] if len(games) > 0: game[0].is_hidden = not game[0].is_hidden diff --git a/frontend/src/components/Lobby.vue b/frontend/src/components/Lobby.vue index d74d60a..a8499e4 100644 --- a/frontend/src/components/Lobby.vue +++ b/frontend/src/components/Lobby.vue @@ -90,7 +90,7 @@
- +
diff --git a/frontend/src/components/Status.vue b/frontend/src/components/Status.vue index f598b57..cddb121 100644 --- a/frontend/src/components/Status.vue +++ b/frontend/src/components/Status.vue @@ -38,7 +38,7 @@ export default { props: { onpage: { type: Boolean, - default: false + default: true } }, data:()=>({ @@ -63,7 +63,8 @@ export default { }, reset(){ if (confirm('ARE YOU SURE? KICK EVERYONE AND RESET LOBBIES?')) - this.$socket.emit('reset', this.deploy_key) + this.$socket.emit('reset', {'key':this.deploy_key}) + this.refresh(); }, hide(room_name){ this.$socket.emit('hide_toogle', {'key':this.deploy_key, 'room':room_name})