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 a1ba28e1
authored
Mar 04, 2023
by
aagusti
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
get urls
1 parent
478e3296
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
62 additions
and
51 deletions
opensipkd/base/__init__.py
opensipkd/base/views/__init__.py
opensipkd/base/views/base_views.py
opensipkd/base/views/departemen.py
opensipkd/base/views/departemen_change.py
opensipkd/base/views/menus.py
opensipkd/base/views/partner_base.py
opensipkd/base/views/register.py
opensipkd/base/views/register_external.py
opensipkd/base/views/upload.py
opensipkd/base/views/user_dep.py
opensipkd/base/views/user_group.py
opensipkd/base/views/user_login.py
opensipkd/detable/templates/detable.pt
opensipkd/base/__init__.py
View file @
a1ba28e
...
...
@@ -351,6 +351,16 @@ def get_menus(request):
return
result
def
get_urls
(
request
,
route_name
,
*
elements
,
**
kw
):
url
=
request
.
route_url
(
route_name
,
*
elements
,
**
kw
)
home
=
get_host
(
request
)
urls
=
url
.
split
(
":"
)
homes
=
home
.
split
(
":"
)
if
urls
[
0
]
!=
homes
[
0
]:
return
":"
.
join
([
homes
[
0
],
urls
[
1
:]])
return
url
def
format_datetime
(
v
):
if
v
.
time
()
!=
datetime
.
time
(
0
,
0
):
return
dmyhms
(
v
)
...
...
@@ -462,6 +472,7 @@ def main(global_config, **settings):
config
.
add_request_method
(
is_devel
,
'devel'
,
reify
=
True
)
config
.
add_request_method
(
get_host
,
'_host'
,
reify
=
True
)
config
.
add_request_method
(
get_host
,
'home'
,
reify
=
True
)
config
.
add_request_method
(
get_urls
,
'route_urls'
,
reify
=
True
)
config
.
add_request_method
(
google_signin_client_id
,
'google_signin_client_id'
,
reify
=
True
)
config
.
add_request_method
(
google_signin_client_ids
,
...
...
opensipkd/base/views/__init__.py
View file @
a1ba28e
...
...
@@ -68,11 +68,11 @@ class Home(BaseView):
log
.
info
(
request
.
session
.
peek_flash
())
if
modules_default
:
if
request
.
user
and
request
.
has_permission
(
modules_default
):
return
HTTPFound
(
location
=
request
.
route_url
(
modules_default
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
modules_default
))
elif
request
.
user
and
len
(
request
.
session
.
peek_flash
(
'error'
))
<
2
:
return
HTTPFound
(
location
=
request
.
route_url
(
modules_default
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
modules_default
))
elif
not
request
.
user
:
return
HTTPFound
(
location
=
request
.
route_url
(
modules_default
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
modules_default
))
logo
=
get_params
(
'logo'
,
"static/img/logo.png"
)
home_tpl
=
get_params
(
"home_tpl"
)
if
home_tpl
:
...
...
@@ -87,7 +87,7 @@ class Home(BaseView):
@view_config
(
context
=
HTTPForbidden
,
renderer
=
'templates/403.pt'
)
def
http_forbidden
(
request
):
if
not
request
.
is_authenticated
:
next_url
=
request
.
route_url
(
'login'
,
_query
=
{
'next'
:
request
.
url
})
next_url
=
request
.
route_url
s
(
'login'
,
_query
=
{
'next'
:
request
.
url
})
return
HTTPSeeOther
(
location
=
next_url
)
request
.
response
.
status
=
403
...
...
opensipkd/base/views/base_views.py
View file @
a1ba28e
...
...
@@ -153,7 +153,7 @@ class BaseView(object):
self
.
add_schema
=
""
self
.
upload_schema
=
UploadSchema
self
.
table
=
""
self
.
home
=
self
.
req
.
route_url
(
'home'
)[:
-
1
]
self
.
home
=
self
.
req
.
_host
self
.
buttons
=
None
self
.
headers
=
None
self
.
bindings
=
{}
...
...
@@ -168,10 +168,10 @@ class BaseView(object):
if
msg
:
self
.
ses
.
flash
(
msg
,
error
)
if
self
.
headers
:
return
HTTPFound
(
location
=
self
.
req
.
route_url
(
self
.
list_route
),
return
HTTPFound
(
location
=
self
.
req
.
route_url
s
(
self
.
list_route
),
headers
=
self
.
headers
)
else
:
return
HTTPFound
(
location
=
self
.
req
.
route_url
(
self
.
list_route
))
return
HTTPFound
(
location
=
self
.
req
.
route_url
s
(
self
.
list_route
))
def
form_validator
(
self
,
form
,
value
):
pass
...
...
@@ -218,7 +218,7 @@ class BaseView(object):
schema
=
self
.
list_schema
()
schema
=
schema
.
bind
(
request
=
self
.
req
)
table
=
DeTable
(
schema
,
action
=
self
.
req
.
route_url
(
self
.
list_route
),
action
=
self
.
req
.
route_url
s
(
self
.
list_route
),
action_suffix
=
"/grid/act"
,
buttons
=
self
.
list_buttons
,
request
=
self
.
req
,
...
...
@@ -618,4 +618,4 @@ def need_verify():
def
get_url_captcha
(
request
):
captcha
=
get_captcha
(
request
)
return
os
.
path
.
join
(
request
.
route_url
(
'home'
),
'captcha'
,
captcha
)
return
os
.
path
.
join
(
request
.
route_url
s
(
'home'
),
'captcha'
,
captcha
)
opensipkd/base/views/departemen.py
View file @
a1ba28e
...
...
@@ -80,14 +80,14 @@ class AddSchema(colander.Schema):
# missing=colander.drop,
# widget=AutocompleteInputWidget(
# size=60, min_length=3,
# values=f"{request.route_url('departemen')}/hon/act"),
# values=f"{request.route_url
s
('departemen')}/hon/act"),
# oid="parent_nm",
# title="Induk", )
self
[
"parent_nm"
]
.
widget
=
widget
.
AutocompleteInputWidget
(
size
=
60
,
min_length
=
3
,
requirements
=
((
"typeahead"
,
None
),
(
"deform"
,
None
),
{
"js"
:
"opensipkd.base:static/js/form/departemen.js"
}),
values
=
f
"{request.route_url('departemen')}/hon/act"
)
values
=
f
"{request.route_url
s
('departemen')}/hon/act"
)
if
request
.
user
.
company_id
:
self
[
"company_id"
]
.
widget
=
widget
.
HiddenWidget
()
self
[
"company_id"
]
.
default
=
request
.
user
.
company_id
...
...
opensipkd/base/views/departemen_change.py
View file @
a1ba28e
...
...
@@ -118,4 +118,4 @@ def save_request(request, values, row=None):
def
route_list
(
request
):
return
HTTPFound
(
location
=
request
.
route_url
(
'home'
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
'home'
))
opensipkd/base/views/menus.py
View file @
a1ba28e
...
...
@@ -75,14 +75,14 @@ class AddSchema(colander.Schema):
# missing=colander.drop,
# widget=AutocompleteInputWidget(
# size=60, min_length=3,
# values=f"{request.route_url('menu')}/hon/act"),
# values=f"{request.route_url
s
('menu')}/hon/act"),
# oid="parent_nm",
# title="Induk", )
# self["parent_nm"].widget = widget.AutocompleteInputWidget(
# size=60, min_length=3,
# requirements=(("typeahead", None), ("deform", None),
# {"js": "opensipkd.base:static/js/form/menu.js"}),
# values=f"{request.route_url('menu')}/hon/act")
# values=f"{request.route_url
s
('menu')}/hon/act")
# if request.user.company_id:
# self["company_id"].widget = widget.HiddenWidget()
# self["company_id"].default = request.user.company_id
...
...
opensipkd/base/views/partner_base.py
View file @
a1ba28e
...
...
@@ -132,7 +132,7 @@ class PartnerSchema(NamaSchema):
def
after_bind
(
self
,
schema
,
kwargs
):
request
=
kwargs
[
"request"
]
prefix
=
request
.
route_url
(
"home"
)
prefix
=
request
.
route_url
s
(
"home"
)
self
[
"provinsi_id"
]
.
slave_url
=
f
"{prefix}/dati2/select/act?provinsi_id="
self
[
"dati2_id"
]
.
slave_url
=
f
"{prefix}/kecamatan/select/act?dati2_id="
self
[
"kecamatan_id"
]
.
slave_url
=
f
"{prefix}/desa/select/act?kecamatan_id="
...
...
opensipkd/base/views/register.py
View file @
a1ba28e
...
...
@@ -146,7 +146,7 @@ def _show_error(request, msg):
def
show_error
(
request
,
msg
):
_show_error
(
request
,
msg
)
return
HTTPFound
(
location
=
request
.
route_url
(
'home'
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
'home'
))
# def reg_buttons():
...
...
@@ -310,16 +310,16 @@ class Registrasi(BaseView):
def
view_register
(
self
):
if
"g_state"
in
self
.
req
.
cookies
:
if
"id_info"
not
in
self
.
ses
or
not
self
.
ses
[
"id_info"
]:
return
HTTPFound
(
location
=
self
.
req
.
route_url
(
"login"
))
return
HTTPFound
(
location
=
self
.
req
.
route_url
s
(
"login"
))
request
=
self
.
req
reg_form
=
get_params
(
"reg_form"
)
if
reg_form
:
return
HTTPFound
(
location
=
self
.
req
.
route_url
(
reg_form
))
return
HTTPFound
(
location
=
self
.
req
.
route_url
s
(
reg_form
))
self
.
bindings
=
dict
(
user
=
None
)
if
request
.
user
:
return
HTTPFound
(
location
=
request
.
route_url
(
"profile"
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
"profile"
))
return
super
(
Registrasi
,
self
)
.
view_add
()
...
...
@@ -365,7 +365,7 @@ class Registrasi(BaseView):
self
.
buttons
=
(
btn_save
,
btn_cancel
)
reg_form
=
get_params
(
"reg_form"
)
if
reg_form
:
return
HTTPFound
(
location
=
self
.
req
.
route_url
(
reg_form
))
return
HTTPFound
(
location
=
self
.
req
.
route_url
s
(
reg_form
))
self
.
bindings
=
dict
(
user
=
self
.
req
.
user
)
resp
=
super
(
Registrasi
,
self
)
.
view_edit
()
if
not
resp
:
...
...
opensipkd/base/views/register_external.py
View file @
a1ba28e
...
...
@@ -246,7 +246,7 @@
#
#
# def route_list(request):
# return HTTPFound(location=request.route_url('home'))
# return HTTPFound(location=request.route_url
s
('home'))
#
#
# def reg_buttons():
...
...
@@ -260,12 +260,12 @@
# def view_add(self):
# request = self.req
# if 'id_info' not in request.session:
# return HTTPFound(location=request.route_url("login"))
# return HTTPFound(location=request.route_url
s
("login"))
#
# if request.user:
# partner = Partner.query_email(request.user.email).first()
# if partner:
# return HTTPFound(location=request.route_url("profile-external",
# return HTTPFound(location=request.route_url
s
("profile-external",
# id=partner.id))
#
# id_info = request.session['id_info']
...
...
@@ -301,7 +301,7 @@
# request.session.flash('Registrasi Sukses.')
# if 'captcha' in request.session:
# del(request.session['captcha'])
# return HTTPFound(location=request.route_url('home'), headers=headers)
# return HTTPFound(location=request.route_url
s
('home'), headers=headers)
#
# values = dict()
# values['primari'] = dict(
...
...
@@ -328,7 +328,7 @@
# query = query_id(request)
# row = query.first()
# if not row:
# return HTTPFound(location=request.route_url("register-external"))
# return HTTPFound(location=request.route_url
s
("register-external"))
#
# form = get_form(request, RegEditSchema)
# if request.POST:
...
...
opensipkd/base/views/upload.py
View file @
a1ba28e
...
...
@@ -18,7 +18,7 @@ from pyramid.view import view_config
# from unggah import DbUpload
def
route_list
(
request
,
p
=
{}):
q
=
dict_to_str
(
p
)
return
HTTPFound
(
location
=
request
.
route_url
(
'upload-logo'
,
_query
=
q
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
'upload-logo'
,
_query
=
q
))
##########
...
...
opensipkd/base/views/user_dep.py
View file @
a1ba28e
...
...
@@ -247,7 +247,7 @@
#
#
# def route_list(request):
# return HTTPFound(location=request.route_url('departemen-user'))
# return HTTPFound(location=request.route_url
s
('departemen-user'))
#
#
# def query_id(request):
...
...
opensipkd/base/views/user_group.py
View file @
a1ba28e
...
...
@@ -160,7 +160,7 @@ def save_request(values, request, row=None):
def
route_list
(
request
):
return
HTTPFound
(
location
=
request
.
route_url
(
'user-group'
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
'user-group'
))
def
session_failed
(
request
,
session_name
):
...
...
@@ -186,7 +186,7 @@ def view_add(request):
c
=
form
.
validate
(
controls
)
except
ValidationFailure
as
e
:
request
.
session
[
SESS_ADD_FAILED
]
=
e
.
render
()
return
HTTPFound
(
location
=
request
.
route_url
(
'user-group-add'
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
'user-group-add'
))
save_request
(
controls_dicted
,
request
)
return
route_list
(
request
)
elif
SESS_ADD_FAILED
in
request
.
session
:
...
...
@@ -225,7 +225,7 @@ def view_edit(request):
c
=
form
.
validate
(
controls
)
except
ValidationFailure
as
e
:
request
.
session
[
SESS_EDIT_FAILED
]
=
e
.
render
()
return
HTTPFound
(
location
=
request
.
route_url
(
'user-group-edit'
,
return
HTTPFound
(
location
=
request
.
route_url
s
(
'user-group-edit'
,
id
=
row
.
id
))
save_request
(
dict
(
controls
),
request
,
row
)
return
route_list
(
request
)
...
...
opensipkd/base/views/user_login.py
View file @
a1ba28e
...
...
@@ -168,11 +168,11 @@ class ViewLogin(BaseView):
next_url
=
request
.
params
.
get
(
'next'
,
request
.
referrer
)
login_tpl
=
get_params
(
'login_tpl'
,
'templates/login.pt'
)
if
not
next_url
:
next_url
=
request
.
route_url
(
'home'
)
next_url
=
request
.
route_url
s
(
'home'
)
if
request
.
authenticated_userid
:
# (request):
request
.
session
.
flash
(
'Anda sudah login'
,
'error'
)
return
HTTPFound
(
location
=
f
"{request.route_url('home')}"
)
return
HTTPFound
(
location
=
f
"{request.route_url
s
('home')}"
)
schema
=
Login
(
validator
=
login_validator
)
form
=
Form
(
schema
,
buttons
=
(
'login'
,))
...
...
@@ -187,7 +187,7 @@ class ViewLogin(BaseView):
msg
=
'Login gagal'
set_user_log
(
msg
,
request
,
log
,
identity
)
request
.
session
.
flash
(
msg
,
'error'
)
return
HTTPFound
(
location
=
request
.
route_url
(
'login'
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
'login'
))
values
=
dict
(
c
)
# start cek external module
...
...
@@ -206,19 +206,19 @@ class ViewLogin(BaseView):
except
Exception
as
e
:
log
.
warn
(
str
(
e
))
request
.
session
.
flash
(
str
(
e
),
"error"
)
return
HTTPFound
(
location
=
request
.
route_url
(
'login'
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
'login'
))
else
:
login
=
LoginUser
(
self
.
req
)
if
not
login
.
login
(
values
,
user
):
request
.
session
.
flash
(
login
.
message
,
"error"
)
next_url
=
f
"{request.route_url('login')}?next={next_url}"
next_url
=
f
"{request.route_url
s
('login')}?next={next_url}"
return
HTTPFound
(
location
=
next_url
)
return
redirect_login
(
request
,
user
)
elif
'register'
in
request
.
POST
:
register_form
=
get_params
(
"register_form"
,
'register'
)
return
HTTPFound
(
location
=
request
.
route_url
(
register_form
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
register_form
))
elif
'login failed'
in
request
.
session
:
r
=
dict
(
form
=
request
.
session
[
'login failed'
])
...
...
@@ -236,13 +236,13 @@ class ViewLogin(BaseView):
login_tpl
,
dict
(
form
=
form
.
render
(),
message
=
message
,
url
=
request
.
route_url
(
'login'
),
url
=
request
.
route_url
s
(
'login'
),
next_url
=
next_url
,
login
=
login
,
),
request
=
request
)
except
Oauth2UserExc
as
e
:
request
.
session
.
flash
(
str
(
e
),
'error'
)
return
HTTPFound
(
location
=
request
.
route_url
(
'login'
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
'login'
))
if
user
and
user
.
status
==
1
:
return
redirect_login
(
request
,
user
)
...
...
@@ -250,7 +250,7 @@ class ViewLogin(BaseView):
if
login_tpl
==
'templates/login.pt'
:
return
dict
(
form
=
form
.
render
(),
message
=
message
,
url
=
request
.
route_url
(
'login'
),
url
=
request
.
route_url
s
(
'login'
),
next_url
=
next_url
,
login
=
login
,
)
...
...
@@ -259,7 +259,7 @@ class ViewLogin(BaseView):
request
=
request
,
value
=
dict
(
form
=
form
.
render
(),
message
=
message
,
url
=
request
.
route_url
(
'login'
),
url
=
request
.
route_url
s
(
'login'
),
next_url
=
next_url
,
login
=
login
,
),
)
...
...
@@ -272,7 +272,7 @@ def redirect_login(request, user):
next_url
=
request
.
params
.
get
(
'next'
)
if
not
next_url
and
request
.
matched_route
.
name
==
'login'
:
url
=
get_params
(
'modules_default'
,
'home'
)
return
HTTPFound
(
location
=
request
.
route_url
(
url
),
return
HTTPFound
(
location
=
request
.
route_url
s
(
url
),
headers
=
headers
)
return
HTTPFound
(
location
=
next_url
,
headers
=
headers
)
...
...
@@ -299,8 +299,8 @@ class Logout(BaseView):
form
=
self
.
get_form
(
LogoutSchema
,
buttons
=
(
btn_cancel
,
btn_logout
))
if
'cancel'
in
request
.
POST
or
"home"
in
request
.
POST
:
log
.
info
(
request
.
route_url
(
'home'
))
return
HTTPFound
(
location
=
f
"{request.route_url('home')}"
,
)
log
.
info
(
request
.
route_url
s
(
'home'
))
return
HTTPFound
(
location
=
f
"{request.route_url
s
('home')}"
,
)
elif
"logout"
in
request
.
POST
:
form
=
self
.
get_form
(
LogoutSchema
,
buttons
=
(
btn_home
,))
...
...
@@ -343,7 +343,7 @@ def change_password_validator(form, value):
def
view_change_password
(
request
):
if
request
.
authenticated_userid
:
request
.
session
.
flash
(
'Anda sudah login'
,
'error'
)
return
HTTPFound
(
location
=
f
"{request.route_url('home')}"
)
return
HTTPFound
(
location
=
f
"{request.route_url
s
('home')}"
)
schema
=
ChangePassword
(
validator
=
change_password_validator
)
btn_save
=
Button
(
'save'
,
_
(
'Simpan'
))
...
...
@@ -353,7 +353,7 @@ def view_change_password(request):
if
not
request
.
POST
:
return
dict
(
form
=
form
.
render
())
if
'save'
not
in
request
.
POST
:
return
HTTPFound
(
location
=
request
.
route_url
(
'login'
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
'login'
))
items
=
request
.
POST
.
items
()
try
:
c
=
form
.
validate
(
items
)
...
...
@@ -365,7 +365,7 @@ def view_change_password(request):
if
not
user
or
\
create_now
()
-
user
.
security_code_date
>
one_hour
:
request
.
session
.
flash
(
'Security code expired'
,
'error'
)
return
HTTPFound
(
location
=
request
.
route_url
(
'login'
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
'login'
))
user
.
security_code
=
None
UserService
.
set_password
(
user
,
c
[
'new_password'
])
...
...
@@ -373,7 +373,7 @@ def view_change_password(request):
headers
=
get_login_headers
(
request
,
user
)
request
.
session
.
flash
(
'Password baru Anda sudah disimpan.'
)
set_user_log
(
"Change Password"
,
request
,
log
)
return
HTTPFound
(
location
=
f
"{request.route_url('home')}"
,
headers
=
headers
)
return
HTTPFound
(
location
=
f
"{request.route_url
s
('home')}"
,
headers
=
headers
)
######################
...
...
@@ -403,12 +403,12 @@ def view_recreate_api_key(request):
d
=
dict
(
api_key
=
request
.
user
.
api_key
)
return
dict
(
form
=
form
.
render
(
appstruct
=
d
))
if
'recreate'
not
in
request
.
POST
:
return
HTTPFound
(
location
=
f
"{request.route_url('home')}"
)
return
HTTPFound
(
location
=
f
"{request.route_url
s
('home')}"
)
request
.
user
.
api_key
=
api_key
=
generate_api_key
()
DBSession
.
add
(
request
.
user
)
msg
=
'API Key Anda yang baru {}'
.
format
(
api_key
)
request
.
session
.
flash
(
msg
)
return
HTTPFound
(
location
=
f
"{request.route_url('home')}"
)
return
HTTPFound
(
location
=
f
"{request.route_url
s
('home')}"
)
##################
...
...
@@ -508,7 +508,7 @@ def regenerate_security_code(user, hour=1.0):
renderer
=
'templates/reset-password.pt'
)
def
view_reset_password
(
request
):
if
request
.
authenticated_userid
:
return
HTTPFound
(
location
=
f
"{request.route_url('home')}"
)
return
HTTPFound
(
location
=
f
"{request.route_url
s
('home')}"
)
resp
=
dict
(
title
=
_
(
'Reset password'
))
schema
=
ResetPassword
(
validator
=
reset_password_validator
)
...
...
@@ -530,7 +530,7 @@ def view_reset_password(request):
send_email_security_code
(
request
,
user
,
remain
,
'Reset password'
,
'reset-password-body'
,
'reset-password-body.tpl'
)
return
HTTPFound
(
location
=
request
.
route_url
(
'reset-password-sent'
))
return
HTTPFound
(
location
=
request
.
route_url
s
(
'reset-password-sent'
))
resp
[
'form'
]
=
form
.
render
()
return
resp
...
...
opensipkd/detable/templates/detable.pt
View file @
a1ba28e
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