fix planner
This commit is contained in:
@@ -291,6 +291,50 @@ def get_towns():
|
||||
return jsonify(towns)
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# GET /dashboard/clan-towns?world_id=...
|
||||
# Returns all towns for ALL clan members in a given world.
|
||||
# Used by attack planner to let admin pick any player's town.
|
||||
# ------------------------------------------------------------------
|
||||
@dashboard.route('/dashboard/clan-towns', methods=['GET'])
|
||||
@login_required
|
||||
def get_clan_towns():
|
||||
world_id = request.args.get('world_id', '').strip()
|
||||
clan_id = current_user.clan_id
|
||||
if not clan_id or not world_id:
|
||||
return jsonify([])
|
||||
|
||||
conn = get_db()
|
||||
rows = conn.execute('''
|
||||
SELECT ts.town_id, ts.town_name, ts.player, ts.player_id,
|
||||
ts.x, ts.y, ts.sea, ts.world_id, ts.updated_at, ts.data
|
||||
FROM town_state ts
|
||||
INNER JOIN clan_members cm
|
||||
ON cm.player_id = ts.player_id
|
||||
AND cm.world_id = ts.world_id
|
||||
AND cm.clan_id = ?
|
||||
WHERE ts.world_id = ?
|
||||
ORDER BY ts.player ASC, ts.town_name ASC
|
||||
''', (clan_id, world_id)).fetchall()
|
||||
conn.close()
|
||||
|
||||
towns = []
|
||||
for r in rows:
|
||||
d = json.loads(r['data']) if r['data'] else {}
|
||||
towns.append({
|
||||
'town_id': r['town_id'],
|
||||
'town_name': r['town_name'],
|
||||
'player': r['player'],
|
||||
'player_id': r['player_id'],
|
||||
'world_id': r['world_id'],
|
||||
'x': r['x'],
|
||||
'y': r['y'],
|
||||
'sea': r['sea'],
|
||||
'units': d.get('units', {}),
|
||||
})
|
||||
return jsonify(towns)
|
||||
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# POST /dashboard/blueprints
|
||||
# Toggle a blueprint for a specific town
|
||||
|
||||
Reference in New Issue
Block a user