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 10d403fb
authored
Aug 17, 2022
by
aagusti
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
base_view
1 parent
08855101
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
49 additions
and
22 deletions
opensipkd/base/__init__.py
opensipkd/base/views/base_views.py
opensipkd/base/views/templates/logout.pt
opensipkd/base/views/user_login.py
opensipkd/models/base.py
opensipkd/base/__init__.py
View file @
10d403f
...
...
@@ -35,7 +35,7 @@ from opensipkd.tools import (
as_timezone
,
split
,
get_settings
,
dmy
,
dmy
,
dmyhms
,
)
from
deform
import
ZPTRendererFactory
,
Form
...
...
@@ -321,10 +321,15 @@ def get_menus(request):
return
result
def
format_datetime
(
v
):
if
v
.
time
():
return
dmyhms
(
v
)
else
:
return
dmy
(
v
)
def
json_renderer
():
json_r
=
JSON
()
json_r
.
add_adapter
(
datetime
.
datetime
,
lambda
v
,
request
:
dmy
(
v
))
json_r
.
add_adapter
(
datetime
.
datetime
,
lambda
v
,
request
:
format_datetime
(
v
))
json_r
.
add_adapter
(
datetime
.
date
,
lambda
v
,
request
:
dmy
(
v
))
json_r
.
add_adapter
(
decimal
.
Decimal
,
lambda
v
,
request
:
str
(
v
))
return
json_r
...
...
opensipkd/base/views/base_views.py
View file @
10d403f
...
...
@@ -34,6 +34,10 @@ class BaseView(object):
self
.
ses
=
self
.
req
.
session
self
.
params
=
self
.
req
.
params
self
.
settings
=
get_settings
()
# if not request.user:
if
"g_state"
in
request
.
cookies
:
request
.
response
.
delete_cookie
(
"g_state"
,
'/'
)
now
=
datetime
.
now
()
# self.dt_awal = self.ses["dt_awal"] if "dt_awal" in self.ses else now
# self.awal = dmy(self.dt_awal)
...
...
opensipkd/base/views/templates/logout.pt
View file @
10d403f
This diff is collapsed.
Click to expand it.
opensipkd/base/views/user_login.py
View file @
10d403f
...
...
@@ -41,6 +41,7 @@ from opensipkd.tools import create_now, set_user_log, get_settings
from
opensipkd.base.views
import
_
,
one_hour
,
two_minutes
,
BaseView
from
pyramid_mailer.message
import
Message
from
opensipkd.tools.buttons
import
btn_cancel
from
opensipkd.tools.form_api
import
formfield2dict
log
=
__import__
(
"logging"
)
.
getLogger
(
__name__
)
...
...
@@ -222,25 +223,41 @@ def redirect_login(request, user):
return
HTTPFound
(
location
=
next_url
,
headers
=
headers
)
@view_config
(
route_name
=
'logout'
,
renderer
=
"templates/logout.pt"
)
def
view_logout
(
request
):
if
'batal'
in
request
.
POST
:
log
.
info
(
request
.
route_url
(
'home'
))
return
HTTPFound
(
location
=
f
"{request.route_url('home')}"
,
)
elif
request
.
POST
:
set_user_log
(
"Logout"
,
request
,
log
)
headers
=
forget
(
request
)
request
.
session
.
delete
()
if
"g_state"
in
request
.
cookies
:
del
request
.
cookies
[
"g_state"
]
# if "g_state" in request.cookies:
# requests.post("https://accounts.google.com/o/oauth2/revoke?token=" + ACCESS_TOKEN);
# headers = forget(request)
# request.session.delete()
# request.session["start"]="login"
return
HTTPFound
(
location
=
request
.
route_url
(
'home'
),
headers
=
headers
)
return
dict
()
class
LogoutSchema
(
colander
.
Schema
):
message
=
colander
.
SchemaNode
(
colander
.
String
(),
widget
=
widget
.
TextInputWidget
(
readonly
=
True
),
title
=
""
)
btn_logout
=
Button
(
"logout"
,
css_class
=
"btn-danger"
)
btn_home
=
Button
(
"home"
,
css_class
=
"btn-success"
)
class
Logout
(
BaseView
):
@view_config
(
route_name
=
'logout'
,
renderer
=
"templates/logout.pt"
)
def
view_logout
(
self
):
request
=
self
.
req
if
not
request
.
user
:
if
"g_state"
in
request
.
cookies
:
request
.
response
.
delete_cookie
(
"g_state"
,
'/'
)
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')}"
,
)
elif
"logout"
in
request
.
POST
:
form
=
self
.
get_form
(
LogoutSchema
,
buttons
=
(
btn_home
,))
set_user_log
(
"Logout"
,
request
,
log
)
headers
=
forget
(
request
)
request
.
session
.
delete
()
request
.
response
.
headers
.
update
(
headers
)
if
"g_state"
in
request
.
cookies
:
request
.
response
.
delete_cookie
(
"g_state"
,
'/'
)
form
.
set_appstruct
({
"message"
:
"Sukses Logout"
})
return
dict
(
form
=
form
.
render
())
class
ChangePassword
(
colander
.
Schema
):
...
...
opensipkd/models/base.py
View file @
10d403f
...
...
@@ -45,7 +45,8 @@ class CommonModel(object):
value
=
getattr
(
self
,
column
.
name
)
if
value
or
null
:
if
type
(
column
.
type
)
==
DateTime
:
values
[
column
.
name
]
=
value
.
strftime
(
date_format
)
if
value
:
values
[
column
.
name
]
=
value
.
strftime
(
date_format
)
else
:
values
[
column
.
name
]
=
value
...
...
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