From 9a98c4623f0406f6bc3d51e0b6f32e3316dd4b53 Mon Sep 17 00:00:00 2001 From: Antonio de la Rosa Date: Fri, 11 Apr 2025 01:33:31 +0200 Subject: [PATCH] Fix in error template --- paramecio/app.py | 51 +++++++++++++++++++++++++++++++-- paramecio/modules/admin2/app.py | 10 +++---- 2 files changed, 54 insertions(+), 7 deletions(-) diff --git a/paramecio/app.py b/paramecio/app.py index fe5d986..0169c26 100644 --- a/paramecio/app.py +++ b/paramecio/app.py @@ -1,6 +1,6 @@ import os, sys, traceback, inspect, resource from importlib import import_module -from bottle import route, get, post, run, default_app, abort, request, response, static_file, load, hook, error, debug, redirect +from bottle import route, get, post, run, default_app, abort, request, response, static_file, load, hook, error, debug, redirect, template from settings import config #from beaker.middleware import SessionMiddleware from mimetypes import guess_type @@ -204,7 +204,54 @@ if config.yes_static==True: else: mimetype=guess_type(path_module+'/'+filename) return static_file(filename, root=path_module, mimetype=mimetype[0]) - + + +def error_handler_500(e): + + tpl_error=""" + %try: + %from bottle import DEBUG, request + + + + Error: {{e.status}} + + + +

Error: {{e.status}}

+

Sorry, the requested URL {{repr(request.url)}} + caused an error:

+
{{e.body}}
+ %if DEBUG and e.exception: +

Exception:

+ %try: + %exc = repr(e.exception) + %except: + %exc = '' % type(e.exception).__name__ + %end +
{{exc}}
+ %end + %if DEBUG and e.traceback: +

Traceback:

+
{{e.traceback}}
+ %end + + + %except ImportError: + ImportError: Could not generate the error page. Please add bottle to + the import path. + %end + """ + + return template(tpl_error, e=e) + +app.error(code=500, callback=error_handler_500) + def run_app(app): if config.server_used!='cherrypy': run(app=app, host=config.host, server=config.server_used, port=config.port, debug=config.debug, reloader=config.reloader) diff --git a/paramecio/modules/admin2/app.py b/paramecio/modules/admin2/app.py index b2c15a4..8eb62d3 100644 --- a/paramecio/modules/admin2/app.py +++ b/paramecio/modules/admin2/app.py @@ -58,11 +58,6 @@ admin_folder='/admin' if hasattr(config, 'admin_folder'): admin_folder=config.admin_folder -@app.get(admin_folder) -def redirect_home(): - - redirect(app.get_url('admin_app.home_admin')) - @admin_app.get('/home', name="admin_app.home_admin") def home_admin(session={}): @@ -73,6 +68,10 @@ def home_admin(session={}): return t.load_template('layout.phtml', title=_('Admin'), module_selected='home_admin', session=session) #return {} +@app.get(admin_folder) +def redirect_home(): + + redirect(app.get_url('admin_app.home_admin')) @admin_app.get('/login', name="admin_app.login_admin", skip=[check_login]) def login_admin(session={}): @@ -211,6 +210,7 @@ def check_login_admin(session={}): modules_priv+=v[2] modules_priv.append('admin_app.home_admin') + modules_priv.append('admin_app.change_theme') db.query('update useradmin2 set token_login=%s, last_login=%s, token_auth=%s WHERE id=%s', [remember_key, date_now, usermodel.fields['password'].check(token_auth), result['id']])