import mysql.connector as mariadb from mako.template import Template from config import globalvar, database from bottle import request import procedure.session as procedure_session class home: def __init__(self): self.db_main = mariadb.connect(**database.db_main) self.cursor = self.db_main.cursor(dictionary=True) self.user = { "data":{ "profile":{ "username":None, "email":None, "phone":None, "roles":[0] } } } def html(self, params): active_page = "Home" allowed_roles = [0,1,2,3] beaker_session = request.environ.get('beaker.session') jwt = beaker_session["token"] if "token" in beaker_session else None self.user = procedure_session.session().user(jwt, allowed_roles) if jwt is not None else self.user user = self.user['data'] if 'valid' in user and user['valid']['status'] == 0: return redirect('/logout') else: return Template(params["mako"]["website"]['index']).render( title = globalvar.title, header = globalvar.header, navbar = Template(params["mako"]["website"]['navbar']).render( menu = globalvar.menu['public']['navbar'], user_roles = user['profile']['roles'], active_page = active_page ), footer = Template(params["mako"]["website"]['footer']).render( copyright = globalvar.copyright, ), container = Template(params["mako"]["website"]['container']).render( greeting = f"Welcome to your new web application! This placeholder page is here to let you know that your web framework is successfully set up and ready to go. Now, it's time to start building your project. Dive into the documentation to explore the features and capabilities at your disposal.", user = user ) )