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 cf3b3ad4
authored
Jan 30, 2025
by
aa.gusti
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
initialize
1 parent
14c56b4f
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
71 additions
and
59 deletions
opensipkd/base/scripts/initializedb.py
opensipkd/base/tools/report.py
opensipkd/base/views/base_views.py
opensipkd/base/views/register.py
opensipkd/base/views/user.py
pyproject.toml
opensipkd/base/scripts/initializedb.py
View file @
cf3b3ad
...
...
@@ -410,7 +410,7 @@ def main(argv=sys.argv):
DBSession
.
configure
(
bind
=
engine
)
LogDBSession
.
configure
(
bind
=
engine
)
# alembic_run(config_uri) # alembicnya ziggurat
Base
.
metadata
.
create_all
(
engine
)
Base
.
metadata
.
create_all
(
bind
=
engine
)
alembic_run
(
config_uri
,
"alembic_base"
)
# base_alembic_run(config_uri)
...
...
opensipkd/base/tools/report.py
View file @
cf3b3ad
...
...
@@ -26,28 +26,45 @@ def jasper_compile(input_file):
pyreportjasper
.
compile
(
write_jasper
=
True
)
def
jasper_export
(
input_file
,
output_file
=
None
,
schema
=
None
,
output_formats
=
[
"pdf"
],
dburl
=
"sqlalchemy.url"
,
parameters
=
{},
db_schema
=
None
,
report_locale
=
"en_US"
):
def
jasper_db_conn
(
db_schema
=
None
,
dburl
=
"sqlalchemy.url"
):
db
=
get_params
(
dburl
)
.
split
(
"@"
)
db_driver
,
db_user
,
db_password
=
db
[
0
]
.
split
(
':'
)
db_servers
,
db_name
=
db
[
1
]
.
split
(
'/'
)
# db_user, db_password = db_users.split(":")
if
db_servers
.
find
(
':'
)
>
1
:
db_host
,
db_port
=
db_servers
.
split
(
":"
)
else
:
db_host
=
db_servers
db_port
=
db_driver_port
[
db_driver
][
1
]
# db_host = db_server
jdbc_dir
=
get_params
(
"jdbc_dir"
,
""
)
# if not jdbc_dir:
# java_home = os.getenv("JAVA_HOME")
# jdbc_dir = os.path.join(java_home, 'lib', db_driver_port[db_driver][2])
if
db_servers
.
find
(
':'
)
>
1
:
db_host
,
db_port
=
db_servers
.
split
(
":"
)
else
:
db_host
=
db_servers
db_port
=
db_driver_port
[
db_driver
][
1
]
jdbc_dir
=
get_params
(
"jdbc_dir"
,
""
)
jdbc_driver
=
db_driver_port
[
db_driver
][
2
]
db_driver
=
db_driver_port
[
db_driver
][
0
]
log
.
info
(
jdbc_dir
)
return
{
'driver'
:
db_driver
,
'username'
:
db_user
.
strip
(
'/'
),
'password'
:
db_password
,
'host'
:
db_host
,
'database'
:
db_name
,
'db_sid'
:
db_name
,
# for oracle: added by Tatang
'schema'
:
db_schema
,
'port'
:
db_port
,
'jdbc_dir'
:
jdbc_dir
,
'jdbc_driver'
:
jdbc_driver
,
}
def
jasper_export
(
input_file
,
output_file
=
None
,
schema
=
None
,
output_formats
=
[
"pdf"
],
dburl
=
"sqlalchemy.url"
,
parameters
=
{},
db_schema
=
None
,
report_locale
=
"en_US"
,
use_db
=
True
):
input_file
=
input_file
.
split
(
":"
)
# if os.name == 'nt' and len(input_file)>1:
# input_file=[input_file[0]]
...
...
@@ -77,53 +94,26 @@ def jasper_export(input_file, output_file=None, schema=None,
else
:
input_file
=
input_file
[
0
]
log
.
debug
(
f
"Input File: {input_file}"
)
log
.
debug
(
f
"Input File: {input_file}"
)
# if len(input_file) > 1:
# path = __import__()
# path = os.path.dirname(path.__file__)
# input_file = os.path.join(path, input_file[1])
# else:
# input_file = os.path.join(path, input_file[0])
# if not output_file:
# output_file = get_params("tmp_report", "/tmp")
# output_file = os.path.join(output_file, get_random_string(32))
#
if
not
output_file
:
output_file
=
get_params
(
"tmp_report"
,
"/tmp"
)
output_file
=
os
.
path
.
join
(
output_file
,
get_random_string
(
32
))
conn
=
{
'driver'
:
db_driver
,
'username'
:
db_user
.
strip
(
'/'
),
'password'
:
db_password
,
'host'
:
db_host
,
'database'
:
db_name
,
'db_sid'
:
db_name
,
# for oracle: added by Tatang
'schema'
:
db_schema
,
'port'
:
db_port
,
'jdbc_dir'
:
jdbc_dir
,
'jdbc_driver'
:
jdbc_driver
,
}
db_connection
=
use_db
and
jasper_db_conn
(
db_schema
=
db_schema
,
dburl
=
dburl
)
or
{}
pyreportjasper
=
PyReportJasper
()
parameters
.
update
({
'python_version'
:
python_version
()})
pyreportjasper
.
config
(
input_file
,
output_file
,
db_connection
=
conn
,
output_formats
=
output_formats
,
db_connection
=
db_connection
,
parameters
=
parameters
,
locale
=
report_locale
)
try
:
log
.
info
(
input_file
)
# log.info(output_file)
# log.info(conn)
# log.info(output_formats)
pyreportjasper
.
compile
(
write_jasper
=
True
)
pyreportjasper
.
process_report
()
except
Exception
as
e
:
...
...
@@ -131,4 +121,4 @@ def jasper_export(input_file, output_file=None, schema=None,
raise
output_files
=
[
"."
.
join
([
output_file
,
f
])
for
f
in
output_formats
]
log
.
info
(
output_files
)
return
output_files
\ No newline at end of file
return
output_files
opensipkd/base/views/base_views.py
View file @
cf3b3ad
...
...
@@ -734,9 +734,13 @@ class BaseView(object):
row
.
updated
=
datetime
.
now
()
row
.
update_uid
=
user
and
user
.
id
or
None
for
key
,
value
in
values
.
items
():
if
hasattr
(
row
,
key
):
setattr
(
row
,
key
,
value
)
for
column
in
row
.
__table__
.
columns
:
if
column
.
name
in
values
:
setattr
(
row
,
column
.
name
,
values
[
column
.
name
])
# for key, value in values.items():
# if hasattr(row, key):
# setattr(row, key, value)
# row.from_dict(values)
# if hasattr(row, "status"):
...
...
opensipkd/base/views/register.py
View file @
cf3b3ad
...
...
@@ -290,7 +290,7 @@ class Registrasi(BaseView):
else
:
value
.
pop
(
"idcard"
)
value
[
"groups"
]
=
"Guest"
value
[
"groups"
]
=
"Guest"
def
before_add
(
self
):
result
=
{}
...
...
@@ -329,7 +329,7 @@ class Registrasi(BaseView):
return
DBSession
.
query
(
Partner
)
.
\
filter
(
Partner
.
email
==
self
.
req
.
user
.
email
)
def
id_not_found
(
self
):
def
id_not_found
(
self
,
**
kwargs
):
return
def
get_values
(
self
,
row
,
istime
=
False
):
...
...
@@ -406,7 +406,7 @@ class Registrasi(BaseView):
'email-new-user.tpl'
)
ts
=
_
(
'user-added'
,
default
=
'${email} berhasil ditambahkan dan email untuk ubah '
\
default
=
'${email} berhasil ditambahkan dan email untuk ubah '
'kata kunci sudah dikirim.'
,
mapping
=
{
"email"
:
row
.
email
})
self
.
ses
.
flash
(
ts
)
...
...
@@ -427,4 +427,4 @@ class Registrasi(BaseView):
values
=
dict
(
c
)
row
=
self
.
save_request
(
values
)
self
.
after_add
(
row
=
row
,
values
=
values
)
return
self
.
route_list
()
\ No newline at end of file
return
self
.
route_list
()
opensipkd/base/views/user.py
View file @
cf3b3ad
...
...
@@ -128,7 +128,7 @@ class Views(BaseView):
# values["company_id"] or None
# values["company_id"] = company_id
if
"company_id"
not
in
values
:
values
[
"company_id"
]
=
None
values
[
"company_id"
]
=
None
if
'is_api_key'
in
values
:
values
[
"api_key"
]
=
generate_api_key
()
insert
=
not
row
...
...
@@ -147,7 +147,7 @@ class Views(BaseView):
data
=
dict
(
email
=
row
.
email
)
ts
=
_
(
'user-added'
,
default
=
'${email} berhasil ditambahkan dan email untuk ubah '
\
default
=
'${email} berhasil ditambahkan dan email untuk ubah '
'kata kunci sudah dikirim.'
,
mapping
=
data
)
self
.
ses
.
flash
(
ts
)
...
...
@@ -411,8 +411,8 @@ def user_widget(node, kw):
values
=
kw
.
get
(
'user_list'
,
[])
request
=
kw
.
get
(
"request"
)
return
widget
.
SelectWidget
(
values
=
values
,
placeholder
=
"Pilih User"
,
style
=
"width:300px;"
)
placeholder
=
"Pilih User"
,
style
=
"width:300px;"
)
class
UserFilterSchema
(
colander
.
Schema
):
...
...
pyproject.toml
View file @
cf3b3ad
[build-system]
requires
=
[
'setuptools
>=
64
'
,
'wheel'
]
build-backend
=
'setuptools.build_meta'
#requires = ["hatchling"]
#build-backend = "hatchling.build"
[tool.setuptools]
py-modules
=
["opensipkd"]
[tool.mypy]
exclude
=
[
'base'
,
'report'
,
'external'
,
'developers'
,
]
show_error_codes
=
true
[[tool.mypy.overrides]]
module
=
[
"opensipkd.base.*"
,
"opensipkd.models.*"
,
"opensipkd.detable.*"
,
"opensipkd.jsonrpc_auth.*"
,
]
warn_unused_ignores
=
true
strict
=
true
[project]
name
=
'opensipkd-base'
version
=
'
4.2
B
'
version
=
'
4.2
'
dependencies
=
[
'sqlalchemy'
,
'colander'
,
...
...
@@ -45,7 +62,8 @@ authors = [
{
email
=
"opensipkd@gmail.com"
}
,]
maintainers
=
[
{
name
=
"Ari"
,
email
=
"ariagungprasetiyo@gmail.com"
}
]
{
name
=
"Ari"
,
email
=
"ariagungprasetiyo@gmail.com"
}
,
{
name
=
"Owo Sugiana"
,
email
=
"sugiana@gmail.com"
}
]
description
=
'Framwork
Aplikasi
openSIPKD'
readme
=
'README.rst'
...
...
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