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 7c5457e3
authored
Jul 28, 2025
by
aa.gustiana@gmail.com
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Add OID attributes to form fields in user_login and CSRFSchema for improved identification
1 parent
2162f908
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
20 additions
and
4 deletions
opensipkd/base/views/user_login.py
opensipkd/base/views/view_tools.py
opensipkd/base/views/user_login.py
View file @
7c5457e
...
@@ -55,7 +55,8 @@ class Login(CSRFSchema):
...
@@ -55,7 +55,8 @@ class Login(CSRFSchema):
oid
=
"username"
,
oid
=
"username"
,
)
)
password
=
colander
.
SchemaNode
(
password
=
colander
.
SchemaNode
(
colander
.
String
(),
widget
=
widget
.
PasswordWidget
())
colander
.
String
(),
widget
=
widget
.
PasswordWidget
(),
oid
=
"password"
)
# def after_bind(self, schema, kwargs):
# def after_bind(self, schema, kwargs):
# request = kwargs["request"]
# request = kwargs["request"]
...
@@ -190,7 +191,7 @@ class ViewLogin(BaseView):
...
@@ -190,7 +191,7 @@ class ViewLogin(BaseView):
schema
=
Login
()
schema
=
Login
()
schema
=
schema
.
bind
(
request
=
self
.
req
)
schema
=
schema
.
bind
(
request
=
self
.
req
)
form
=
Form
(
schema
,
buttons
=
(
'login'
,))
form
=
Form
(
schema
,
buttons
=
(
'login'
,)
,
oid
=
"login"
)
message
=
""
message
=
""
if
'login'
in
request
.
POST
:
if
'login'
in
request
.
POST
:
identity
=
request
.
POST
.
get
(
'username'
)
identity
=
request
.
POST
.
get
(
'username'
)
...
@@ -203,6 +204,7 @@ class ViewLogin(BaseView):
...
@@ -203,6 +204,7 @@ class ViewLogin(BaseView):
set_user_log
(
msg
,
request
,
log
,
identity
)
set_user_log
(
msg
,
request
,
log
,
identity
)
if
self
.
req
.
is_xhr
:
if
self
.
req
.
is_xhr
:
d
=
self
.
form2dict
(
e
.
field
)
d
=
self
.
form2dict
(
e
.
field
)
return
Response
(
json
=
d
)
return
Response
(
json
=
d
)
request
.
session
.
flash
(
msg
,
'error'
)
request
.
session
.
flash
(
msg
,
'error'
)
...
@@ -234,6 +236,10 @@ class ViewLogin(BaseView):
...
@@ -234,6 +236,10 @@ class ViewLogin(BaseView):
request
.
session
.
flash
(
login
.
message
,
"error"
)
request
.
session
.
flash
(
login
.
message
,
"error"
)
next_url
=
get_urls
(
next_url
=
get_urls
(
f
"{request.route_url('login')}?next={next_url}"
)
f
"{request.route_url('login')}?next={next_url}"
)
if
self
.
req
.
is_xhr
:
return
Response
(
json
=
{
"error"
:
{
"code"
:
-
1
,
"msg"
:
login
.
message
}
})
return
HTTPFound
(
location
=
next_url
)
return
HTTPFound
(
location
=
next_url
)
return
redirect_login
(
request
,
user
)
return
redirect_login
(
request
,
user
)
...
@@ -278,6 +284,9 @@ class ViewLogin(BaseView):
...
@@ -278,6 +284,9 @@ class ViewLogin(BaseView):
# next_url=next_url,
# next_url=next_url,
# login=login, )
# login=login, )
resources
=
form
.
get_widget_resources
()
resources
=
form
.
get_widget_resources
()
if
self
.
req
.
is_xhr
:
# return Response(form.render())
return
Response
(
json
=
self
.
form2dict
(
form
))
return
render_to_response
(
return
render_to_response
(
renderer_name
=
login_tpl
,
renderer_name
=
login_tpl
,
request
=
request
,
request
=
request
,
...
@@ -302,7 +311,9 @@ def redirect_login(request, user):
...
@@ -302,7 +311,9 @@ def redirect_login(request, user):
request
.
session
.
flash
(
"Sukses Login"
)
request
.
session
.
flash
(
"Sukses Login"
)
next_url
=
request
.
params
.
get
(
'next'
)
next_url
=
request
.
params
.
get
(
'next'
)
if
request
.
is_xhr
:
if
request
.
is_xhr
:
return
Response
(
json
=
{
"success"
:
True
})
return
Response
(
json
=
{
"success"
:
True
},
headerlist
=
headers
)
# response.headerlist.append(headers)
# return response
if
not
next_url
and
request
.
matched_route
.
name
==
'login'
:
if
not
next_url
and
request
.
matched_route
.
name
==
'login'
:
url
=
get_params
(
'modules_default'
,
'home'
)
url
=
get_params
(
'modules_default'
,
'home'
)
return
HTTPFound
(
location
=
request
.
route_url
(
url
),
return
HTTPFound
(
location
=
request
.
route_url
(
url
),
...
@@ -345,6 +356,10 @@ class Logout(BaseView):
...
@@ -345,6 +356,10 @@ class Logout(BaseView):
request
.
response
.
delete_cookie
(
"g_state"
,
'/'
)
request
.
response
.
delete_cookie
(
"g_state"
,
'/'
)
form
.
set_appstruct
({
"message"
:
"Sukses Logout"
})
form
.
set_appstruct
({
"message"
:
"Sukses Logout"
})
request
.
session
[
"login"
]
=
False
request
.
session
[
"login"
]
=
False
if
self
.
req
.
is_xhr
:
return
Response
(
json
=
{
"success"
:
True
,
"message"
:
"Sukses Logout"
},
headerlist
=
headers
)
return
dict
(
form
=
form
.
render
())
return
dict
(
form
=
form
.
render
())
...
...
opensipkd/base/views/view_tools.py
View file @
7c5457e
...
@@ -13,5 +13,6 @@ class CSRFSchema(colander.Schema):
...
@@ -13,5 +13,6 @@ class CSRFSchema(colander.Schema):
self
[
"csrf_token"
]
=
colander
.
SchemaNode
(
self
[
"csrf_token"
]
=
colander
.
SchemaNode
(
colander
.
String
(),
widget
=
widget
.
HiddenWidget
(),
colander
.
String
(),
widget
=
widget
.
HiddenWidget
(),
default
=
csrf_token
default
=
csrf_token
,
oid
=
"csrf_token"
)
)
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