Update User Login dan view_act

1 parent d46c5797
...@@ -14,7 +14,7 @@ pyramid.debug_notfound = true ...@@ -14,7 +14,7 @@ pyramid.debug_notfound = true
pyramid.debug_routematch = true pyramid.debug_routematch = true
pyramid.debug_templates = true pyramid.debug_templates = true
default_locale_name = id default_locale_name = id
sqlalchemy.url = postgresql://aagusti:a@localhost:5432/webrs sqlalchemy.url = postgresql://aagusti:a@localhost:5432/demos
pyramid.includes = pyramid.includes =
pyramid_tm pyramid_tm
pyramid_beaker pyramid_beaker
...@@ -26,7 +26,7 @@ pyramid.includes = ...@@ -26,7 +26,7 @@ pyramid.includes =
; opensipkd.pbb.monitoring ; opensipkd.pbb.monitoring
session.url = postgresql://aagusti:a@localhost:5432/demo session.url = postgresql://aagusti:a@localhost:5432/demos
session.type = ext:database session.type = ext:database
session.secret = s0s3cr3ts session.secret = s0s3cr3ts
session.cookie_expires = true session.cookie_expires = true
...@@ -151,7 +151,7 @@ keys = console, filelog ...@@ -151,7 +151,7 @@ keys = console, filelog
keys = generic keys = generic
[logger_root] [logger_root]
level = DEBUG level = WARN
handlers = console, filelog handlers = console, filelog
#, tabel #, tabel
...@@ -161,7 +161,7 @@ handlers =console, filelog ...@@ -161,7 +161,7 @@ handlers =console, filelog
qualname = opensipkd qualname = opensipkd
[logger_sqlalchemy] [logger_sqlalchemy]
level = DEBUG level = WARN
handlers = handlers =
qualname = sqlalchemy.engine qualname = sqlalchemy.engine
# "level = INFO" logs SQL queries. # "level = INFO" logs SQL queries.
...@@ -189,7 +189,7 @@ level = WARN ...@@ -189,7 +189,7 @@ level = WARN
formatter = generic formatter = generic
[formatter_generic] [formatter_generic]
format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s format = %(asctime)s %(levelname)-5.5s [%(name)s][%(lineno)s][%(threadName)s] %(message)s
# End logging configuration # End logging configuration
......
...@@ -117,7 +117,6 @@ def get_menus(request): ...@@ -117,7 +117,6 @@ def get_menus(request):
key, val = menu.strip().split('|') key, val = menu.strip().split('|')
key = request.route_url(key.strip()) key = request.route_url(key.strip())
val = val.strip() val = val.strip()
else: else:
key = menu.strip() key = menu.strip()
val = key.replace('/', '-') val = key.replace('/', '-')
...@@ -832,13 +831,13 @@ from pyramid.response import Response ...@@ -832,13 +831,13 @@ from pyramid.response import Response
import json import json
@exception_view_config(HTTPBadRequest) @exception_view_config(HTTPBadRequest)
def bad_request_view(exc, request): def bad_request_view(exc, request):
_logging.error(f"Bad Request: {exc} from {request.url}")
if request.matched_route.name=='base-login' : if request.matched_route.name=='base-login' :
# Bersihkan sesi autentikasi (logout) # Bersihkan sesi autentikasi (logout)
headers = forget(request) headers = forget(request)
# Arahkan ulang ke halaman login (misalnya route 'login') # Arahkan ulang ke halaman login (misalnya route 'login')
request.session.flash("Permintaan tidak valid. Silakan ulangi kembali. atau origin tidak diizinkan.", "error") request.session.flash("Permintaan tidak valid. Silakan ulangi kembali. atau origin tidak diizinkan.", "error")
_logging.debug(f"Bad Request: {exc} from {request.url}")
referrer = request.route_url('base-login') referrer = request.route_url('base-login')
response = HTTPFound(location=referrer) response = HTTPFound(location=referrer)
response.headers.extend(headers) response.headers.extend(headers)
......
...@@ -626,6 +626,8 @@ class BaseView(object): ...@@ -626,6 +626,8 @@ class BaseView(object):
and getattr(d, "search_method", "string_contains") or "string_contains" and getattr(d, "search_method", "string_contains") or "string_contains"
if hasattr(d, "field"): if hasattr(d, "field"):
if isinstance(d.field, str): if isinstance(d.field, str):
if d.field=="calculated":
continue
columns.append( columns.append(
ColumnDT(getattr(self.table, d.field), ColumnDT(getattr(self.table, d.field),
mData=d.name, mData=d.name,
......
...@@ -318,8 +318,9 @@ class ViewAuth(BaseView): ...@@ -318,8 +318,9 @@ class ViewAuth(BaseView):
msg = 'Login gagal' msg = 'Login gagal'
set_user_log(msg, request, log, identity) set_user_log(msg, request, log, identity)
if self.req.is_xhr: if self.req.is_xhr:
d = {"error": e.error.asdict()} raise HTTPNotAcceptable(explanation=msg)
return Response(json=d) # d = {"error": e.error.asdict()}
# return Response(json=d)
# d = self.form2dict(e.field) # d = self.form2dict(e.field)
# return Response(json={"data": d["children"]}) # return Response(json={"data": d["children"]})
request.session.flash(msg, 'error') request.session.flash(msg, 'error')
...@@ -347,11 +348,12 @@ class ViewAuth(BaseView): ...@@ -347,11 +348,12 @@ class ViewAuth(BaseView):
else: else:
login = LoginUser(self.req) login = LoginUser(self.req)
if not login.login(values, user): if not login.login(values, user):
request.session.flash(login.message, "error")
if self.req.is_xhr: if self.req.is_xhr:
return Response(json={"error": {"code": -1, raise HTTPNotAcceptable(explanation=login.message)
"msg": login.message}, # return Response(json={"error": {"code": -1,
"data": []}) # "msg": login.message},
# "data": []})
request.session.flash(login.message, "error")
next_url = f"{request.route_url('base-login')}?next={next_url}" next_url = f"{request.route_url('base-login')}?next={next_url}"
return HTTPFound(location=next_url) return HTTPFound(location=next_url)
...@@ -478,6 +480,7 @@ def xhr_response(user, headers): ...@@ -478,6 +480,7 @@ def xhr_response(user, headers):
} }
headers.append(("Content-Type", "application/json"))
return Response(json=data, headerlist=headers) return Response(json=data, headerlist=headers)
......
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
--> -->
<!-- </div> --> <!-- </div> -->
<table id="${tableid}" class="table table-bordered table-hover table-condensed dataTable no-footer"> <table id="${tableid}" class="table table-bordered table-hover table-condensed no-footer" style="width: 100%;">
<thead> <thead>
<tr> <tr>
<tal:block tal:repeat="child field"> <tal:block tal:repeat="child field">
...@@ -258,6 +258,7 @@ ...@@ -258,6 +258,7 @@
autoWidth: false, autoWidth: false,
paginate: ${paginates}, paginate: ${paginates},
paging:${field.paging}, paging:${field.paging},
responsive:true,
info: ${field.list_info}, info: ${field.list_info},
//searching: ${field.list_info}, //searching: ${field.list_info},
paginationType: "full_numbers", paginationType: "full_numbers",
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!