perbaikan penanganan kesalahan untuk membersihkan nilai input dan menghindari pengecualian

1 parent 1e1e7ab7
......@@ -765,5 +765,20 @@ def set_routes(config, app_id=None):
else:
return _set_routes1(config, app_id)
from pyramid.httpexceptions import HTTPBadRequest, HTTPFound
from pyramid.security import forget
from pyramid.view import exception_view_config
@exception_view_config(HTTPBadRequest)
def bad_request_view(exc, request):
# Bersihkan sesi autentikasi (logout)
headers = forget(request)
# Arahkan ulang ke halaman login (misalnya route 'login')
request.session.flash("Permintaan tidak valid. Silakan ulangi kembali.")
referrer = request.referrer or request.route_url('base-home')
response = HTTPFound(location=referrer)
response.headers.extend(headers)
return response
from .depreciated_base import *
......@@ -314,7 +314,8 @@ class BaseView(object):
msg = f"Error cleaning HTML for key {k}: {e}"
log.error(msg)
exc[k] = msg
raise exc from e
value[k] = v
# raise exc from e
"""
......@@ -890,6 +891,8 @@ class BaseView(object):
if k not in value:
value[k] = {}
value[k] = self.update_value(value[k], val)
elif type(val) is list:
pass
elif val:
value[k] = cstruct.get(k)
return value
......@@ -971,7 +974,8 @@ class BaseView(object):
except Exception as e:
msg = f"Error cleaning HTML for key {k}: {v} is {e}"
log.error(msg)
raise Exception(msg) from e
# raise Exception(msg) from e
values[k] = v
if not row:
row = self.table()
......@@ -1027,7 +1031,8 @@ class BaseView(object):
except Exception as e:
msg = f"Error cleaning HTML for key {k}: {v} is {e}"
log.error(msg)
raise Exception(msg) from e
# raise Exception(msg) from e
values[k] = v
return self.save(values, self.req.user, row)
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!