MJ2 : fix options
This commit is contained in:
@@ -2,7 +2,7 @@ from flask import Blueprint, render_template, request, jsonify, redirect, url_fo
|
||||
from flask_login import login_user, logout_user, login_required, current_user
|
||||
from werkzeug.security import generate_password_hash, check_password_hash
|
||||
from db import get_db, generate_clan_key
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timezone
|
||||
|
||||
auth = Blueprint('auth', __name__)
|
||||
|
||||
@@ -108,14 +108,13 @@ def logout():
|
||||
def options():
|
||||
conn = get_db()
|
||||
|
||||
# Load this user's clan (one clan per user for now)
|
||||
clan = conn.execute(
|
||||
'SELECT * FROM clans WHERE owner_id = ?', (current_user.id,)
|
||||
).fetchone()
|
||||
|
||||
members = []
|
||||
if clan:
|
||||
members = conn.execute(
|
||||
rows = conn.execute(
|
||||
'''SELECT cm.id, cm.player_id, cm.player_name, cm.joined_at,
|
||||
ts.updated_at
|
||||
FROM clan_members cm
|
||||
@@ -126,6 +125,24 @@ def options():
|
||||
(clan['id'],)
|
||||
).fetchall()
|
||||
|
||||
now = datetime.utcnow()
|
||||
for row in rows:
|
||||
is_online = False
|
||||
if row['updated_at']:
|
||||
try:
|
||||
last_seen = datetime.fromisoformat(row['updated_at'])
|
||||
if (now - last_seen).total_seconds() <= 150:
|
||||
is_online = True
|
||||
except Exception:
|
||||
pass
|
||||
members.append({
|
||||
'id': row['id'],
|
||||
'player_id': row['player_id'],
|
||||
'player_name': row['player_name'] or 'Άγνωστος',
|
||||
'joined_at': row['joined_at'][:10] if row['joined_at'] else '',
|
||||
'is_online': is_online
|
||||
})
|
||||
|
||||
conn.close()
|
||||
return render_template('options.html', clan=clan, members=members)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user