From e73d1ecd53f5634ea1102c9916461594b31aeb04 Mon Sep 17 00:00:00 2001 From: Aaron Kimbre Date: Sun, 3 Apr 2022 13:31:43 -0500 Subject: [PATCH] online player count and mod list on about page --- .gitignore | 1 + app/main.py | 21 +++++++++++-- app/templates/header.html.j2 | 20 ++++++------ app/templates/main/about.html.j2 | 52 ++++++++------------------------ 4 files changed, 43 insertions(+), 51 deletions(-) diff --git a/.gitignore b/.gitignore index 78e3215..04b2c29 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ app/cache/* property_files/* *.log app/settings.py +*.exe diff --git a/app/main.py b/app/main.py index df3103a..485a48c 100644 --- a/app/main.py +++ b/app/main.py @@ -1,7 +1,7 @@ from flask import render_template, Blueprint, send_from_directory -from flask_user import current_user +from flask_user import current_user, login_required -from app.models import Account +from app.models import Account, CharacterInfo, ActivityLog from app.schemas import AccountSchema, CharacterInfoSchema main_blueprint = Blueprint('main', __name__) @@ -25,9 +25,24 @@ def index(): @main_blueprint.route('/about') +@login_required def about(): """About Page""" - return render_template('main/about.html.j2') + mods = Account.query.filter(Account.gm_level > 0).all() + online = 0 + chars = CharacterInfo.query.all() + for char in chars: + last_log = ActivityLog.query.with_entities( + ActivityLog.activity + ).filter( + ActivityLog.character_id == char.id + ).order_by(ActivityLog.id.desc()).first() + print(last_log) + if last_log: + if last_log[0] == 0: + online += 1 + + return render_template('main/about.html.j2', mods=mods, online=online) @main_blueprint.route('/favicon.ico') diff --git a/app/templates/header.html.j2 b/app/templates/header.html.j2 index 475eaf0..a801b4f 100644 --- a/app/templates/header.html.j2 +++ b/app/templates/header.html.j2 @@ -46,6 +46,11 @@ Properties {% endif %} + {% if current_user.is_authenticated and current_user.gm_level == 9 and config.REQUIRE_PLAY_KEY %} + {# Play Keys #} + Play Keys + {% endif %} + {% if current_user.is_authenticated and current_user.gm_level >= 2 %} Reports - {% elif current_user.is_authenticated %} + {% endif %} + {% if current_user.is_authenticated %} - {% endif %} - - {% if current_user.is_authenticated and current_user.gm_level == 9 and config.REQUIRE_PLAY_KEY %} - {# Play Keys #} - Play Keys - {% endif %} - - {# About always right most #} + {# About always right most #} About + {% endif %} + + {# Only show logout if unauthenticated #} {% if current_user.is_authenticated %} diff --git a/app/templates/main/about.html.j2 b/app/templates/main/about.html.j2 index 87382be..68380e2 100644 --- a/app/templates/main/about.html.j2 +++ b/app/templates/main/about.html.j2 @@ -12,49 +12,23 @@

Contributors

-
- Developer: -
-
- Aronwk (Aaron Kimbrell) +
+ Online Players: {{ online }}
-
-
- Developer: + {% for mod in mods %} +
+
+ {{ mod.username }} +
+
+ {% with gm_level=mod.gm_level %} + {% include 'partials/_gm_level.html.j2' %} + {% endwith %} +
-
- Wincent -
-
- -
-
- Logo Designer: -
-
- BlasterBuilder -
-
- -
-
- LDD/LXFML Rendering: -
-
- m2m/sttng -
-
- -
-
- Developer: -
-
- Jett. -
-
+ {% endfor %}