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 dade26d2
authored
Jan 07, 2023
by
aagusti
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
perbaikan error saat type colander.date
1 parent
af69307e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
26 additions
and
5 deletions
opensipkd/base/views/base_views.py
opensipkd/base/views/menus.py
opensipkd/base/views/widget.py
opensipkd/base/views/base_views.py
View file @
dade26d
...
@@ -383,12 +383,26 @@ class BaseView(object):
...
@@ -383,12 +383,26 @@ class BaseView(object):
if
self
.
req
.
POST
:
if
self
.
req
.
POST
:
if
'save'
in
self
.
req
.
POST
:
if
'save'
in
self
.
req
.
POST
:
controls
=
self
.
req
.
POST
.
items
()
controls
=
self
.
req
.
POST
.
items
()
log
.
debug
(
self
.
req
.
POST
.
items
())
log
.
debug
(
dict
(
self
.
req
.
POST
.
items
()))
try
:
try
:
c
=
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())
# form.render(appstruct=value)
# form.render(appstruct=value)
# log.debug(e.cstruct)
# log.debug(e.field)
# efield = e.field
for
f
in
e
.
field
.
children
:
if
isinstance
(
f
.
typ
,
colander
.
Date
):
e
.
cstruct
[
f
.
name
]
=
date_from_str
(
e
.
cstruct
[
f
.
name
])
# for k, v in e.cstruct.items():
# log.debug(hasattr(e.field, k))
# if isinstance(f, colander.Date):
# e.cstruct[f] = date_from_str(e.cstruct[f])
return
dict
(
form
=
form
.
render
(
e
.
cstruct
),
return
dict
(
form
=
form
.
render
(
e
.
cstruct
),
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"
],
...
...
opensipkd/base/views/menus.py
View file @
dade26d
...
@@ -163,11 +163,16 @@ class ViewMenus(BaseView):
...
@@ -163,11 +163,16 @@ class ViewMenus(BaseView):
self
.
update_children
(
child
.
children
)
self
.
update_children
(
child
.
children
)
def
save_request
(
self
,
values
,
row
=
None
):
# save(self, row, values):
def
save_request
(
self
,
values
,
row
=
None
):
# save(self, row, values):
for
k
,
v
in
values
.
items
():
# for k, v in values.items():
if
not
v
:
# if not v:
setattr
(
row
,
k
,
None
)
# setattr(row, k, None)
row
=
super
()
.
save_request
(
values
,
row
)
# row = super().save_request(values, row)
return
row
for
k
,
v
in
self
.
req
.
GET
.
items
():
if
k
not
in
values
:
if
v
:
values
[
k
]
=
v
values
[
"status"
]
=
"status"
in
values
and
values
[
"status"
]
or
0
return
self
.
save
(
values
,
self
.
req
.
user
,
row
)
@view_config
(
route_name
=
'menu'
,
@view_config
(
route_name
=
'menu'
,
renderer
=
'templates/table.pt'
,
renderer
=
'templates/table.pt'
,
...
...
opensipkd/base/views/widget.py
View file @
dade26d
import
json
import
json
import
logging
from
deform.widget
import
(
from
deform.widget
import
(
SchemaType
,
SchemaType
,
...
@@ -56,6 +57,7 @@ class DateInputWidget(DeformDateInputWidget):
...
@@ -56,6 +57,7 @@ class DateInputWidget(DeformDateInputWidget):
return
field
.
renderer
(
template
,
**
values
)
return
field
.
renderer
(
template
,
**
values
)
def
deserialize
(
self
,
field
,
pstruct
):
def
deserialize
(
self
,
field
,
pstruct
):
logging
.
debug
(
f
"widget: {field} {pstruct}"
)
if
pstruct
in
(
""
,
null
):
if
pstruct
in
(
""
,
null
):
return
null
return
null
try
:
try
:
...
...
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