Commit 84e00216 authored by Serge S. Koval's avatar Serge S. Koval

More logical unhandled exception handling

parent d0b60696
...@@ -493,12 +493,11 @@ class ModelView(BaseModelView): ...@@ -493,12 +493,11 @@ class ModelView(BaseModelView):
model.save() model.save()
except Exception as ex: except Exception as ex:
if not self.handle_view_exception(ex): if not self.handle_view_exception(ex):
raise flash(gettext('Failed to create model. %(error)s',
error=format_error(ex)),
'error')
log.exception('Failed to create model')
flash(gettext('Failed to create model. %(error)s',
error=format_error(ex)),
'error')
log.exception('Failed to create model')
return False return False
else: else:
self.after_model_change(form, model, True) self.after_model_change(form, model, True)
...@@ -520,12 +519,11 @@ class ModelView(BaseModelView): ...@@ -520,12 +519,11 @@ class ModelView(BaseModelView):
model.save() model.save()
except Exception as ex: except Exception as ex:
if not self.handle_view_exception(ex): if not self.handle_view_exception(ex):
raise flash(gettext('Failed to update model. %(error)s',
error=format_error(ex)),
'error')
log.exception('Failed to update model')
flash(gettext('Failed to update model. %(error)s',
error=format_error(ex)),
'error')
log.exception('Failed to update model')
return False return False
else: else:
self.after_model_change(form, model, False) self.after_model_change(form, model, False)
...@@ -545,12 +543,11 @@ class ModelView(BaseModelView): ...@@ -545,12 +543,11 @@ class ModelView(BaseModelView):
return True return True
except Exception as ex: except Exception as ex:
if not self.handle_view_exception(ex): if not self.handle_view_exception(ex):
raise flash(gettext('Failed to delete model. %(error)s',
error=format_error(ex)),
'error')
log.exception('Failed to delete model')
flash(gettext('Failed to delete model. %(error)s',
error=format_error(ex)),
'error')
log.exception('Failed to delete model')
return False return False
# FileField access API # FileField access API
...@@ -600,7 +597,5 @@ class ModelView(BaseModelView): ...@@ -600,7 +597,5 @@ class ModelView(BaseModelView):
count=count)) count=count))
except Exception as ex: except Exception as ex:
if not self.handle_view_exception(ex): if not self.handle_view_exception(ex):
raise flash(gettext('Failed to delete models. %(error)s', error=str(ex)),
'error')
flash(gettext('Failed to delete models. %(error)s', error=str(ex)),
'error')
...@@ -350,10 +350,9 @@ class ModelView(BaseModelView): ...@@ -350,10 +350,9 @@ class ModelView(BaseModelView):
save_inline(form, model) save_inline(form, model)
except Exception as ex: except Exception as ex:
if not self.handle_view_exception(ex): if not self.handle_view_exception(ex):
raise flash(gettext('Failed to create model. %(error)s', error=str(ex)), 'error')
log.exception('Failed to create model')
flash(gettext('Failed to create model. %(error)s', error=str(ex)), 'error')
log.exception('Failed to create model')
return False return False
else: else:
self.after_model_change(form, model, True) self.after_model_change(form, model, True)
...@@ -370,10 +369,9 @@ class ModelView(BaseModelView): ...@@ -370,10 +369,9 @@ class ModelView(BaseModelView):
save_inline(form, model) save_inline(form, model)
except Exception as ex: except Exception as ex:
if not self.handle_view_exception(ex): if not self.handle_view_exception(ex):
raise flash(gettext('Failed to update model. %(error)s', error=str(ex)), 'error')
log.exception('Failed to update model')
flash(gettext('Failed to update model. %(error)s', error=str(ex)), 'error')
log.exception('Failed to update model')
return False return False
else: else:
self.after_model_change(form, model, False) self.after_model_change(form, model, False)
...@@ -387,10 +385,9 @@ class ModelView(BaseModelView): ...@@ -387,10 +385,9 @@ class ModelView(BaseModelView):
return True return True
except Exception as ex: except Exception as ex:
if not self.handle_view_exception(ex): if not self.handle_view_exception(ex):
raise flash(gettext('Failed to delete model. %(error)s', error=str(ex)), 'error')
log.exception('Failed to delete model')
flash(gettext('Failed to delete model. %(error)s', error=str(ex)), 'error')
log.exception('Failed to delete model')
return False return False
# Default model actions # Default model actions
...@@ -425,6 +422,4 @@ class ModelView(BaseModelView): ...@@ -425,6 +422,4 @@ class ModelView(BaseModelView):
count=count)) count=count))
except Exception as ex: except Exception as ex:
if not self.handle_view_exception(ex): if not self.handle_view_exception(ex):
raise flash(gettext('Failed to delete models. %(error)s', error=str(ex)), 'error')
flash(gettext('Failed to delete models. %(error)s', error=str(ex)), 'error')
...@@ -831,11 +831,11 @@ class ModelView(BaseModelView): ...@@ -831,11 +831,11 @@ class ModelView(BaseModelView):
self.session.commit() self.session.commit()
except Exception as ex: except Exception as ex:
if not self.handle_view_exception(ex): if not self.handle_view_exception(ex):
raise flash(gettext('Failed to create model. %(error)s', error=str(ex)), 'error')
log.exception('Failed to create model')
flash(gettext('Failed to create model. %(error)s', error=str(ex)), 'error')
log.exception('Failed to create model')
self.session.rollback() self.session.rollback()
return False return False
else: else:
self.after_model_change(form, model, True) self.after_model_change(form, model, True)
...@@ -857,10 +857,9 @@ class ModelView(BaseModelView): ...@@ -857,10 +857,9 @@ class ModelView(BaseModelView):
self.session.commit() self.session.commit()
except Exception as ex: except Exception as ex:
if not self.handle_view_exception(ex): if not self.handle_view_exception(ex):
raise flash(gettext('Failed to update model. %(error)s', error=str(ex)), 'error')
log.exception('Failed to update model')
flash(gettext('Failed to update model. %(error)s', error=str(ex)), 'error')
log.exception('Failed to update model')
self.session.rollback() self.session.rollback()
return False return False
...@@ -884,11 +883,11 @@ class ModelView(BaseModelView): ...@@ -884,11 +883,11 @@ class ModelView(BaseModelView):
return True return True
except Exception as ex: except Exception as ex:
if not self.handle_view_exception(ex): if not self.handle_view_exception(ex):
raise flash(gettext('Failed to delete model. %(error)s', error=str(ex)), 'error')
log.exception('Failed to delete model')
flash(gettext('Failed to delete model. %(error)s', error=str(ex)), 'error')
log.exception('Failed to delete model')
self.session.rollback() self.session.rollback()
return False return False
# Default model actions # Default model actions
......
...@@ -365,7 +365,7 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -365,7 +365,7 @@ class BaseModelView(BaseView, ActionsMixin):
'style': 'color: black' 'style': 'color: black'
} }
} }
Note, changing the format of a DateTimeField will require changes to both form_widget_args and form_args:: Note, changing the format of a DateTimeField will require changes to both form_widget_args and form_args::
form_args = dict( form_args = dict(
...@@ -890,9 +890,9 @@ class BaseModelView(BaseView, ActionsMixin): ...@@ -890,9 +890,9 @@ class BaseModelView(BaseView, ActionsMixin):
# Exception handler # Exception handler
def handle_view_exception(self, exc): def handle_view_exception(self, exc):
if self._debug: if self._debug:
return False raise
return True return False
# Model event handlers # Model event handlers
def on_model_change(self, form, model, is_created): def on_model_change(self, form, model, is_created):
......
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