Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
irul
/
opensipkd-base
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 8a2074c0
authored
Aug 12, 2025
by
aa.gustiana@gmail.com
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Perbaikan Kebutuhan Pelayanan ada beberapa file yang belum di update
1 parent
6449329b
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
33 additions
and
36 deletions
opensipkd/base/__init__.py
opensipkd/base/views/base_views.py
opensipkd/base/views/templates/_table_include.pt
opensipkd/base/views/user_login.py
opensipkd/detable/detable.py
opensipkd/base/__init__.py
View file @
8a2074c
...
@@ -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
)
...
...
opensipkd/base/views/base_views.py
View file @
8a2074c
...
@@ -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:
...
...
opensipkd/base/views/templates/_table_include.pt
0 → 100644
View file @
8a2074c
<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>
opensipkd/base/views/user_login.py
View file @
8a2074c
...
@@ -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
opensipkd/detable/detable.py
View file @
8a2074c
...
@@ -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"
)
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment