Add new v3 master with v2 forms, with colander/deform
goal here is to replace FormAlchemy dependency, slowly but surely.. so far only the Settings and Stores views use v3 master
This commit is contained in:
parent
2b5aaa0753
commit
4dcd89fba7
18 changed files with 718 additions and 59 deletions
|
@ -225,7 +225,7 @@ class MasterView(View):
|
|||
self.creating = True
|
||||
form = self.make_form(self.get_model_class())
|
||||
if self.request.method == 'POST':
|
||||
if form.validate():
|
||||
if self.validate_form(form):
|
||||
# let save_create_form() return alternate object if necessary
|
||||
obj = self.save_create_form(form) or form.fieldset.model
|
||||
self.after_create(obj)
|
||||
|
@ -615,6 +615,7 @@ class MasterView(View):
|
|||
"""
|
||||
self.editing = True
|
||||
instance = self.get_instance()
|
||||
instance_title = self.get_instance_title(instance)
|
||||
|
||||
if not self.editable_instance(instance):
|
||||
self.request.session.flash("Edit is not permitted for {}: {}".format(
|
||||
|
@ -624,18 +625,22 @@ class MasterView(View):
|
|||
form = self.make_form(instance)
|
||||
|
||||
if self.request.method == 'POST':
|
||||
if form.validate():
|
||||
if self.validate_form(form):
|
||||
self.save_edit_form(form)
|
||||
# note we must fetch new instance title, in case it changed
|
||||
self.request.session.flash("{} has been updated: {}".format(
|
||||
self.get_model_title(), self.get_instance_title(instance)))
|
||||
return self.redirect_after_edit(instance)
|
||||
|
||||
return self.render_to_response('edit', {
|
||||
'instance': instance,
|
||||
'instance_title': self.get_instance_title(instance),
|
||||
'instance_title': instance_title,
|
||||
'instance_deletable': self.deletable_instance(instance),
|
||||
'form': form})
|
||||
|
||||
def validate_form(self, form):
|
||||
return form.validate()
|
||||
|
||||
def save_edit_form(self, form):
|
||||
self.save_form(form)
|
||||
self.after_edit(form.fieldset.model)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue