Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
aa.gusti
/
opensipkd-base
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit f8a44226
authored
Apr 14, 2026
by
aa.gustiana@gmail.com
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
update styles and improve filter logic in templates
1 parent
db13d946
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
17 deletions
opensipkd/base/static/v3/css/osipkd.css
opensipkd/base/views/base_views.py
opensipkd/detable/templates/detable.pt
opensipkd/base/static/v3/css/osipkd.css
View file @
f8a4422
...
...
@@ -421,6 +421,8 @@ div.col-md-6 {
text-align
:
left
;
margin-top
:
5px
!important
;
margin-bottom
:
5px
!important
;
margin-left
:
8px
!important
;
margin-right
:
8px
!important
;
}
...
...
opensipkd/base/views/base_views.py
View file @
f8a4422
...
...
@@ -34,7 +34,34 @@ from ...detable import DeTable
log
=
logging
.
getLogger
(
__name__
)
# SEARCH_METHODS = {
# 'none': lambda expr, value: None,
# 'string_contains': lambda expr, value: expr.ilike('%' + value + '%'),
# 'ilike': lambda expr, value: expr.ilike(value),
# 'like': lambda expr, value: expr.like(value),
# 'numeric': numeric_query,
# 'date': date_query,
# 'yadcf_text': lambda expr, value: expr.ilike('%' + value + '%'),
# 'yadcf_autocomplete': lambda expr, value: expr == value,
# 'yadcf_select': lambda expr, value: expr.ilike('%' + value + '%'),
# 'yadcf_multi_select': yadcf_multi_select,
# 'yadcf_range_number': yadcf_range_number,
# 'yadcf_range_number_slider': yadcf_range_number,
# 'yadcf_range_date': yadcf_range_date
# }
# search_operators = {
# '=': lambda expr, value: expr == value,
# '>': lambda expr, value: expr > value,
# '>=': lambda expr, value: expr >= value,
# '<': lambda expr, value: expr < value,
# '<=': lambda expr, value: expr <= value,
# }
class
AddSchema
(
colander
.
Schema
):
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Kode"
,
validator
=
colander
.
Length
(
max
=
50
),
search_method
=
"string_contains"
,
searchable
=
True
,
)
class
UploadSchema
(
colander
.
Schema
):
upload
=
colander
.
SchemaNode
(
FileData
(),
...
...
@@ -153,6 +180,8 @@ class BaseView(object):
self
.
list_buttons
.
append
(
btn_delete
)
self
.
html_tag_cleaner
=
True
# 2026-04-13
self
.
use_ajax
=
False
def
init_session
(
self
,
request
):
# # if not request.user:
...
...
@@ -373,7 +402,7 @@ class BaseView(object):
if
row
:
schema
.
deserialize
(
row
)
return
Form
(
schema
,
buttons
=
buttons
,
autocomplete
=
self
.
autocomplete
)
return
Form
(
schema
,
buttons
=
buttons
,
autocomplete
=
self
.
autocomplete
,
use_ajax
=
self
.
use_ajax
)
"""
def session_failed(self, session_name):
...
...
@@ -665,20 +694,20 @@ class BaseView(object):
def
returned_form
(
self
,
form
,
**
kwargs
):
table
=
kwargs
.
get
(
"table"
,
None
)
if
self
.
req
.
is_xhr
and
self
.
req
.
params
.
get
(
"html"
,
"false"
)
==
"false"
:
data
=
form
.
cstruct
if
"captcha"
in
form
:
kode_captcha
,
file_name
=
img_captcha
(
self
.
req
)
self
.
req
.
session
[
"captcha_code"
]
=
kode_captcha
url
=
self
.
get_captcha_url
()
cstruct
=
url
+
file_name
data
[
"captcha"
]
=
cstruct
error
=
kwargs
.
get
(
"error"
,
""
)
if
error
:
error
[
"data"
]
=
data
return
self
.
resp_xhr
({
"error"
:
error
})
return
self
.
resp_xhr
({
"data"
:
data
})
#
if self.req.is_xhr and self.req.params.get("html", "false") == "false":
#
data = form.cstruct
#
if "captcha" in form:
#
kode_captcha, file_name = img_captcha(self.req)
#
self.req.session["captcha_code"] = kode_captcha
#
url = self.get_captcha_url()
#
cstruct = url+file_name
#
data["captcha"] = cstruct
#
error = kwargs.get("error", "")
#
if error:
#
error["data"]=data
#
return self.resp_xhr({"error": error})
#
return self.resp_xhr({"data": data})
resources
=
form
.
get_widget_resources
()
readonly
=
"readonly"
in
kwargs
and
kwargs
[
"readonly"
]
or
False
...
...
opensipkd/detable/templates/detable.pt
View file @
f8a4422
...
...
@@ -508,7 +508,7 @@
if (typ === "select") filter_table();
var typ = $(this).attr("type").toLowerCase();
if (
typ in ("date", "number")
) filter_table();
if (
("date", "number").indexOf(typ) > -1
) filter_table();
});
console.log("Read Data");
...
...
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