Commit 8293f443 authored by Serge S. Koval's avatar Serge S. Koval

Fixed possible crash when empty model id is passed

parent 156541a0
...@@ -948,7 +948,7 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -948,7 +948,7 @@ class BaseModelView(BaseView, ActionsMixin):
class DeleteForm(self.form_base_class): class DeleteForm(self.form_base_class):
id = HiddenField(validators=[Required()]) id = HiddenField(validators=[Required()])
url = HiddenField() url = HiddenField()
return DeleteForm return DeleteForm
def create_form(self, obj=None): def create_form(self, obj=None):
...@@ -1370,7 +1370,7 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -1370,7 +1370,7 @@ class BaseModelView(BaseView, ActionsMixin):
form = self.list_form() form = self.list_form()
else: else:
form = None form = None
if self.can_delete: if self.can_delete:
delete_form = self.delete_form() delete_form = self.delete_form()
else: else:
...@@ -1543,7 +1543,8 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -1543,7 +1543,8 @@ class BaseModelView(BaseView, ActionsMixin):
form = self.delete_form() form = self.delete_form()
if self.validate_form(form): if self.validate_form(form):
id = form.id.data # id is Required() # id is Required()
id = form.id.data
model = self.get_one(id) model = self.get_one(id)
......
...@@ -25,7 +25,13 @@ def get_mdict_item_or_list(mdict, key): ...@@ -25,7 +25,13 @@ def get_mdict_item_or_list(mdict, key):
if hasattr(mdict, 'getlist'): if hasattr(mdict, 'getlist'):
v = mdict.getlist(key) v = mdict.getlist(key)
if len(v) == 1: if len(v) == 1:
return v[0] value = v[0]
# Special case for empty strings, treat them as "no-value"
if value == '':
value = None
return value
elif len(v) == 0: elif len(v) == 0:
return None return None
else: else:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment