Perbaikan Kebutuhan Pelayanan ada beberapa file yang belum di update

1 parent 6449329b
...@@ -69,18 +69,21 @@ def has_modules(module_name, context=None): ...@@ -69,18 +69,21 @@ def has_modules(module_name, context=None):
def add_cors_headers_response_callback(event): def add_cors_headers_response_callback(event):
def cors_headers(request, response): def cors_headers(request, response):
pass # pass
# origin = request.headers.get("Origin", None) # origin = request.headers.get("Origin", None)
# allowed_origin = get_params("allowed_origin", None) # allowed_origin = get_params("allowed_origin", None)
# if allowed_origin: # if allowed_origin:
# if origin not in allowed_origin.split('\n'): # if origin not in allowed_origin.split('\n'):
# origin = "null" # origin = "null"
# headers = { headers = {
'Access-Control-Allow-Methods': '*',
'Access-Control-Allow-Headers': '*',
'Access-Control-Allow-Origin': "*",
# 'Access-Control-Allow-Methods': 'POST,GET,DELETE,PUT,OPTIONS', # 'Access-Control-Allow-Methods': 'POST,GET,DELETE,PUT,OPTIONS',
# 'Access-Control-Allow-Headers': 'Origin, Content-Type, Accept, Authorization', # 'Access-Control-Allow-Headers': 'Origin, Content-Type, Accept, Authorization',
# 'Access-Control-Max-Age': '1728000', # 'Access-Control-Max-Age': '1728000',
# } }
# _logging.info(f"{origin} {request.is_xhr}") # _logging.info(f"{origin} {request.is_xhr}")
# response.headers.update( # response.headers.update(
# {'Access-Control-Allow-Credential': 'true', # {'Access-Control-Allow-Credential': 'true',
...@@ -94,7 +97,7 @@ def add_cors_headers_response_callback(event): ...@@ -94,7 +97,7 @@ def add_cors_headers_response_callback(event):
# headers['Access-Control-Allow-Credentials'] = 'true' # headers['Access-Control-Allow-Credentials'] = 'true'
# _logging.debug(f"Headers: {headers}") # _logging.debug(f"Headers: {headers}")
# response.headers.update(headers) response.headers.update(headers)
_logging.warning(response.headers) _logging.warning(response.headers)
event.request.add_response_callback(cors_headers) event.request.add_response_callback(cors_headers)
......
...@@ -396,7 +396,14 @@ class BaseView(object): ...@@ -396,7 +396,14 @@ class BaseView(object):
action_suffix += f'?parent_id={parent.id}' action_suffix += f'?parent_id={parent.id}'
schema = self.list_schema() schema = self.list_schema()
schema = schema.bind(request=self.req) if "bindings" in kwargs and kwargs["bindings"]:
bindings = kwargs["bindings"]
elif self.bindings:
bindings = self.bindings
else:
bindings = self.get_bindings()
schema = schema.bind(request=self.req, **bindings)
if not new_buttons: if not new_buttons:
new_buttons = self.new_buttons new_buttons = self.new_buttons
...@@ -651,7 +658,7 @@ class BaseView(object): ...@@ -651,7 +658,7 @@ class BaseView(object):
if not values: if not values:
return self.route_list(msg="Nilai Data tidak ditemukan", error="error") return self.route_list(msg="Nilai Data tidak ditemukan", error="error")
form.set_appstruct(values) form.set_appstruct(values)
table = self.get_item_table(row) table = self.get_item_table(parent=row)
kwargs["readonly"] = True kwargs["readonly"] = True
return self.returned_form(form, table, **kwargs) return self.returned_form(form, table, **kwargs)
...@@ -933,7 +940,7 @@ class BaseView(object): ...@@ -933,7 +940,7 @@ class BaseView(object):
self.bindings = self.get_bindings(row) self.bindings = self.get_bindings(row)
form = self.get_form(self.edit_schema, **kwargs) form = self.get_form(self.edit_schema, **kwargs)
table = self.get_item_table(row) table = self.get_item_table(parent=row)
values = self.get_values(row) values = self.get_values(row)
if request.POST: if request.POST:
if 'save' in request.POST: if 'save' in request.POST:
...@@ -1002,20 +1009,20 @@ class BaseView(object): ...@@ -1002,20 +1009,20 @@ class BaseView(object):
return self.route_list() return self.route_list()
form = self.get_form( form = self.get_form(
self.edit_schema, buttons=(btn_delete, btn_cancel)) self.edit_schema, buttons=(btn_delete, btn_cancel))
table = self.get_item_table(row) table = self.get_item_table(parent=row)
resources = form.get_widget_resources() resources = form.get_widget_resources()
form.set_appstruct(self.get_values(row)) form.set_appstruct(self.get_values(row))
kwargs["readonly"] = True kwargs["readonly"] = True
return self.returned_form(form, table, **kwargs) return self.returned_form(form, table, **kwargs)
def query_id(self): def query_id(self, id=None):
q = self.db_session.query(self.table).filter_by( id=id or self.req.matchdict['id']
id=self.req.matchdict['id']) return self.table.query_id(id)
# if self.req.user: # if self.req.user:
# if hasattr(self.table, 'company_id') and self.req.user.company_id: # if hasattr(self.table, 'company_id') and self.req.user.company_id:
# q = q.filter_by(company_id=self.req.user.company_id) # q = q.filter_by(company_id=self.req.user.company_id)
return q # return q
# def filter_company(self, query): # def filter_company(self, query):
# if self.req.user.company_id: # if self.req.user.company_id:
......
<script src="${home}/static/v3/js/plugin/datatables/jquery.dataTables.min.js"></script>
<script src="${home}/static/v3/js/plugin/datatables/dataTables.colVis.min.js"></script>
<script src="${home}/static/v3/js/plugin/datatables/dataTables.tableTools.min.js"></script>
<script src="${home}/static/v3/js/plugin/datatables/dataTables.bootstrap.min.js"></script>
<script src="${home}/static/v3/js/plugin/datatable-responsive/datatables.responsive.min.js"></script>
...@@ -301,10 +301,10 @@ class ViewAuth(BaseView): ...@@ -301,10 +301,10 @@ class ViewAuth(BaseView):
# url=get_urls(request.route_url('login')), # url=get_urls(request.route_url('login')),
# next_url=next_url, # next_url=next_url,
# login=login, ) # login=login, )
if login_tpl:
if self.req.is_xhr: if self.req.is_xhr:
# return Response(form.render())
return Response(json=self.form2dict(form)) return Response(json=self.form2dict(form))
if login_tpl:
return render_to_response( return render_to_response(
renderer_name=login_tpl, renderer_name=login_tpl,
request=request, request=request,
...@@ -314,7 +314,7 @@ class ViewAuth(BaseView): ...@@ -314,7 +314,7 @@ class ViewAuth(BaseView):
next_url=next_url, next_url=next_url,
login=login, ), login=login, ),
) )
return dict(form=form.render(),scripts="") return dict(form=form.render(), scripts="")
def view_logout(self): def view_logout(self):
request = self.req request = self.req
...@@ -379,8 +379,7 @@ btn_home = Button("home", css_class="btn-success") ...@@ -379,8 +379,7 @@ btn_home = Button("home", css_class="btn-success")
# class ViewLogout(BaseView): # class ViewLogout(BaseView):
# @view_config(route_name='logout', renderer="templates/logout.pt", require_csrf=False) # @view_config(route_name='logout', renderer="templates/logout.pt", require_csrf=False)
class ViewPassword(BaseView): class ViewPassword(BaseView):
...@@ -419,7 +418,6 @@ class ViewPassword(BaseView): ...@@ -419,7 +418,6 @@ class ViewPassword(BaseView):
resp['form'] = form.render() resp['form'] = form.render()
return resp return resp
def change_password(self): def change_password(self):
""" """
Digunakan untuk change password Digunakan untuk change password
...@@ -460,7 +458,6 @@ class ViewPassword(BaseView): ...@@ -460,7 +458,6 @@ class ViewPassword(BaseView):
set_user_log("Change Password", request, log) set_user_log("Change Password", request, log)
return HTTPFound(location=f"{request.home}", headers=headers) return HTTPFound(location=f"{request.home}", headers=headers)
def change_password_request(self): def change_password_request(self):
""" """
Digunakan untuk change password url dari email (register, reset password) Digunakan untuk change password url dari email (register, reset password)
...@@ -491,14 +488,12 @@ class ViewPassword(BaseView): ...@@ -491,14 +488,12 @@ class ViewPassword(BaseView):
if 'save' not in request.POST: if 'save' not in request.POST:
return HTTPFound(location=request.route_url('base-login')) return HTTPFound(location=request.route_url('base-login'))
items = request.POST.items() items = request.POST.items()
try: try:
c = form.validate(items) c = form.validate(items)
except ValidationFailure as e: except ValidationFailure as e:
return dict(form=e.render()) return dict(form=e.render())
user.security_code = None user.security_code = None
UserService.set_password(user, c['new_password']) UserService.set_password(user, c['new_password'])
DBSession.add(user) DBSession.add(user)
...@@ -507,9 +502,6 @@ class ViewPassword(BaseView): ...@@ -507,9 +502,6 @@ class ViewPassword(BaseView):
set_user_log("Change Password", request, log) set_user_log("Change Password", request, log)
return HTTPFound(location=f"{request.home}", headers=headers) return HTTPFound(location=f"{request.home}", headers=headers)
def view_recreate_api_key(self): def view_recreate_api_key(self):
request = self.req request = self.req
if not request.user.api_key: if not request.user.api_key:
...@@ -530,6 +522,7 @@ class ViewPassword(BaseView): ...@@ -530,6 +522,7 @@ class ViewPassword(BaseView):
request.session.flash(msg) request.session.flash(msg)
return HTTPFound(location=f"{request.home}") return HTTPFound(location=f"{request.home}")
class ChangePasswordRequest(colander.Schema): class ChangePasswordRequest(colander.Schema):
new_password = colander.SchemaNode( new_password = colander.SchemaNode(
colander.String(), widget=widget.CheckedPasswordWidget()) colander.String(), widget=widget.CheckedPasswordWidget())
...@@ -557,9 +550,6 @@ def change_password_validator(form, value): ...@@ -557,9 +550,6 @@ def change_password_validator(form, value):
# raise exc # raise exc
###################### ######################
# Buat ulang API Key # # Buat ulang API Key #
###################### ######################
...@@ -572,9 +562,6 @@ def generate_api_key(): ...@@ -572,9 +562,6 @@ def generate_api_key():
return UserService.generate_random_string(64) return UserService.generate_random_string(64)
################## ##################
# Reset password # # Reset password #
################## ##################
...@@ -668,9 +655,3 @@ def regenerate_security_code(user, hour=1.0): ...@@ -668,9 +655,3 @@ def regenerate_security_code(user, hour=1.0):
log.debug("Security code: %s", user.security_code) log.debug("Security code: %s", user.security_code)
DBSession.add(user) DBSession.add(user)
return hour return hour
...@@ -121,6 +121,7 @@ class DeTable(field.Field): ...@@ -121,6 +121,7 @@ class DeTable(field.Field):
scroll_y=False, scroll_y=False,
**kw **kw
): ):
kw.pop("parent", None)
super().__init__(schema, **kw) super().__init__(schema, **kw)
self.request = kw.get("request") self.request = kw.get("request")
self.rows = kw.get("rows") self.rows = kw.get("rows")
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!