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 46c58fc4
authored
Aug 01, 2022
by
aagusti
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
perbaikan form
1 parent
5e03bef7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
229 additions
and
82 deletions
opensipkd/base/__init__.py
opensipkd/base/views/base_views.py
opensipkd/base/views/company.py
opensipkd/base/views/dati2.py
opensipkd/base/views/departemen.py
opensipkd/base/views/desa.py
opensipkd/base/views/eselon.py
opensipkd/base/views/groups.py
opensipkd/base/views/jabatan.py
opensipkd/base/views/kecamatan.py
opensipkd/base/views/log_app.py
opensipkd/base/views/menus.py
opensipkd/base/views/parameter.py
opensipkd/base/views/partner.py
opensipkd/base/views/posisi.py
opensipkd/base/views/provinsi.py
opensipkd/base/views/user.py
opensipkd/base/views/user_ext.py
opensipkd/detable/detable.py
opensipkd/detable/templates/detable.pt
opensipkd/jsonrpc_auth/__init__.py
opensipkd/base/__init__.py
View file @
46c58fc
...
@@ -6,7 +6,7 @@ try:
...
@@ -6,7 +6,7 @@ try:
from
urllib
import
(
urlencode
,
quote
,
quote_plus
,
)
from
urllib
import
(
urlencode
,
quote
,
quote_plus
,
)
except
ImportError
:
except
ImportError
:
from
urllib.parse
import
(
urlencode
,
quote
,
quote_plus
,
)
from
urllib.parse
import
(
urlencode
,
quote
,
quote_plus
,
)
from
pyramid.events
import
NewRequest
from
pyramid.config
import
Configurator
from
pyramid.config
import
Configurator
from
pyramid_beaker
import
session_factory_from_settings
from
pyramid_beaker
import
session_factory_from_settings
from
pyramid.events
import
subscriber
from
pyramid.events
import
subscriber
...
@@ -82,6 +82,16 @@ titles = {}
...
@@ -82,6 +82,16 @@ titles = {}
# return HTTPFound(location=noslash_path)
# return HTTPFound(location=noslash_path)
# return self.notfound_view(context, request)
# return self.notfound_view(context, request)
def
add_cors_headers_response_callback
(
event
):
def
cors_headers
(
request
,
response
):
response
.
headers
.
update
({
'Access-Control-Allow-Origin'
:
'*'
,
'Access-Control-Allow-Methods'
:
'POST,GET,DELETE,PUT,OPTIONS'
,
'Access-Control-Allow-Headers'
:
'Origin, Content-Type, Accept, Authorization'
,
'Access-Control-Allow-Credentials'
:
'true'
,
'Access-Control-Max-Age'
:
'1728000'
,
})
event
.
request
.
add_response_callback
(
cors_headers
)
# https://groups.google.com/forum/#!topic/pylons-discuss/QIj4G82j04c
# https://groups.google.com/forum/#!topic/pylons-discuss/QIj4G82j04c
def
has_permission_
(
request
,
perm_names
,
context
=
None
):
def
has_permission_
(
request
,
perm_names
,
context
=
None
):
...
@@ -396,6 +406,8 @@ def main(global_config, **settings):
...
@@ -396,6 +406,8 @@ def main(global_config, **settings):
config
=
cfg
config
=
cfg
config
.
set_security_policy
(
MySecurityPolicy
(
settings
[
"session.secret"
]))
config
.
set_security_policy
(
MySecurityPolicy
(
settings
[
"session.secret"
]))
config
.
add_subscriber
(
add_cors_headers_response_callback
,
NewRequest
)
config
.
add_request_method
(
get_user
,
'user'
,
reify
=
True
)
config
.
add_request_method
(
get_user
,
'user'
,
reify
=
True
)
config
.
add_request_method
(
get_title
,
'title'
,
reify
=
True
)
config
.
add_request_method
(
get_title
,
'title'
,
reify
=
True
)
config
.
add_request_method
(
get_company
,
'company'
,
reify
=
True
)
config
.
add_request_method
(
get_company
,
'company'
,
reify
=
True
)
...
...
opensipkd/base/views/base_views.py
View file @
46c58fc
...
@@ -179,19 +179,23 @@ class BaseView(object):
...
@@ -179,19 +179,23 @@ class BaseView(object):
del
self
.
req
.
session
[
session_name
]
del
self
.
req
.
session
[
session_name
]
return
r
return
r
def
view_list
(
self
,
arg
=
None
):
def
view_list
(
self
,
**
kwargs
):
if
self
.
list_schema
:
if
self
.
list_schema
:
allow_edit
=
kwargs
.
get
(
"allow_edit"
,
True
)
allow_delete
=
kwargs
.
get
(
"allow_delete"
,
True
)
table
=
DeTable
(
self
.
list_schema
(),
table
=
DeTable
(
self
.
list_schema
(),
action
=
self
.
req
.
route_url
(
self
.
list_route
),
action
=
self
.
req
.
route_url
(
self
.
list_route
),
action_suffix
=
"/grid/act"
,
action_suffix
=
"/grid/act"
,
buttons
=
self
.
list_buttons
,
buttons
=
self
.
list_buttons
,
request
=
self
.
req
)
request
=
self
.
req
,
allow_edit
=
allow_edit
,
allow_delete
=
allow_delete
)
resources
=
table
.
get_widget_resources
()
resources
=
table
.
get_widget_resources
()
# resources=dict(css="", js="")
# resources=dict(css="", js="")
return
dict
(
form
=
table
.
render
(),
scripts
=
""
,
css
=
resources
[
"css"
],
return
dict
(
form
=
table
.
render
(),
scripts
=
""
,
css
=
resources
[
"css"
],
js
=
resources
[
"js"
])
js
=
resources
[
"js"
])
arg
=
arg
and
arg
or
{}
arg
=
kwargs
and
kwargs
or
{}
arg
.
update
(
url
=
self
.
list_url
,
col_defs
=
self
.
list_col_defs
,
arg
.
update
(
url
=
self
.
list_url
,
col_defs
=
self
.
list_col_defs
,
cols
=
self
.
list_cols
,
buttons
=
self
.
list_buttons
)
cols
=
self
.
list_cols
,
buttons
=
self
.
list_buttons
)
return
arg
return
arg
...
@@ -285,7 +289,7 @@ class BaseView(object):
...
@@ -285,7 +289,7 @@ class BaseView(object):
if
'save'
in
self
.
req
.
POST
:
if
'save'
in
self
.
req
.
POST
:
controls
=
self
.
req
.
POST
.
items
()
controls
=
self
.
req
.
POST
.
items
()
try
:
try
:
c
ontrols
=
form
.
validate
(
controls
)
c
=
form
.
validate
(
controls
)
except
ValidationFailure
as
e
:
except
ValidationFailure
as
e
:
# value = self.validation_failure(e.cstruct)
# value = self.validation_failure(e.cstruct)
# value.update(self.before_add())
# value.update(self.before_add())
...
@@ -294,7 +298,7 @@ class BaseView(object):
...
@@ -294,7 +298,7 @@ class BaseView(object):
table
=
table
and
table
.
render
()
or
None
,
table
=
table
and
table
.
render
()
or
None
,
scripts
=
self
.
form_scripts
,
css
=
resources
[
"css"
],
scripts
=
self
.
form_scripts
,
css
=
resources
[
"css"
],
js
=
resources
[
"js"
])
js
=
resources
[
"js"
])
values
=
dict
(
c
ontrols
)
values
=
dict
(
c
)
row
=
self
.
save_request
(
values
)
row
=
self
.
save_request
(
values
)
self
.
after_add
(
row
,
values
)
self
.
after_add
(
row
,
values
)
elif
"cancel"
in
self
.
req
.
POST
or
'batal'
in
self
.
req
.
POST
:
elif
"cancel"
in
self
.
req
.
POST
or
'batal'
in
self
.
req
.
POST
:
...
...
opensipkd/base/views/company.py
View file @
46c58fc
...
@@ -34,8 +34,22 @@ class EditSchema(AddSchema):
...
@@ -34,8 +34,22 @@ class EditSchema(AddSchema):
oid
=
"partner_id"
)
oid
=
"partner_id"
)
class
ListSchema
(
NamaSchema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
visible
=
False
)
id
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Action"
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
validator
=
colander
.
Length
(
max
=
32
),
oid
=
"kode"
,
title
=
"Kode"
,
width
=
"100pt"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
validator
=
colander
.
Length
(
max
=
64
),
oid
=
"nama"
)
status
=
colander
.
SchemaNode
(
colander
.
Integer
(),
widget
=
widget
.
CheckboxWidget
(),
oid
=
"status"
)
class
ViewCompany
(
BaseView
):
class
ViewCompany
(
BaseView
):
...
...
opensipkd/base/views/dati2.py
View file @
46c58fc
import
colander
import
colander
from
deform
import
(
widget
,
)
from
deform
import
(
widget
,
)
from
pyramid.i18n
import
TranslationStringFactory
from
pyramid.view
import
(
view_config
,
)
from
pyramid.view
import
(
view_config
,
)
from
.
import
widget_os
from
.
import
widget_os
from
.provinsi
import
provinsi_widget
from
.provinsi
import
provinsi_widget
from
opensipkd.models
import
DBSession
,
ResDati2
,
kategori_dati2
,
ResProvinsi
from
opensipkd.models
import
DBSession
,
ResDati2
,
kategori_dati2
,
ResProvinsi
from
..views
import
BaseView
from
..views
import
BaseView
_
=
TranslationStringFactory
(
"opensipkd"
)
SESS_ADD_FAILED
=
'Tambah dati2 gagal'
SESS_ADD_FAILED
=
'Tambah dati2 gagal'
SESS_EDIT_FAILED
=
'Edit dati2 gagal'
SESS_EDIT_FAILED
=
'Edit dati2 gagal'
...
@@ -43,11 +45,11 @@ class EditSchema(AddSchema):
...
@@ -43,11 +45,11 @@ class EditSchema(AddSchema):
class
ListSchema
(
colander
.
Schema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
searchable
=
False
,
orderable
=
False
,
visible
=
False
)
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
_
(
"action"
,
default
=
"Action"
))
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
width
=
'100pt'
,
title
=
"Kode"
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
width
=
'100pt'
,
title
=
"Kode"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Nama"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Nama"
)
provinsi
=
colander
.
SchemaNode
(
colander
.
String
(),
field
=
ResProvinsi
.
nama
)
provinsi
=
colander
.
SchemaNode
(
colander
.
String
(),
field
=
ResProvinsi
.
nama
)
status
=
colander
.
SchemaNode
(
colander
.
Integer
(),
width
=
"30pt"
)
class
ViewDati2
(
BaseView
):
class
ViewDati2
(
BaseView
):
...
...
opensipkd/base/views/departemen.py
View file @
46c58fc
...
@@ -99,11 +99,12 @@ class EditSchema(AddSchema):
...
@@ -99,11 +99,12 @@ class EditSchema(AddSchema):
class
ListSchema
(
colander
.
Schema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"
ID
"
,
visible
=
False
)
id
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"
Action
"
,
visible
=
False
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Kode"
,
width
=
'100pt'
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Kode"
,
width
=
'100pt'
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Nama"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Nama"
)
status
=
colander
.
SchemaNode
(
colander
.
Boolean
(),
title
=
"Status"
,
width
=
'50pt'
)
status
=
colander
.
SchemaNode
(
colander
.
Boolean
(),
title
=
"Status"
,
width
=
'50pt'
,
level_id
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Level"
,
width
=
'50pt'
)
widget
=
widget
.
CheckboxWidget
())
level_id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
"Level"
,
width
=
'50pt'
)
parent
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Induk"
,
width
=
'200pt'
)
parent
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Induk"
,
width
=
'200pt'
)
...
...
opensipkd/base/views/desa.py
View file @
46c58fc
import
colander
import
colander
from
deform
import
(
widget
,
)
from
deform
import
(
widget
,
)
from
pyramid.i18n
import
TranslationStringFactory
from
pyramid.view
import
(
view_config
,
)
from
pyramid.view
import
(
view_config
,
)
from
.dati2
import
dati2_widget
from
.dati2
import
dati2_widget
...
@@ -7,6 +8,7 @@ from .kecamatan import kecamatan_widget
...
@@ -7,6 +8,7 @@ from .kecamatan import kecamatan_widget
from
.provinsi
import
provinsi_widget
from
.provinsi
import
provinsi_widget
from
opensipkd.models
import
DBSession
,
ResDesa
,
kategori_desa
,
ResKecamatan
,
ResProvinsi
,
ResDati2
from
opensipkd.models
import
DBSession
,
ResDesa
,
kategori_desa
,
ResKecamatan
,
ResProvinsi
,
ResDati2
from
..views
import
BaseView
from
..views
import
BaseView
_
=
TranslationStringFactory
(
"opensipkd"
)
SESS_ADD_FAILED
=
'Tambah desa gagal'
SESS_ADD_FAILED
=
'Tambah desa gagal'
SESS_EDIT_FAILED
=
'Edit desa gagal'
SESS_EDIT_FAILED
=
'Edit desa gagal'
...
@@ -56,11 +58,11 @@ class EditSchema(AddSchema):
...
@@ -56,11 +58,11 @@ class EditSchema(AddSchema):
class
ListSchema
(
colander
.
Schema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
searchable
=
False
,
orderable
=
False
,
visible
=
False
)
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
_
(
"action"
,
default
=
"Action"
))
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
width
=
'100pt'
,
title
=
"Kode"
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
width
=
'100pt'
,
title
=
"Kode"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Nama"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Nama"
)
kecamatan
=
colander
.
SchemaNode
(
colander
.
String
(),
field
=
ResKecamatan
.
nama
)
kecamatan
=
colander
.
SchemaNode
(
colander
.
String
(),
field
=
ResKecamatan
.
nama
)
status
=
colander
.
SchemaNode
(
colander
.
Integer
(),
width
=
"30pt"
)
class
ViewDesa
(
BaseView
):
class
ViewDesa
(
BaseView
):
...
...
opensipkd/base/views/eselon.py
View file @
46c58fc
...
@@ -35,8 +35,22 @@ class EditSchema(AddSchema):
...
@@ -35,8 +35,22 @@ class EditSchema(AddSchema):
missing
=
colander
.
drop
,
missing
=
colander
.
drop
,
widget
=
widget
.
HiddenWidget
())
widget
=
widget
.
HiddenWidget
())
class
ListSchema
(
NamaSchema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
String
(),
visible
=
False
)
id
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Action"
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
validator
=
colander
.
Length
(
max
=
32
),
oid
=
"kode"
,
title
=
"Kode"
,
width
=
"100pt"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
validator
=
colander
.
Length
(
max
=
64
),
oid
=
"nama"
)
status
=
colander
.
SchemaNode
(
colander
.
Integer
(),
widget
=
widget
.
CheckboxWidget
(),
oid
=
"status"
)
class
Views
(
BaseView
):
class
Views
(
BaseView
):
def
__init__
(
self
,
request
):
def
__init__
(
self
,
request
):
...
...
opensipkd/base/views/groups.py
View file @
46c58fc
...
@@ -40,7 +40,7 @@ class EditSchema(AddSchema):
...
@@ -40,7 +40,7 @@ class EditSchema(AddSchema):
class
ListSchema
(
colander
.
Schema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
visible
=
False
)
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
visible
=
False
,
title
=
"Action"
)
group_name
=
colander
.
SchemaNode
(
group_name
=
colander
.
SchemaNode
(
colander
.
String
(),
)
colander
.
String
(),
)
description
=
colander
.
SchemaNode
(
colander
.
String
())
description
=
colander
.
SchemaNode
(
colander
.
String
())
...
...
opensipkd/base/views/jabatan.py
View file @
46c58fc
import
colander
import
os
import
os
import
colander
from
deform
import
(
widget
,
)
from
deform
import
(
widget
,
)
from
opensipkd.tools.buttons
import
btn_view
,
btn_add
,
btn_edit
,
btn_delete
,
btn_close
from
opensipkd.tools.report
import
csv_response
,
open_rml_pdf
,
open_rml_row
,
\
from
opensipkd.tools.report
import
csv_response
,
open_rml_pdf
,
open_rml_row
,
pdf_response
pdf_response
from
pyramid.i18n
import
TranslationStringFactory
from
pyramid.view
import
(
view_config
,
)
from
pyramid.view
import
(
view_config
,
)
from
.partner_base
import
NamaSchema
from
opensipkd.models
import
(
from
opensipkd.models
import
(
DBSession
,
DBSession
,
Jabatan
,
Jabatan
,
Eselon
,
Departemen
Eselon
,
Departemen
)
)
from
.partner_base
import
NamaSchema
from
..views
import
BaseView
,
deferred_jenis
from
..views
import
BaseView
,
deferred_jenis
_
=
TranslationStringFactory
(
"opensipkd"
)
SESS_ADD_FAILED
=
'Tambah jabatan gagal'
SESS_ADD_FAILED
=
'Tambah jabatan gagal'
SESS_EDIT_FAILED
=
'Edit jabatan gagal'
SESS_EDIT_FAILED
=
'Edit jabatan gagal'
JENIS
=
((
1
,
'Struktural'
),
JENIS
=
((
1
,
_
(
'structural'
,
default
=
'Structural'
)
),
(
2
,
'Fungsional'
),
(
2
,
_
(
'functional'
,
default
=
'Functional'
)
),
(
3
,
'Keuangan'
),
(
3
,
_
(
'finance'
,
default
=
'Finance'
)
),
)
)
...
@@ -50,12 +54,12 @@ class AddSchema(colander.Schema):
...
@@ -50,12 +54,12 @@ class AddSchema(colander.Schema):
colander
.
Integer
(),
colander
.
Integer
(),
oid
=
"jenis"
,
oid
=
"jenis"
,
widget
=
deferred_jenis
,
widget
=
deferred_jenis
,
title
=
"Jenis"
)
title
=
_
(
"type"
,
default
=
"Jenis"
)
)
eselon_id
=
colander
.
SchemaNode
(
eselon_id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
colander
.
Integer
(),
oid
=
"eselon_id"
,
oid
=
"eselon_id"
,
widget
=
deferred_eselon
,
widget
=
deferred_eselon
,
title
=
"Eselon"
)
title
=
_
(
"eselon"
,
default
=
"Eselon"
)
)
status
=
colander
.
SchemaNode
(
status
=
colander
.
SchemaNode
(
colander
.
Boolean
(),
colander
.
Boolean
(),
oid
=
"status"
)
oid
=
"status"
)
...
@@ -67,9 +71,22 @@ class EditSchema(AddSchema):
...
@@ -67,9 +71,22 @@ class EditSchema(AddSchema):
widget
=
widget
.
HiddenWidget
())
widget
=
widget
.
HiddenWidget
())
class
ListSchema
(
NamaSchema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
String
(),
id
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Action"
)
visible
=
False
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
validator
=
colander
.
Length
(
max
=
32
),
oid
=
"kode"
,
title
=
"Kode"
,
width
=
"100pt"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
validator
=
colander
.
Length
(
max
=
64
),
oid
=
"nama"
)
status
=
colander
.
SchemaNode
(
colander
.
Integer
(),
widget
=
widget
.
CheckboxWidget
(),
oid
=
"status"
)
class
ViewJabatan
(
BaseView
):
class
ViewJabatan
(
BaseView
):
...
@@ -84,7 +101,6 @@ class ViewJabatan(BaseView):
...
@@ -84,7 +101,6 @@ class ViewJabatan(BaseView):
self
.
list_schema
=
ListSchema
self
.
list_schema
=
ListSchema
# self.list_buttons = (btn_view, btn_add, btn_edit, btn_delete, btn_close)
# self.list_buttons = (btn_view, btn_add, btn_edit, btn_delete, btn_close)
def
get_bindings
(
self
,
row
=
None
):
def
get_bindings
(
self
,
row
=
None
):
return
dict
(
daftar_jenis
=
JENIS
,
return
dict
(
daftar_jenis
=
JENIS
,
daftar_eselon
=
daftar_eselon
())
daftar_eselon
=
daftar_eselon
())
...
@@ -124,7 +140,8 @@ class ViewJabatan(BaseView):
...
@@ -124,7 +140,8 @@ class ViewJabatan(BaseView):
elif
url_dict
[
'act'
]
==
'hon'
:
elif
url_dict
[
'act'
]
==
'hon'
:
term
=
'term'
in
params
and
params
[
'term'
]
or
''
term
=
'term'
in
params
and
params
[
'term'
]
or
''
q
=
DBSession
.
query
(
Jabatan
.
id
,
Jabatan
.
kode
,
Jabatan
.
nama
,
Jabatan
.
jenis
)
.
\
q
=
DBSession
.
query
(
Jabatan
.
id
,
Jabatan
.
kode
,
Jabatan
.
nama
,
Jabatan
.
jenis
)
.
\
filter
(
Jabatan
.
nama
.
ilike
(
'
%%%
s
%%
'
%
term
))
.
\
filter
(
Jabatan
.
nama
.
ilike
(
'
%%%
s
%%
'
%
term
))
.
\
order_by
(
Jabatan
.
nama
)
order_by
(
Jabatan
.
nama
)
rows
=
q
.
all
()
rows
=
q
.
all
()
...
@@ -147,7 +164,8 @@ class ViewJabatan(BaseView):
...
@@ -147,7 +164,8 @@ class ViewJabatan(BaseView):
elif
url_dict
[
'act'
]
==
'headofnama'
:
elif
url_dict
[
'act'
]
==
'headofnama'
:
term
=
'term'
in
params
and
params
[
'term'
]
or
''
term
=
'term'
in
params
and
params
[
'term'
]
or
''
q
=
DBSession
.
query
(
Jabatan
.
id
,
Jabatan
.
kode
,
Jabatan
.
nama
,
Jabatan
.
jenis
)
.
\
q
=
DBSession
.
query
(
Jabatan
.
id
,
Jabatan
.
kode
,
Jabatan
.
nama
,
Jabatan
.
jenis
)
.
\
filter
(
Jabatan
.
nama
.
ilike
(
'
%%%
s
%%
'
%
term
))
.
\
filter
(
Jabatan
.
nama
.
ilike
(
'
%%%
s
%%
'
%
term
))
.
\
order_by
(
Jabatan
.
nama
)
order_by
(
Jabatan
.
nama
)
rows
=
q
.
all
()
rows
=
q
.
all
()
...
@@ -160,7 +178,8 @@ class ViewJabatan(BaseView):
...
@@ -160,7 +178,8 @@ class ViewJabatan(BaseView):
else
:
else
:
nama_jenis
=
'Fungsional'
nama_jenis
=
'Fungsional'
d
=
{
'id'
:
k
[
0
],
'value'
:
k
[
2
]
+
' ('
+
nama_jenis
+
')'
,
'kode'
:
k
[
1
],
'nama'
:
k
[
2
]}
d
=
{
'id'
:
k
[
0
],
'value'
:
k
[
2
]
+
' ('
+
nama_jenis
+
')'
,
'kode'
:
k
[
1
],
'nama'
:
k
[
2
]}
r
.
append
(
d
)
r
.
append
(
d
)
return
r
return
r
elif
url_dict
[
'act'
]
==
'csv'
:
elif
url_dict
[
'act'
]
==
'csv'
:
...
@@ -186,14 +205,18 @@ class ViewJabatan(BaseView):
...
@@ -186,14 +205,18 @@ class ViewJabatan(BaseView):
rows
=
[]
rows
=
[]
for
r
in
query
.
all
():
for
r
in
query
.
all
():
s
=
rml_row
.
format
(
kode
=
r
.
kode
,
nama
=
r
.
nama
,
status
=
r
.
status
and
"Aktif"
or
"Pasif"
)
s
=
rml_row
.
format
(
kode
=
r
.
kode
,
nama
=
r
.
nama
,
status
=
r
.
status
and
"Aktif"
or
"Pasif"
)
rows
.
append
(
s
)
rows
.
append
(
s
)
pdf
,
filename
=
open_rml_pdf
(
path
+
'/jabatan.rml'
,
rows
=
rows
,
pdf
,
filename
=
open_rml_pdf
(
path
+
'/jabatan.rml'
,
rows
=
rows
,
company
=
request
.
company
,
company
=
request
.
company
,
departement
=
request
.
session
[
'departemen_nm'
],
departement
=
request
.
session
[
'departemen_nm'
],
address
=
request
.
address
,
address
=
request
.
address
,
alamat
=
Departemen
.
query_id
(
request
.
session
[
'departemen_id'
])
.
first
(),
alamat
=
Departemen
.
query_id
(
request
.
session
[
'departemen_id'
])
.
first
(),
periode
=
'01-01-2017 s.d 31-12-2017'
)
periode
=
'01-01-2017 s.d 31-12-2017'
)
return
pdf_response
(
request
,
pdf
,
filename
)
return
pdf_response
(
request
,
pdf
,
filename
)
...
@@ -237,7 +260,8 @@ class ViewJabatan(BaseView):
...
@@ -237,7 +260,8 @@ class ViewJabatan(BaseView):
else
:
else
:
jabatan
=
None
jabatan
=
None
q
=
Jabatan
.
query_kode
(
value
[
'kode'
])
# DBSession.query(Jabatan).filter_by(kode=value['kode'])
q
=
Jabatan
.
query_kode
(
value
[
'kode'
])
# DBSession.query(Jabatan).filter_by(kode=value['kode'])
found
=
q
.
first
()
found
=
q
.
first
()
if
jabatan
:
if
jabatan
:
if
found
and
found
.
id
!=
jabatan
.
id
:
if
found
and
found
.
id
!=
jabatan
.
id
:
...
...
opensipkd/base/views/kecamatan.py
View file @
46c58fc
import
colander
import
colander
from
deform
import
(
widget
,
)
from
deform
import
(
widget
,
)
from
pyramid.i18n
import
TranslationStringFactory
from
opensipkd.base.views.provinsi
import
provinsi_widget
from
opensipkd.base.views.provinsi
import
provinsi_widget
from
opensipkd.models
import
DBSession
,
ResKecamatan
,
ResDati2
,
ResProvinsi
from
opensipkd.models
import
DBSession
,
ResKecamatan
,
ResDati2
,
ResProvinsi
from
pyramid.view
import
(
view_config
,
)
from
pyramid.view
import
(
view_config
,
)
...
@@ -10,6 +12,7 @@ from ..views import BaseView
...
@@ -10,6 +12,7 @@ from ..views import BaseView
SESS_ADD_FAILED
=
'Tambah kecamatan gagal'
SESS_ADD_FAILED
=
'Tambah kecamatan gagal'
SESS_EDIT_FAILED
=
'Edit kecamatan gagal'
SESS_EDIT_FAILED
=
'Edit kecamatan gagal'
_
=
TranslationStringFactory
(
"opensipkd"
)
@colander.deferred
@colander.deferred
...
@@ -52,12 +55,11 @@ class EditSchema(AddSchema):
...
@@ -52,12 +55,11 @@ class EditSchema(AddSchema):
class
ListSchema
(
colander
.
Schema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
searchable
=
False
,
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
orderable
=
False
,
visible
=
False
)
title
=
_
(
"action"
,
default
=
"Action"
)
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
width
=
'100pt'
,
title
=
"Kode"
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
width
=
'100pt'
,
title
=
"Kode"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Nama"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Nama"
)
kabupaten
=
colander
.
SchemaNode
(
colander
.
String
(),
field
=
ResDati2
.
nama
)
kabupaten
=
colander
.
SchemaNode
(
colander
.
String
(),
field
=
ResDati2
.
nama
)
status
=
colander
.
SchemaNode
(
colander
.
Integer
(),
width
=
"30pt"
)
class
Views
(
BaseView
):
class
Views
(
BaseView
):
...
@@ -114,7 +116,7 @@ class Views(BaseView):
...
@@ -114,7 +116,7 @@ class Views(BaseView):
renderer
=
'templates/table.pt'
,
renderer
=
'templates/table.pt'
,
permission
=
'kecamatan'
)
permission
=
'kecamatan'
)
def
view_list
(
self
):
def
view_list
(
self
):
return
super
(
Views
,
self
)
.
view_list
(
self
)
return
super
(
Views
,
self
)
.
view_list
()
@view_config
(
route_name
=
'kecamatan-act'
,
renderer
=
'json'
,
@view_config
(
route_name
=
'kecamatan-act'
,
renderer
=
'json'
,
permission
=
'view'
)
permission
=
'view'
)
...
...
opensipkd/base/views/log_app.py
View file @
46c58fc
...
@@ -5,6 +5,7 @@ from datatables import ColumnDT
...
@@ -5,6 +5,7 @@ from datatables import ColumnDT
from
deform
import
Form
,
widget
from
deform
import
Form
,
widget
from
opensipkd.tools.buttons
import
btn_view
,
btn_delete
from
opensipkd.tools.buttons
import
btn_view
,
btn_delete
from
pyramid.httpexceptions
import
HTTPFound
from
pyramid.httpexceptions
import
HTTPFound
from
pyramid.i18n
import
TranslationStringFactory
from
pyramid.view
import
view_config
from
pyramid.view
import
view_config
from
opensipkd.base
import
DBSession
from
opensipkd.base
import
DBSession
...
@@ -34,12 +35,12 @@ class EditSchema(AddSchema):
...
@@ -34,12 +35,12 @@ class EditSchema(AddSchema):
widget
=
widget
.
HiddenWidget
(),
widget
=
widget
.
HiddenWidget
(),
)
)
_
=
TranslationStringFactory
(
"opensipkd"
)
class
ListSchema
(
colander
.
Schema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
String
(),
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
missing
=
colander
.
drop
,
title
=
_
(
"action"
,
default
=
"Action"
))
widget
=
widget
.
HiddenWidget
(),
visible
=
False
)
created_at
=
colander
.
SchemaNode
(
created_at
=
colander
.
SchemaNode
(
colander
.
DateTime
())
colander
.
DateTime
())
logger
=
colander
.
SchemaNode
(
logger
=
colander
.
SchemaNode
(
...
...
opensipkd/base/views/menus.py
View file @
46c58fc
import
colander
import
colander
from
deform
import
(
widget
,
)
from
deform
import
(
widget
,
)
from
pyramid.i18n
import
TranslationStringFactory
from
opensipkd.models
import
Menus
,
flush
from
opensipkd.models
import
Menus
,
flush
from
pyramid.view
import
(
view_config
,
)
from
pyramid.view
import
(
view_config
,
)
from
sqlalchemy.orm
import
aliased
from
sqlalchemy.orm
import
aliased
from
..views
import
ColumnDT
,
DataTables
,
BaseView
from
..views
import
ColumnDT
,
DataTables
,
BaseView
_
=
TranslationStringFactory
(
"opensipkd"
)
SESS_ADD_FAILED
=
'Tambah menu gagal'
SESS_ADD_FAILED
=
'Tambah menu gagal'
SESS_EDIT_FAILED
=
'Edit menu gagal'
SESS_EDIT_FAILED
=
'Edit menu gagal'
...
@@ -70,7 +73,8 @@ class EditSchema(AddSchema):
...
@@ -70,7 +73,8 @@ class EditSchema(AddSchema):
class
ListSchema
(
colander
.
Schema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"ID"
,
visible
=
False
)
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
_
(
"action"
,
default
=
"Action"
))
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Kode"
,
width
=
'100pt'
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Kode"
,
width
=
'100pt'
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Nama"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"Nama"
)
status
=
colander
.
SchemaNode
(
colander
.
Boolean
(),
title
=
"Status"
,
status
=
colander
.
SchemaNode
(
colander
.
Boolean
(),
title
=
"Status"
,
...
...
opensipkd/base/views/parameter.py
View file @
46c58fc
...
@@ -7,6 +7,7 @@ from opensipkd.models import (
...
@@ -7,6 +7,7 @@ from opensipkd.models import (
DBSession
,
DBSession
,
Parameter
)
Parameter
)
class
AddSchema
(
colander
.
Schema
):
class
AddSchema
(
colander
.
Schema
):
kode
=
colander
.
SchemaNode
(
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
colander
.
String
(),
...
@@ -32,7 +33,31 @@ class EditSchema(AddSchema):
...
@@ -32,7 +33,31 @@ class EditSchema(AddSchema):
id
=
colander
.
SchemaNode
(
colander
.
String
(),
id
=
colander
.
SchemaNode
(
colander
.
String
(),
missing
=
colander
.
drop
,
missing
=
colander
.
drop
,
widget
=
widget
.
HiddenWidget
(
readonly
=
True
),
widget
=
widget
.
HiddenWidget
(
readonly
=
True
),
visible
=
False
)
title
=
"Action"
)
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
"Action"
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"kode"
,
title
=
"Kode"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
oid
=
"nama"
,
title
=
"Nama"
)
value
=
colander
.
SchemaNode
(
colander
.
String
(),
widget
=
widget
.
TextAreaWidget
(
rows
=
5
),
oid
=
"value"
,
title
=
"Nilai"
)
status
=
colander
.
SchemaNode
(
colander
.
Integer
(),
widget
=
widget
.
CheckboxWidget
())
class
Views
(
BaseView
):
class
Views
(
BaseView
):
...
@@ -44,7 +69,7 @@ class Views(BaseView):
...
@@ -44,7 +69,7 @@ class Views(BaseView):
self
.
add_schema
=
AddSchema
self
.
add_schema
=
AddSchema
self
.
edit_schema
=
EditSchema
self
.
edit_schema
=
EditSchema
self
.
table
=
Parameter
self
.
table
=
Parameter
self
.
list_schema
=
Edi
tSchema
self
.
list_schema
=
Lis
tSchema
@view_config
(
route_name
=
'parameter'
,
renderer
=
'templates/table.pt'
,
@view_config
(
route_name
=
'parameter'
,
renderer
=
'templates/table.pt'
,
permission
=
'user-edit'
)
permission
=
'user-edit'
)
...
...
opensipkd/base/views/partner.py
View file @
46c58fc
...
@@ -4,6 +4,7 @@ import colander
...
@@ -4,6 +4,7 @@ import colander
from
deform
import
(
from
deform
import
(
widget
,
widget
,
)
)
from
pyramid.i18n
import
TranslationStringFactory
from
pyramid.view
import
(
from
pyramid.view
import
(
view_config
,
view_config
,
)
)
...
@@ -19,6 +20,7 @@ from opensipkd.models import DBSession, Partner
...
@@ -19,6 +20,7 @@ from opensipkd.models import DBSession, Partner
from
..
import
partner_idcard_folder
from
..
import
partner_idcard_folder
from
..views
import
BaseView
from
..views
import
BaseView
_
=
TranslationStringFactory
(
"opensipkd"
)
SESS_ADD_FAILED
=
'Tambah partner gagal'
SESS_ADD_FAILED
=
'Tambah partner gagal'
SESS_EDIT_FAILED
=
'Edit partner gagal'
SESS_EDIT_FAILED
=
'Edit partner gagal'
...
@@ -54,16 +56,26 @@ class EditSchema(AddSchema):
...
@@ -54,16 +56,26 @@ class EditSchema(AddSchema):
)
)
class
ListSchema
(
NamaSchema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
String
(),
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
missing
=
colander
.
drop
,
title
=
_
(
"action"
,
default
=
"Action"
))
widget
=
widget
.
HiddenWidget
(),
kode
=
colander
.
SchemaNode
(
)
colander
.
String
(),
validator
=
colander
.
Length
(
max
=
32
),
oid
=
"kode"
,
title
=
"Kode"
,
width
=
"100pt"
)
nama
=
colander
.
SchemaNode
(
colander
.
String
(),
validator
=
colander
.
Length
(
max
=
64
),
oid
=
"nama"
)
email
=
colander
.
SchemaNode
(
email
=
colander
.
SchemaNode
(
colander
.
String
(),
colander
.
String
(),
oid
=
"email"
)
oid
=
"email"
)
status
=
colander
.
SchemaNode
(
status
=
colander
.
SchemaNode
(
colander
.
Boolean
(),
colander
.
Boolean
(),
widget
=
widget
.
CheckboxWidget
(),
oid
=
"status"
)
oid
=
"status"
)
...
...
opensipkd/base/views/posisi.py
View file @
46c58fc
This diff is collapsed.
Click to expand it.
opensipkd/base/views/provinsi.py
View file @
46c58fc
import
colander
import
colander
from
deform
import
(
widget
,
)
from
deform
import
(
widget
,
)
from
pyramid.i18n
import
TranslationStringFactory
from
pyramid.view
import
(
view_config
,
)
from
pyramid.view
import
(
view_config
,
)
from
.
import
widget_os
from
.
import
widget_os
from
opensipkd.models
import
DBSession
,
ResProvinsi
,
kategori_provinsi
from
opensipkd.models
import
DBSession
,
ResProvinsi
,
kategori_provinsi
from
..views
import
BaseView
from
..views
import
BaseView
_
=
TranslationStringFactory
(
"opensipkd"
)
SESS_ADD_FAILED
=
'Tambah provinsi gagal'
SESS_ADD_FAILED
=
'Tambah provinsi gagal'
SESS_EDIT_FAILED
=
'Edit provinsi gagal'
SESS_EDIT_FAILED
=
'Edit provinsi gagal'
...
@@ -41,7 +43,8 @@ class EditSchema(AddSchema):
...
@@ -41,7 +43,8 @@ class EditSchema(AddSchema):
class
ListSchema
(
colander
.
Schema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
searchable
=
False
,
orderable
=
False
,
visible
=
False
)
id
=
colander
.
SchemaNode
(
colander
.
Integer
(),
title
=
_
(
"action"
,
default
=
"Action"
))
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
width
=
100
)
kode
=
colander
.
SchemaNode
(
colander
.
String
(),
width
=
100
)
nama
=
colander
.
SchemaNode
(
colander
.
String
())
nama
=
colander
.
SchemaNode
(
colander
.
String
())
ibu_kota
=
colander
.
SchemaNode
(
colander
.
String
())
ibu_kota
=
colander
.
SchemaNode
(
colander
.
String
())
...
...
opensipkd/base/views/user.py
View file @
46c58fc
...
@@ -21,12 +21,14 @@ _ = TranslationStringFactory('user')
...
@@ -21,12 +21,14 @@ _ = TranslationStringFactory('user')
class
ListSchema
(
colander
.
Schema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
String
(),
id
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
"
ID"
,
visible
=
False
,
title
=
"
Action"
,
searchable
=
False
)
searchable
=
False
)
email
=
colander
.
SchemaNode
(
colander
.
String
())
email
=
colander
.
SchemaNode
(
colander
.
String
())
user_name
=
colander
.
SchemaNode
(
colander
.
String
(),
user_name
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
_
(
"user-name"
,
default
=
"User Name"
))
title
=
_
(
"user-name"
,
default
=
"User Name"
))
status
=
colander
.
SchemaNode
(
colander
.
Integer
(),
width
=
50
,
searchable
=
False
)
status
=
colander
.
SchemaNode
(
colander
.
Integer
(),
widget
=
widget
.
CheckboxWidget
(),
width
=
50
,
searchable
=
False
)
last_login
=
colander
.
SchemaNode
(
colander
.
String
(),
width
=
100
,
last_login
=
colander
.
SchemaNode
(
colander
.
String
(),
width
=
100
,
field
=
"last_login_date"
,
field
=
"last_login_date"
,
searchable
=
False
)
searchable
=
False
)
...
...
opensipkd/base/views/user_ext.py
View file @
46c58fc
...
@@ -25,7 +25,7 @@ class EditSchema(AddSchema):
...
@@ -25,7 +25,7 @@ class EditSchema(AddSchema):
class
ListSchema
(
colander
.
Schema
):
class
ListSchema
(
colander
.
Schema
):
id
=
colander
.
SchemaNode
(
colander
.
String
(),
field
=
"external_id"
)
id
=
colander
.
SchemaNode
(
colander
.
String
(),
field
=
"external_id"
,
title
=
"Action"
)
external_user_name
=
colander
.
SchemaNode
(
external_user_name
=
colander
.
SchemaNode
(
colander
.
String
(),
title
=
_
(
'User Name'
))
colander
.
String
(),
title
=
_
(
'User Name'
))
provider_name
=
(
colander
.
SchemaNode
(
colander
.
String
(),
title
=
_
(
'Provider'
)))
provider_name
=
(
colander
.
SchemaNode
(
colander
.
String
(),
title
=
_
(
'Provider'
)))
...
@@ -38,24 +38,24 @@ class UserExt(BaseView):
...
@@ -38,24 +38,24 @@ class UserExt(BaseView):
self
.
edit_schema
=
EditSchema
self
.
edit_schema
=
EditSchema
self
.
list_schema
=
ListSchema
self
.
list_schema
=
ListSchema
self
.
list_route
=
"user-ext"
self
.
list_route
=
"user-ext"
self
.
list_buttons
=
(
btn_
view
,
btn_delete
,
btn_close
)
self
.
list_buttons
=
(
btn_
close
,
)
self
.
table
=
ExternalIdentity
self
.
table
=
ExternalIdentity
@view_config
(
@view_config
(
route_name
=
'user-ext'
,
renderer
=
'templates/table.pt'
,
route_name
=
'user-ext'
,
renderer
=
'templates/table.pt'
,
permission
=
'user-view'
)
permission
=
'user-view'
)
def
view_list
(
self
):
def
view_list
(
self
):
form
=
super
(
UserExt
,
self
)
.
view_list
()
form
=
super
(
UserExt
,
self
)
.
view_list
(
allow_edit
=
False
,
allow_delete
=
False
)
return
form
return
form
@view_config
(
@view_config
(
route_name
=
'user-ext-view'
,
renderer
=
'templates/form
_input
.pt'
,
route_name
=
'user-ext-view'
,
renderer
=
'templates/form.pt'
,
permission
=
'user-view'
)
permission
=
'user-view'
)
def
view_view
(
self
):
def
view_view
(
self
):
return
super
(
UserExt
,
self
)
.
view_view
()
return
super
(
UserExt
,
self
)
.
view_view
()
@view_config
(
@view_config
(
route_name
=
'user-ext-delete'
,
renderer
=
'templates/form
_input
.pt'
,
route_name
=
'user-ext-delete'
,
renderer
=
'templates/form.pt'
,
permission
=
'user-edit'
)
permission
=
'user-edit'
)
def
view_delete
(
self
):
def
view_delete
(
self
):
return
super
(
UserExt
,
self
)
.
view_delete
()
return
super
(
UserExt
,
self
)
.
view_delete
()
...
...
opensipkd/detable/detable.py
View file @
46c58fc
...
@@ -10,7 +10,7 @@ from chameleon.utils import Markup
...
@@ -10,7 +10,7 @@ from chameleon.utils import Markup
from
deform
import
compat
from
deform
import
compat
from
deform
import
field
from
deform
import
field
from
.
import
widget
from
.
import
widget
# from deform import widget
log
=
logging
.
getLogger
(
__name__
)
log
=
logging
.
getLogger
(
__name__
)
...
@@ -166,24 +166,24 @@ class DeTable(field.Field):
...
@@ -166,24 +166,24 @@ class DeTable(field.Field):
for
f
in
schema
:
for
f
in
schema
:
d
=
{
'data'
:
f
.
name
}
d
=
{
'data'
:
f
.
name
}
data
=
[]
data
=
[]
if
hasattr
(
f
,
'width'
):
if
hasattr
(
f
,
'width'
):
d
[
"width"
]
=
f
.
width
d
[
"width"
]
=
f
.
width
data
.
append
(
f
"width: '{f.width}'"
)
data
.
append
(
f
"width: '{f.width}'"
)
if
hasattr
(
f
,
'aligned'
):
if
hasattr
(
f
,
'aligned'
):
d
[
"className"
]
=
f
.
aligned
d
[
"className"
]
=
f
.
aligned
data
.
append
(
f
"className: '{f.aligned}'"
)
data
.
append
(
f
"className: '{f.aligned}'"
)
if
hasattr
(
f
,
'searchable'
):
if
hasattr
(
f
,
'searchable'
):
d
[
"searchable"
]
=
f
.
searchable
d
[
"searchable"
]
=
f
.
searchable
data
.
append
(
f
"searchable: {f.searchable}"
)
data
.
append
(
f
"searchable: {f.searchable}"
)
if
hasattr
(
f
,
'visible'
):
if
hasattr
(
f
,
'visible'
):
d
[
"visible"
]
=
f
.
visible
d
[
"visible"
]
=
f
.
visible
data
.
append
(
f
"visible: {f.visible}"
)
data
.
append
(
f
"visible: {f.visible}"
)
if
isinstance
(
f
.
widget
,
deform
.
widget
.
HiddenWidget
):
if
isinstance
(
f
.
widget
,
deform
.
widget
.
HiddenWidget
):
d
[
"visible"
]
=
False
d
[
"visible"
]
=
False
if
isinstance
(
f
.
widget
,
deform
.
widget
.
CheckboxWidget
):
d
[
"checkbox"
]
=
True
else
:
d
[
"checkbox"
]
=
False
if
hasattr
(
f
,
'orderable'
):
if
hasattr
(
f
,
'orderable'
):
d
[
"orderable"
]
=
f
.
orderable
d
[
"orderable"
]
=
f
.
orderable
...
@@ -199,8 +199,7 @@ class DeTable(field.Field):
...
@@ -199,8 +199,7 @@ class DeTable(field.Field):
"currency"
]
or
""
"currency"
]
or
""
if
thousand
or
type
(
f
.
typ
)
==
colander
.
Float
()
or
type
(
if
thousand
or
type
(
f
.
typ
)
==
colander
.
Float
()
or
type
(
f
.
typ
)
==
colander
.
Integer
():
f
.
typ
)
==
colander
.
Integer
():
d
[
d
[
"render"
]
=
f
"<script>$.fn.dataTable.render.number( '{separator}', "
\
"render"
]
=
f
"<script>$.fn.dataTable.render.number( '{separator}', "
\
f
"'{decimal}', {point}, '{currency}' )</script>"
f
"'{decimal}', {point}, '{currency}' )</script>"
if
'className'
not
in
d
:
if
'className'
not
in
d
:
d
[
"className"
]
=
"text-right"
d
[
"className"
]
=
"text-right"
...
...
opensipkd/detable/templates/detable.pt
View file @
46c58fc
...
@@ -17,7 +17,6 @@
...
@@ -17,7 +17,6 @@
data data|field.data;
data data|field.data;
allow_edit allow_edit|field.allow_edit;
allow_edit allow_edit|field.allow_edit;
allow_delete allow_delete|field.allow_delete;
allow_delete allow_delete|field.allow_delete;
edit_url 'edit.com';
"
"
tal:attributes="style style; class css_class; attributes|field.widget.attributes|{};"
tal:attributes="style style; class css_class; attributes|field.widget.attributes|{};"
i18n:domain="detable">
i18n:domain="detable">
...
@@ -32,7 +31,6 @@
...
@@ -32,7 +31,6 @@
<thead>
<thead>
<tr>
<tr>
<th tal:repeat="child field">${child.title}</th>
<th tal:repeat="child field">${child.title}</th>
<th tal:condition="allow_edit or allow_delete">Action</th>
</tr>
</tr>
</thead>
</thead>
<tbody>
<tbody>
...
@@ -43,7 +41,7 @@
...
@@ -43,7 +41,7 @@
</div>
</div>
</header>
</header>
<script
type="text/javascript"
>
<script>
deform.addCallback
deform.addCallback
('${tableid}', function (oid) {
('${tableid}', function (oid) {
let m${tableid}ID;
let m${tableid}ID;
...
@@ -57,11 +55,16 @@
...
@@ -57,11 +55,16 @@
'</div>',
'</div>',
]
]
let columns = ${structure: columns};
let columns = ${structure: columns};
let action_column = {
"data": "id",
function render_checkbox(value) {
"className": "text-center",
if (value == true) {
"width": 50,
return '<i class="fas fa-check-square" aria-hidden="true">';
"render": function (id) {
}
return '<i class="fas fa-rectangle-xmark" aria-hidden="true">';
}
if (columns[0].data == "id") {
columns[0].render = function (id) {
let result = '<a href="${url}/' + id + '/view"><i class="fas fa-eye" aria-hidden="true"></i></a> ';
let result = '<a href="${url}/' + id + '/view"><i class="fas fa-eye" aria-hidden="true"></i></a> ';
if (${allow_edit}) {
if (${allow_edit}) {
result += '<a href="${url}/' + id + '/edit"><i class="fas fa-edit" aria-hidden="true"></i></a> '
result += '<a href="${url}/' + id + '/edit"><i class="fas fa-edit" aria-hidden="true"></i></a> '
...
@@ -72,8 +75,25 @@
...
@@ -72,8 +75,25 @@
return result;
return result;
}
}
columns[0].width = "40pt";
columns[0].orderable = false;
columns[0].className = "text-center";
columns[0].visible = true;
columns[1].order = "order_asc";
}
for (co in columns) {
if (columns[co].checkbox === true) {
columns[co].className = "text-center";
columns[co].width = "30pt";
columns[co].render = function (val) {
if (["", false, 0].indexOf(val) === -1) {
return render_checkbox(true);
} else return render_checkbox(false);
}
}
}
}
columns.push(action_column);
console.log(columns);
let language = {
let language = {
"search": "Cari: ",
"search": "Cari: ",
"paginate": {
"paginate": {
...
@@ -96,6 +116,7 @@
...
@@ -96,6 +116,7 @@
autoWidth: false,
autoWidth: false,
paginate: ${paginates},
paginate: ${paginates},
paginationType: "full_numbers",
paginationType: "full_numbers",
order: [],
lengthMenu: [
lengthMenu: [
[10, 25, 50, 100],
[10, 25, 50, 100],
[10, 25, 50, 100]
[10, 25, 50, 100]
...
@@ -104,9 +125,12 @@
...
@@ -104,9 +125,12 @@
"language": language,
"language": language,
}
}
if (${server_side}==false)
if (${server_side}==false
{params.data = ${data};}
)
else
{
params.data = ${data};
}
else
{
{
params.ajax = o${tableid}Url;
params.ajax = o${tableid}Url;
}
}
...
@@ -118,7 +142,7 @@
...
@@ -118,7 +142,7 @@
if ($(this).hasClass('selected')) {
if ($(this).hasClass('selected')) {
$(this).removeClass('selected');
$(this).removeClass('selected');
} else {
} else {
var
aData = o${tableid}.row(this).data();
let
aData = o${tableid}.row(this).data();
o${tableid}.$('tr.selected').removeClass('selected');
o${tableid}.$('tr.selected').removeClass('selected');
$(this).addClass('selected');
$(this).addClass('selected');
m${tableid}ID = aData.id;
m${tableid}ID = aData.id;
...
...
opensipkd/jsonrpc_auth/__init__.py
View file @
46c58fc
...
@@ -191,6 +191,8 @@ def add_jsonrpc_endpoint(config, name, *args, **kw):
...
@@ -191,6 +191,8 @@ def add_jsonrpc_endpoint(config, name, *args, **kw):
def
setup_request
(
endpoint
,
request
):
def
setup_request
(
endpoint
,
request
):
""" Parse a JSON-RPC request body."""
""" Parse a JSON-RPC request body."""
print
(
request
.
__dict__
)
print
(
request
.
environ
.
get
(
"ACCESS_CONTROL_ALLOW_ORIGIN"
))
if
request
.
method
==
'GET'
:
if
request
.
method
==
'GET'
:
parse_request_GET
(
request
)
parse_request_GET
(
request
)
elif
request
.
method
==
'POST'
:
elif
request
.
method
==
'POST'
:
...
...
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