Commit ebd3594f by aagusti

perbaikan edit

1 parent e25c106e
......@@ -424,7 +424,8 @@ def main(global_config, **settings):
""" This function returns a Pyramid WSGI application.
"""
engine = engine_from_config(settings, 'sqlalchemy.')
engine = engine_from_config(
settings, 'sqlalchemy.', client_encoding='utf8', convert_unicode=True)
DBSession.configure(bind=engine)
LogDBSession.configure(bind=engine)
Base.metadata.bind = engine
......
......@@ -477,7 +477,7 @@ div.col-md-6 {
padding: 7px !important;
}
.form-horizontal .checkbox, .form-horizontal .radio {
.form-horizontal .checkbox, .form-horizontal .radio, .form-horizontal .radio-inline{
padding: 0px;
}
......@@ -515,7 +515,7 @@ div.col-md-6 {
}
.checkbox label, .radio label {
.checkbox label, .radio label, .radio-inline {
font-size: 10px !important;
}
......
......@@ -223,6 +223,7 @@ class BaseView(object):
if self.list_schema:
allow_edit = kwargs.get("allow_edit", True)
allow_delete = kwargs.get("allow_delete", True)
state_save = kwargs.get("state_save", False)
schema = self.list_schema()
schema = schema.bind(request=self.req)
list_url = kwargs.get("list_url", None)
......@@ -234,7 +235,8 @@ class BaseView(object):
buttons=self.list_buttons,
request=self.req,
allow_edit=allow_edit,
allow_delete=allow_delete)
allow_delete=allow_delete,
state_save=state_save)
resources = table.get_widget_resources()
# resources=dict(css="", js="")
return dict(form=table.render(), scripts="", css=resources["css"],
......@@ -537,18 +539,18 @@ class BaseView(object):
resources = form.get_widget_resources()
if request.POST:
if 'save' in request.POST:
log.debug("Save Edit")
log.debug(dict(request.POST.items()))
log.debug(request.POST)
# log.debug("Save Edit")
# log.debug(dict(request.POST.items()))
# log.debug(request.POST)
controls = request.POST.items()
log.debug(controls)
# log.debug(controls)
# log.debug(dict(controls))
# log.debug(list(controls))
try:
controls = form.validate(controls)
except ValidationFailure as e:
log.debug(f"Edit Error: {str(e.error)}")
log.debug(f"Edit Data: {e.cstruct}")
# log.debug(f"Edit Error: {str(e.error)}")
# log.debug(f"Edit Data: {e.cstruct}")
form.set_appstruct(e.cstruct)
return dict(form=form.render(),
table=table and table.render() or None,
......@@ -557,10 +559,9 @@ class BaseView(object):
c = dict(controls)
self.save_request(c, row)
return self.after_edit(row=row, **kwargs)
else:
return self.next_edit(form, row=row)
return self.next_edit(form, row=row)
return self.route_list()
values = self.get_values(row)
form.set_appstruct(values)
form = self.before_edit(form)
......
......@@ -432,7 +432,9 @@ def reset_password_validator(form, value):
def security_code_age(user):
now = create_now()
return now - user.security_code_date
if user.security_code_date:
return now - user.security_code_date
return timedelta(minutes=1)
def send_email_security_code(
......
......@@ -80,10 +80,7 @@
url: "${url}" + value,
success: function (res) {
if (res) {
console.log(res);
$.each(res, function (key, value) {
console.log(key);
console.log(value);
$("#${slave}").append('<option value="' + key + '">' + value + '</option>');
});
} else {
......
......@@ -109,6 +109,7 @@ class DeTable(field.Field):
paginates='true',
params="",
server_side='true',
state_save=True,
data=[],
allow_edit=True,
allow_delete=True,
......@@ -246,6 +247,7 @@ class DeTable(field.Field):
self.sorts = sorts
self.paginates = paginates
self.filters = filters
self.state_save = json.dumps(state_save)
class Button(object):
......
......@@ -19,6 +19,7 @@
allow_edit allow_edit|field.allow_edit;
allow_delete allow_delete|field.allow_delete;
allow_view allow_view|field.allow_view;
state_save state_save|field.state_save;
"
tal:attributes="style style; class css_class; attributes|field.widget.attributes|{};"
i18n:domain="detable"
......@@ -129,7 +130,7 @@
dom: '<"row"<"col-md-8"<"toolbar">Bl><"col-md-4"fr>>tip',
processing: true,
serverSide: ${server_side},
stateSave: false,
stateSave: ${state_save},
scrollCollapse: true,
sort: ${sorts},
info: false,
......
......@@ -107,9 +107,9 @@ class User(UserMixin, BaseModel, DefaultModel, Base):
def kode(self):
pass
@classmethod
def query(cls):
return DBSession.query(cls)
# @classmethod
# def query(cls):
# return DBSession.query(cls)
@classmethod
def get_by_email(cls, email):
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!