From e4d94fbda5724c71f938660325b98326f0bc7bf6 Mon Sep 17 00:00:00 2001
From: Andrew <mcdeweykp@gmail.com>
Date: Thu, 26 Aug 2021 21:06:22 -0400
Subject: [PATCH] Adds status page at /status

---
 app/classes/web/status_handler.py             |  47 ++++++++++++
 app/classes/web/tornado.py                    |   2 +
 app/frontend/static/assets/css/crafty.css     |   5 ++
 .../static/assets/images/logo_long.png        | Bin 0 -> 31856 bytes
 app/frontend/templates/blank_base.html        |   3 +-
 app/frontend/templates/public/status.html     |  68 ++++++++++++++++++
 6 files changed, 124 insertions(+), 1 deletion(-)
 create mode 100644 app/classes/web/status_handler.py
 create mode 100644 app/frontend/static/assets/images/logo_long.png
 create mode 100644 app/frontend/templates/public/status.html

diff --git a/app/classes/web/status_handler.py b/app/classes/web/status_handler.py
new file mode 100644
index 00000000..93e54bad
--- /dev/null
+++ b/app/classes/web/status_handler.py
@@ -0,0 +1,47 @@
+from re import template
+import sys
+import json
+import logging
+import tornado.web
+import tornado.escape
+import requests
+
+from app.classes.shared.helpers import helper
+from app.classes.web.base_handler import BaseHandler
+from app.classes.shared.console import console
+from app.classes.shared.models import Users, fn, db_helper
+
+logger = logging.getLogger(__name__)
+
+try:
+    import bleach
+
+except ModuleNotFoundError as e:
+    logger.critical("Import Error: Unable to load {} module".format(e.name), exc_info=True)
+    console.critical("Import Error: Unable to load {} module".format(e.name))
+    sys.exit(1)
+
+
+class StatusHandler(BaseHandler):
+    def get(self):
+        page_data = {}
+        page_data['servers'] = db_helper.get_all_servers_stats()
+
+        template = 'public/status.html'
+
+        self.render(
+        template,
+        data=page_data,
+        translate=self.translator.translate,
+    )
+    def post(self):
+        page_data = {}
+        page_data['servers'] = db_helper.get_all_servers_stats()
+
+        template = 'public/status.html'
+
+        self.render(
+        template,
+        data=page_data,
+        translate=self.translator.translate,
+    )
\ No newline at end of file
diff --git a/app/classes/web/tornado.py b/app/classes/web/tornado.py
index a82f619f..aeed856f 100644
--- a/app/classes/web/tornado.py
+++ b/app/classes/web/tornado.py
@@ -29,6 +29,7 @@ try:
     from app.classes.shared.translation import translation
     from app.classes.web.upload_handler import UploadHandler
     from app.classes.web.http_handler import HTTPHandler, HTTPHandlerPage
+    from app.classes.web.status_handler import StatusHandler
 
 except ModuleNotFoundError as e:
     logger.critical("Import Error: Unable to load {} module".format(e, e.name))
@@ -132,6 +133,7 @@ class Webserver:
             (r'/api/stats/node', NodeStats, handler_args),
             (r'/ws', SocketHandler, handler_args),
             (r'/upload', UploadHandler),
+            (r'/status', StatusHandler, handler_args)
             ]
 
         app = tornado.web.Application(
diff --git a/app/frontend/static/assets/css/crafty.css b/app/frontend/static/assets/css/crafty.css
index 892bd52f..c39b2c2a 100644
--- a/app/frontend/static/assets/css/crafty.css
+++ b/app/frontend/static/assets/css/crafty.css
@@ -80,3 +80,8 @@ body { background-color: var(--dark) !important; /* Firefox */ }
 .actions_serverlist > a > i {
   cursor: pointer;
 }
+.corner {
+    position: absolute;
+    margin-top: 0;
+    margin-left: 0;
+}
\ No newline at end of file
diff --git a/app/frontend/static/assets/images/logo_long.png b/app/frontend/static/assets/images/logo_long.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ebca3a5b51beed0fc643bc94b9cfbb1333de029
GIT binary patch
literal 31856
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
Kbd{uW@c#nnijuwn

literal 0
HcmV?d00001

diff --git a/app/frontend/templates/blank_base.html b/app/frontend/templates/blank_base.html
index ace4b7dd..cc5bba76 100644
--- a/app/frontend/templates/blank_base.html
+++ b/app/frontend/templates/blank_base.html
@@ -11,6 +11,7 @@
     <link rel="stylesheet" href="/static/assets/vendors/ti-icons/css/themify-icons.css">
     <link rel="stylesheet" href="/static/assets/vendors/typicons/typicons.css">
     <link rel="stylesheet" href="/static/assets/vendors/css/vendor.bundle.base.css">
+    <link rel="stylesheet" href="/static/assest/vendors/css/crafty.css"
     <!-- endinject -->
     <!-- Plugin css for this page -->
     <!-- End Plugin css for this page -->
@@ -24,7 +25,7 @@
       <div class="container-fluid page-body-wrapper full-page-wrapper">
         <div class="content-wrapper d-flex align-items-center auth auth-bg-1 theme-one">
           <div class="row w-100">
-            <div class="col-lg-4 mx-auto">
+            <div class="mx-auto">
 
             {% block content %}
             {% end %}
diff --git a/app/frontend/templates/public/status.html b/app/frontend/templates/public/status.html
new file mode 100644
index 00000000..6d9d02cc
--- /dev/null
+++ b/app/frontend/templates/public/status.html
@@ -0,0 +1,68 @@
+{% extends ../blank_base.html %}
+
+{% block meta %}
+  <meta http-equiv="refresh" content="30">
+{% end %}
+
+{% block title %}Crafty Controller - {{ translate('dashboard', 'dashboard') }}{% end %}
+
+{% block content %}
+<div class="content-wrapper col-md login-modal" style="background-color: #222437;">
+<img src="/static/assets/images/logo_long.png" style='width: 25%; margin-left: 38%;'></img>
+
+
+<div class="table-responsive">
+            <table class="table table-hover">
+              <thead>
+                <tr class="rounded">
+                  <th>{{ translate('dashboard', 'server') }}</th>
+                  <th>{{ translate('dashboard', 'players') }}</th>
+                  <th>{{ translate('dashboard', 'status') }}</th>
+                </tr>
+              </thead>
+              <tbody>
+                {% for server in data['servers'] %}
+                <tr>
+                  <td>
+                    <i class="fas fa-server"></i>
+                      {{ server['server_data']['server_name'] }}
+                  </td>
+                  <td>
+                    {% if server['stats']['int_ping_results'] %}
+                      {{ server['stats']['online'] }} / {{ server['stats']['max'] }} {{ translate('dashboard', 'max') }}<br />
+
+                      {% if server['stats']['desc'] != 'False' %}
+                        {{ server['stats']['desc'] }} <br />
+                      {% end %}
+
+                      {% if server['stats']['version'] != 'False' %}
+                        {{ server['stats']['version'] }}
+                      {% end %}
+                    {% end %}
+
+                  </td>
+                  <td>
+                    {% if server['stats']['running'] %}
+                    <i class="fas fa-thumbs-up"></i> <span class="text-success">{{ translate('dashboard', 'online') }}</span>
+                    {% else %}
+                    <i class="fas fa-thumbs-down"></i> <span class="text-danger">{{ translate('dashboard', 'offline') }}</span>
+                    {% end %}
+                  </td>
+                </tr>
+                {% end %}
+
+              </tbody>
+            </table>
+
+
+
+</div>
+<!-- content-wrapper ends -->
+
+
+
+{% end %}
+
+{% block js %}
+
+{% end %}
\ No newline at end of file