fix different world different admin
This commit is contained in:
@@ -26,12 +26,12 @@ def index():
|
||||
|
||||
# Only fetch players that are members of this clan
|
||||
rows = conn.execute('''
|
||||
SELECT ts.player, ts.player_id, MAX(ts.updated_at) as last_seen, MAX(ts.world_id) as world_id
|
||||
SELECT ts.player, ts.player_id, ts.world_id, MAX(ts.updated_at) as last_seen
|
||||
FROM town_state ts
|
||||
INNER JOIN clan_members cm ON cm.player_id = ts.player_id AND cm.clan_id = ?
|
||||
WHERE ts.player IS NOT NULL
|
||||
GROUP BY ts.player, ts.player_id
|
||||
ORDER BY ts.player ASC
|
||||
GROUP BY ts.player, ts.player_id, ts.world_id
|
||||
ORDER BY ts.player ASC, ts.world_id ASC
|
||||
''', (clan_id,)).fetchall()
|
||||
|
||||
captcha_rows = conn.execute("SELECT key, value FROM kv_store WHERE key LIKE 'captcha_active_%'").fetchall()
|
||||
@@ -61,20 +61,20 @@ def index():
|
||||
return render_template('index.html', players=players, no_clan=False)
|
||||
|
||||
|
||||
@dashboard.route('/player/<player_id>')
|
||||
@dashboard.route('/player/<player_id>/<world_id>')
|
||||
@login_required
|
||||
def player_hub(player_id):
|
||||
return render_template('hub.html', player_id=player_id)
|
||||
def player_hub(player_id, world_id):
|
||||
return render_template('hub.html', player_id=player_id, world_id=world_id)
|
||||
|
||||
@dashboard.route('/player/<player_id>/admin')
|
||||
@dashboard.route('/player/<player_id>/<world_id>/admin')
|
||||
@login_required
|
||||
def player_dashboard(player_id):
|
||||
return render_template('dashboard.html', player_id=player_id)
|
||||
def player_dashboard(player_id, world_id):
|
||||
return render_template('dashboard.html', player_id=player_id, world_id=world_id)
|
||||
|
||||
@dashboard.route('/player/<player_id>/farm')
|
||||
@dashboard.route('/player/<player_id>/<world_id>/farm')
|
||||
@login_required
|
||||
def player_farm(player_id):
|
||||
return render_template('farm.html', player_id=player_id)
|
||||
def player_farm(player_id, world_id):
|
||||
return render_template('farm.html', player_id=player_id, world_id=world_id)
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
@@ -176,16 +176,26 @@ def get_market_data():
|
||||
@dashboard.route('/dashboard/towns', methods=['GET'])
|
||||
def get_towns():
|
||||
player_id = request.args.get('player_id')
|
||||
world_id = request.args.get('world_id')
|
||||
conn = get_db()
|
||||
rows = conn.execute('''
|
||||
|
||||
query = '''
|
||||
SELECT ts.town_id, ts.town_name, ts.player, ts.player_id, ts.alliance_id,
|
||||
ts.world_id, ts.x, ts.y, ts.sea, ts.data, ts.updated_at,
|
||||
tb.blueprint_name, tb.is_active as blueprint_active
|
||||
FROM town_state ts
|
||||
LEFT JOIN town_blueprints tb ON ts.town_id = tb.town_id AND tb.is_active = 1
|
||||
WHERE ts.player_id = ?
|
||||
ORDER BY ts.town_name ASC
|
||||
''', (player_id, )).fetchall()
|
||||
'''
|
||||
params = [player_id]
|
||||
|
||||
if world_id:
|
||||
query += ' AND ts.world_id = ?'
|
||||
params.append(world_id)
|
||||
|
||||
query += ' ORDER BY ts.town_name ASC'
|
||||
|
||||
rows = conn.execute(query, params).fetchall()
|
||||
conn.close()
|
||||
|
||||
towns = []
|
||||
@@ -367,13 +377,24 @@ def reorder_commands():
|
||||
def get_commands():
|
||||
player_id = request.args.get('player_id')
|
||||
conn = get_db()
|
||||
rows = conn.execute('''
|
||||
SELECT id, town_id, town_name, type, payload, status, result_msg, created_at, updated_at
|
||||
FROM commands
|
||||
WHERE player_id = ?
|
||||
ORDER BY id DESC
|
||||
LIMIT 50
|
||||
''', (player_id, )).fetchall()
|
||||
world_id = request.args.get('world_id')
|
||||
conn = get_db()
|
||||
|
||||
query = '''
|
||||
SELECT c.id, c.town_id, c.town_name, c.type, c.payload, c.status, c.result_msg, c.created_at, c.updated_at
|
||||
FROM commands c
|
||||
JOIN town_state ts ON c.town_id = ts.town_id
|
||||
WHERE c.player_id = ?
|
||||
'''
|
||||
params = [player_id]
|
||||
|
||||
if world_id:
|
||||
query += ' AND ts.world_id = ?'
|
||||
params.append(world_id)
|
||||
|
||||
query += ' ORDER BY c.id DESC LIMIT 50'
|
||||
|
||||
rows = conn.execute(query, params).fetchall()
|
||||
conn.close()
|
||||
|
||||
return jsonify([dict(r) for r in rows])
|
||||
|
||||
Reference in New Issue
Block a user