Commit dade26d2 by aagusti

perbaikan error saat type colander.date

1 parent af69307e
...@@ -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"],
......
...@@ -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',
......
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:
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!