diff --git a/app/admin/routes.py b/app/admin/routes.py index 78422db..99f48a3 100644 --- a/app/admin/routes.py +++ b/app/admin/routes.py @@ -7,7 +7,7 @@ from .forms import ChargeForm, Addr2PoolForm from .. import db from ..email import send_email -from ..models import User, Transaction, Server, Deployment, Service, Region, Bridge, Router, Address, Domain, contact_proxmaster +from ..models import User, Transaction, Server, Deployment, Service, Region, Address, Domain, contact_proxmaster from ..decorators import admin_required, permission_required import base64 @@ -94,8 +94,7 @@ def charge(user_pid=0): @admin_required def list_addresses(): alladdresses = Address.query.order_by(Address.ip.asc()).all() - allrouters = Router.query.all() - return render_template('admin/list_addresses.html', addresses=alladdresses, routers=allrouters) + return render_template('admin/list_addresses.html', addresses=alladdresses) @admin.route("/addr2pool", methods=['GET', 'POST']) @fresh_login_required @@ -161,16 +160,11 @@ def dashboard(user_pid=0): cuser = User.query.filter_by(pid=user_pid).first() inv_deployments = cuser.inv_deployments.filter_by(deleted=False).order_by(Deployment.date_created.desc()).all() - inv_legacy = cuser.inv_deployments.filter_by(deleted=False).filter_by(bridge_id=None).order_by(Deployment.date_created.desc()).all() - inv_deploycubeids = [] inv_deployments_list = [] for invcls in inv_deployments: inv_deploycubeids.extend([invcls.machine_id]) inv_deployments_list.extend([invcls.machine_alias]) - for invcls in inv_legacy: - if invcls.user_id == cuser.pid: - inv_deploycubeids.extend([invcls.machine_id]) inv_services = cuser.inv_services.filter_by(deleted=False).order_by(Service.date_last_charge.asc()).all() inv_services_list = [] @@ -187,11 +181,6 @@ def dashboard(user_pid=0): for invcls in inv_addresses: inv_addresses_list.extend([invcls.ip]) - inv_bridges = cuser.inv_bridges.order_by(Bridge.bridge_id.asc()).all() - inv_bridges_list = [] - for invcls in inv_bridges: - inv_bridges_list.extend([invcls.bridge_id]) - sys_regions = Region.query.all() regions = {} for region in sys_regions: @@ -216,7 +205,7 @@ def dashboard(user_pid=0): rrd[unit_id][graph] = base64.b64encode(raw).decode() status = { unit_id : query['status'] } statuses.update(status) - current_app.logger.info('[{}] Enabled deployments: {}, services: {}, domains: {}, bridges: {}, addresses: {}'.format(cuser.email, inv_deployments_list, inv_services_list, inv_domains_list, inv_bridges_list, inv_addresses_list)) - return render_template('panel/dashboard.html', rrd=rrd, status=statuses, inv_deployments=inv_deployments, inv_legacy=inv_legacy, inv_services=inv_services, inv_domains=inv_domains, inv_bridges=inv_bridges, inv_addresses=inv_addresses, regions=regions) + current_app.logger.info('[{}] Enabled deployments: {}, services: {}, domains: {}, addresses: {}'.format(cuser.email, inv_deployments_list, inv_services_list, inv_domains_list, inv_addresses_list)) + return render_template('panel/dashboard.html', rrd=rrd, status=statuses, inv_deployments=inv_deployments, inv_services=inv_services, inv_domains=inv_domains, inv_addresses=inv_addresses, regions=regions) diff --git a/app/main/routes.py b/app/main/routes.py index 5837fe8..aa188a3 100644 --- a/app/main/routes.py +++ b/app/main/routes.py @@ -5,7 +5,7 @@ from flask_sqlalchemy import get_debug_queries from . import main from .. import db from ..email import send_email -from ..models import User, Permission, Server, Deployment, Service, Region, Address, Bridge, Router, Domain, contact_proxmaster +from ..models import User, Permission, Server, Deployment, Service, Region, Address, Domain, contact_proxmaster import base64 diff --git a/app/models.py b/app/models.py index 9444754..350a0c3 100644 --- a/app/models.py +++ b/app/models.py @@ -86,18 +86,14 @@ class User(db.Model, UserMixin): language = db.Column(db.String, default='BG') wallet = db.Column(db.Float) currency = db.Column(db.String, default='BGN') + inv_transactions = db.relationship('Transaction', backref='owner', lazy='dynamic') inv_servers = db.relationship('Server', backref='owner', lazy='dynamic') - inv_routers = db.relationship('Router', backref='owner', lazy='dynamic') - inv_addresses = db.relationship('Address', backref='owner', lazy='dynamic') - inv_bridges = db.relationship('Bridge', backref='owner', lazy='dynamic') - inv_deployments = db.relationship('Deployment', backref='owner', lazy='dynamic') + inv_services = db.relationship('Service', backref='owner', lazy='dynamic') inv_domains = db.relationship('Domain', backref='owner', lazy='dynamic') - - - inv_transactions = db.relationship('Transaction', backref='owner', lazy='dynamic') + inv_addresses = db.relationship('Address', backref='owner', lazy='dynamic') def __init__(self, **kwargs): super(User, self).__init__(**kwargs) diff --git a/app/panel/routes.py b/app/panel/routes.py index 1921631..eb481ae 100644 --- a/app/panel/routes.py +++ b/app/panel/routes.py @@ -6,7 +6,7 @@ from . import panel from .forms import OrderForm from .. import db from ..email import send_email -from ..models import User, Permission, Server, Deployment, Service, Region, Address, Bridge, Router, Domain, contact_proxmaster +from ..models import User, Permission, Server, Deployment, Service, Region, Address, Domain, contact_proxmaster import base64 @@ -31,12 +31,8 @@ def dashboard(): sys_regions = Region.query.all() cuser = current_user - inv_bridges = cuser.inv_bridges.order_by(Bridge.bridge_id.asc()).all() inv_addresses = cuser.inv_addresses.order_by(Address.ip.asc()).all() - inv_routers = cuser.inv_routers.order_by(Router.date_created.asc()).all() inv_deployments = cuser.inv_deployments.filter_by(deleted=False).order_by(Deployment.date_created.desc()).all() - inv_legacy = cuser.inv_deployments.filter_by(deleted=False).filter_by(bridge_id=None).order_by(Deployment.date_created.desc()).all() - regions = {} for region in sys_regions: regions[region.pid] = region.description @@ -45,9 +41,6 @@ def dashboard(): for invcls in inv_deployments: if invcls.user_id == cuser.pid: inv_deploycubeids.extend([invcls.machine_id]) - for invcls in inv_legacy: - if invcls.user_id == cuser.pid: - inv_deploycubeids.extend([invcls.machine_id]) inv_services = cuser.inv_services.filter_by(deleted=False).order_by(Service.date_last_charge.asc()).all() inv_domains = cuser.inv_domains.filter_by(deleted=False).order_by(Domain.date_created.desc()).all() @@ -83,5 +76,5 @@ def dashboard(): send_email(current_app.config['MAIL_USERNAME'], 'Cube {} is unreachable'.format(unit_id), 'vmanager/email/adm_unreachable', user=current_user, unit_id=unit_id, error=str(e)) - return render_template('panel/dashboard.html', sys_regions=sys_regions, inv_bridges=inv_bridges, inv_deployments=inv_deployments, inv_legacy=inv_legacy, inv_services=inv_services, inv_domains=inv_domains, inv_addresses=inv_addresses, rrd=rrd, status=statuses, regions=regions) + return render_template('panel/dashboard.html', sys_regions=sys_regions, inv_deployments=inv_deployments, inv_services=inv_services, inv_domains=inv_domains, inv_addresses=inv_addresses, rrd=rrd, status=statuses, regions=regions) diff --git a/app/templates/admin/list_addresses.html b/app/templates/admin/list_addresses.html index 9d75d43..e475b90 100644 --- a/app/templates/admin/list_addresses.html +++ b/app/templates/admin/list_addresses.html @@ -17,7 +17,7 @@ IP - Asignee + Assignee VLAN Slave Region @@ -29,9 +29,15 @@ {% if address.enabled == False %}{% else %}{% endif %} {{ address.ip }} + {% if address.assignee != None %} {{ address.assignee.machine_alias }} {{ address.assignee.vlan }} - {{ address.server.name }} + {{ address.assignee.server.name }} + {% else %} + None + + + {% endif %} {{ address.region.name }} {{ address.rdns }} {% endfor %} diff --git a/app/templates/panel/dashboard.html b/app/templates/panel/dashboard.html index 503e807..9acebf8 100644 --- a/app/templates/panel/dashboard.html +++ b/app/templates/panel/dashboard.html @@ -139,34 +139,19 @@ addEventListener("DOMContentLoaded", function() {
- {% for bridge in inv_bridges %} + {% if inv_deployments != [] %}
-
Private Network Manager #{{ bridge.bridge_id }}
+
Datacenter Manager

- {% for deploy in bridge.inv_deployments %} + {% for deploy in inv_deployments %} {% include "panel/vdc_pool.html" %} {% endfor %}
- {% endfor %} - - {% if inv_legacy != [] %} -
-
-
Network Manager
-

-

- {% for deploy in inv_legacy %} - {% include "panel/vdc_pool2.html" %} - {% endfor %} -
-
-
-
{% endif %} {% if inv_services != [] %} diff --git a/app/templates/panel/vdc_pool2.html b/app/templates/panel/vdc_pool2.html deleted file mode 100644 index da7c9b2..0000000 --- a/app/templates/panel/vdc_pool2.html +++ /dev/null @@ -1,105 +0,0 @@ -{% block vdc_pool %} - {% if deploy.enabled == False %} -
- {% else %} - {% if deploy.warning == True %} -
- {% else %} -
- {% endif %} - {% endif %} -
- - {% if deploy.enabled == False or deploy.warning == True %} -
- {% else %} -
- {% endif %} -
- - -
-
-


- {% if deploy.enabled == True %} - - {% if status[deploy.machine_id] == 'running' %} - - -

-

- - - {% else %} - - {% endif %} - {% endif %} -

-

- - {% if deploy.enabled == False %} - - {% else %} - {% if deploy.warning == True %} - - {% else %} - {{ deploy.daysleft }} day(s) - {% endif %} - {% endif %} -

- -
- -
-

-

-
- - Processor {{ deploy.machine_cpu }} {% if deploy.machine_cpu > 1 %}cores{% else %}core{% endif %} -
-
- - Allocated memory {{ deploy.machine_mem }} MB
-
-
-
-
- - Network traffic -
-
- - IOPS of {{ deploy.machine_hdd }} GB storage
-
-

-
- -
-
-

- Unit: {{ deploy.machine_id }}
- State: {{ status[deploy.machine_id] }}
- Protected: {{ deploy.protected }}
-

-
- -
-
-
- - - - {% if inv_deployments != [] %} - - {% else %} - - {% endif %} -{% endblock %} diff --git a/app/templates/panel/vdc_pool3.html b/app/templates/panel/vdc_pool3.html deleted file mode 100644 index f8b9269..0000000 --- a/app/templates/panel/vdc_pool3.html +++ /dev/null @@ -1,102 +0,0 @@ -
- {% for deploy in inv_deployments %} - {% if deploy.enabled == False %} -
- {% else %} - {% if deploy.warning == True %} -
- {% else %} -
- {% endif %} - {% endif %} -
- - {% if deploy.enabled == False or deploy.warning == True %} -
- {% else %} -
- {% endif %} -
- - -
-
-


- {% if deploy.enabled == True %} - - {% if status[deploy.machine_id] == 'running' %} - - -

-

- - - {% else %} - - {% endif %} - {% endif %} -

-

- - {% if deploy.enabled == False %} - - {% else %} - {% if deploy.warning == True %} - - {% else %} - {{ deploy.daysleft }} day(s) - {% endif %} - {% endif %} -

- -
- -
-

-

-
- - Processor {{ deploy.machine_cpu }} {% if deploy.machine_cpu > 1 %}cores{% else %}core{% endif %} -
-
- - Allocated memory {{ deploy.machine_mem }} MB
-
-
-
-
- - Network traffic -
-
- - IOPS of {{ deploy.machine_hdd }} GB storage
-
-

-
- -
-
-

- Unit: {{ deploy.machine_id }}
- State: {{ status[deploy.machine_id] }}
- Protected: {{ deploy.protected }}
-

-
- -
-
-
- - {% endfor %} -
- - diff --git a/app/vmanager/routes.py b/app/vmanager/routes.py index c38dc01..1c4d10d 100644 --- a/app/vmanager/routes.py +++ b/app/vmanager/routes.py @@ -6,7 +6,7 @@ from . import vmanager from .forms import CreateForm, ActivateForm from .. import db from ..email import send_email -from ..models import User, Permission, Transaction, Bridge, Router, Deployment, Service, Region, Address, Domain, contact_proxmaster +from ..models import User, Permission, Transaction, Deployment, Service, Region, Address, Domain, contact_proxmaster from ..decorators import admin_required, permission_required import base64