From 8753a380ba4e6b48379753b85018d297812b99fa Mon Sep 17 00:00:00 2001 From: deflax Date: Thu, 18 Jan 2018 16:01:17 +0200 Subject: [PATCH] separate services --- app/__init__.py | 2 ++ app/templates/main/index.html | 21 ------------ app/templates/main/serverlist.html | 21 ++++++++++++ app/templates/panel/services.html | 51 ++++++++++++++++++++++++++++++ app/vmanager/routes.py | 16 +++++++++- 5 files changed, 89 insertions(+), 22 deletions(-) create mode 100644 app/templates/main/serverlist.html create mode 100644 app/templates/panel/services.html diff --git a/app/__init__.py b/app/__init__.py index 6e6e046..6300721 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -7,6 +7,7 @@ from flask_login import LoginManager from flask_wtf.csrf import CSRFProtect, CSRFError from flask_babel import Babel, lazy_gettext from flask_moment import Moment +#from flask_httpauth import import import HTTPBasicAuth from werkzeug.contrib.fixers import ProxyFix from config import config @@ -18,6 +19,7 @@ app.wsgi_app = ProxyFix(app.wsgi_app) db = SQLAlchemy(session_options = { "autoflush": False }) db.init_app(app) +#apiauth = HTTPBasicAuth() lm = LoginManager() lm.init_app(app) lm.login_view = 'auth.login' diff --git a/app/templates/main/index.html b/app/templates/main/index.html index 67d46e1..2c3ee9c 100644 --- a/app/templates/main/index.html +++ b/app/templates/main/index.html @@ -81,27 +81,6 @@ -{% for server in servers %} -
-
-
-
-
-

- -
-
- Alias: {{ server.name }}
- Processor: {{ server.cpu }}
- Memory: {{ server.mem }}
- Storage: {{ server.hdd }}
-
-
-
-
-
-{% endfor %} -
diff --git a/app/templates/main/serverlist.html b/app/templates/main/serverlist.html new file mode 100644 index 0000000..9db1717 --- /dev/null +++ b/app/templates/main/serverlist.html @@ -0,0 +1,21 @@ +{% for server in servers %} +
+
+
+
+
+

+ +
+
+ Alias: {{ server.name }}
+ Processor: {{ server.cpu }}
+ Memory: {{ server.mem }}
+ Storage: {{ server.hdd }}
+
+
+
+
+
+{% endfor %} + diff --git a/app/templates/panel/services.html b/app/templates/panel/services.html new file mode 100644 index 0000000..9dc8cc5 --- /dev/null +++ b/app/templates/panel/services.html @@ -0,0 +1,51 @@ +{% block services %} + {% if inv_services != [] %} +
+
+
Services
+
+
+ + + + + + + + + + {% for service in inv_services %} + {% if service.enabled == False %} + + {% else %} + {% if service.warning == True %} + + {% else %} + + {% endif %} + {% endif %} + + + + {% if service.enabled == False %} + + {% else %} + {% if service.warning == True %} + + {% else %} + + {% endif %} + {% endif %} + + {% endfor %} + +
CategoryDescriptionLast ChargedTime Left
{{ service.category }}{{ service.description }}{{ moment(service.date_last_charge).format('lll') }} ({{ moment(service.date_last_charge).fromNow() }}){{ service.daysleft }} day(s)
+
+ + {% else %} +
+
+
+ + +{% endblock %} diff --git a/app/vmanager/routes.py b/app/vmanager/routes.py index b4ae8dc..0c2fe12 100644 --- a/app/vmanager/routes.py +++ b/app/vmanager/routes.py @@ -1,4 +1,4 @@ -from flask import render_template, abort, redirect, url_for, abort, flash, request, current_app, make_response, g +from flask import jsonify, render_template, abort, redirect, url_for, abort, flash, request, current_app, make_response, g from flask_login import login_required, login_user, logout_user, current_user from flask_sqlalchemy import get_debug_queries @@ -27,6 +27,20 @@ def after_request(response): current_app.logger.warning('Slow query: %s\nParameters: %s\nDuration: %fs\nContext: %s\n' % (query.statement, query.parameters, query.duration, query.context)) return response +@vmanager.route('/slavetables/', methods=['GET']) +def slavetables(regionid): + selected_region = Region.query.filter_by(pid=int(regionid)).first() + if selected_region == None: + return jsonify({}) + addresses = selected_region.inv_addresses.filter_by(enabled=True).all() + regionlist = {} + for address in addresses: + regionlist[str(address.pid)] = { 'ipv4': str(address.ip), 'mac': str(address.mac) } + + data = { 'region_id': str(selected_region.pid), + 'addresses': regionlist } + return jsonify(data) + @vmanager.route('/createvm', methods=['GET', 'POST']) @login_required