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):
model.save()
except Exception as 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')
return False
else:
self.after_model_change(form, model, True)
......@@ -520,12 +519,11 @@ class ModelView(BaseModelView):
model.save()
except Exception as 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')
return False
else:
self.after_model_change(form, model, False)
......@@ -545,12 +543,11 @@ class ModelView(BaseModelView):
return True
except Exception as 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')
return False
# FileField access API
......@@ -600,7 +597,5 @@ class ModelView(BaseModelView):
count=count))
except Exception as ex:
if not self.handle_view_exception(ex):
raise
flash(gettext('Failed to delete models. %(error)s', error=str(ex)),
'error')
......@@ -350,10 +350,9 @@ class ModelView(BaseModelView):
save_inline(form, model)
except Exception as 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')
return False
else:
self.after_model_change(form, model, True)
......@@ -370,10 +369,9 @@ class ModelView(BaseModelView):
save_inline(form, model)
except Exception as 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')
return False
else:
self.after_model_change(form, model, False)
......@@ -387,10 +385,9 @@ class ModelView(BaseModelView):
return True
except Exception as 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')
return False
# Default model actions
......@@ -425,6 +422,4 @@ class ModelView(BaseModelView):
count=count))
except Exception as ex:
if not self.handle_view_exception(ex):
raise
flash(gettext('Failed to delete models. %(error)s', error=str(ex)), 'error')
......@@ -831,11 +831,11 @@ class ModelView(BaseModelView):
self.session.commit()
except Exception as 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')
self.session.rollback()
return False
else:
self.after_model_change(form, model, True)
......@@ -857,10 +857,9 @@ class ModelView(BaseModelView):
self.session.commit()
except Exception as 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')
self.session.rollback()
return False
......@@ -884,11 +883,11 @@ class ModelView(BaseModelView):
return True
except Exception as 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')
self.session.rollback()
return False
# Default model actions
......
......@@ -890,9 +890,9 @@ class BaseModelView(BaseView, ActionsMixin):
# Exception handler
def handle_view_exception(self, exc):
if self._debug:
return False
raise
return True
return False
# Model event handlers
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