fix status page

This commit is contained in:
GM 2023-01-23 10:23:03 +00:00
parent 218e348a53
commit 10ea588a16
3 changed files with 12 additions and 7 deletions

View File

@ -299,7 +299,8 @@ Sockets for the status page
@sio.event @sio.event
@bang_handler @bang_handler
def get_all_rooms(sid, deploy_key): 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=[{ sio.emit('all_rooms', room=sid, data=[{
'name': g.name, 'name': g.name,
'hidden': g.is_hidden, 'hidden': g.is_hidden,
@ -316,14 +317,16 @@ def get_all_rooms(sid, deploy_key):
@sio.event @sio.event
@bang_handler @bang_handler
def kick(sid, data): 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.emit('kicked', room=data['sid'])
@sio.event @sio.event
@bang_handler @bang_handler
def reset(sid, data): def reset(sid, data):
global games 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: for g in games:
sio.emit('kicked', room=g.name) sio.emit('kicked', room=g.name)
games = [] games = []
@ -331,7 +334,8 @@ def reset(sid, data):
@sio.event @sio.event
@bang_handler @bang_handler
def hide_toogle(sid, data): 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']] game = [g for g in games if g.name==data['room']]
if len(games) > 0: if len(games) > 0:
game[0].is_hidden = not game[0].is_hidden game[0].is_hidden = not game[0].is_hidden

View File

@ -90,7 +90,7 @@
<transition name="bounce"> <transition name="bounce">
<div v-if="displayAdminStatus" id="admin-status"> <div v-if="displayAdminStatus" id="admin-status">
<input type="button" @click="displayAdminStatus = false" value="close"/> <input type="button" @click="displayAdminStatus = false" value="close"/>
<Status deploy_key="ok"/> <Status deploy_key="ok" :onpage="false"/>
</div> </div>
</transition> </transition>
<transition name="bounce"> <transition name="bounce">

View File

@ -38,7 +38,7 @@ export default {
props: { props: {
onpage: { onpage: {
type: Boolean, type: Boolean,
default: false default: true
} }
}, },
data:()=>({ data:()=>({
@ -63,7 +63,8 @@ export default {
}, },
reset(){ reset(){
if (confirm('ARE YOU SURE? KICK EVERYONE AND RESET LOBBIES?')) 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){ hide(room_name){
this.$socket.emit('hide_toogle', {'key':this.deploy_key, 'room':room_name}) this.$socket.emit('hide_toogle', {'key':this.deploy_key, 'room':room_name})