Exemplo n.º 1
0
    def update_model(self, form, model):
        """
            Update model from form.

            :param form:
                Form instance
            :param model:
                Model instance
        """
        try:
            with self.session.begin_nested():
                form.populate_obj(model)
                self._on_model_change(form, model, False)

        except Exception as ex:
            if not self.handle_view_exception(ex):
                flash(gettext('Failed to update record. %(error)s', error=str(ex)), 'error')
                log.exception('Failed to update record.')

            transaction.doom()

            return False
        else:
            self.after_model_change(form, model, False)

        return True
Exemplo n.º 2
0
    def create_model(self, form):
        """
            Create model from form.

            :param form:
                Form instance
        """
        try:
            with self.session.begin_nested():
                model = self.model()
                form.populate_obj(model)
                self.session.add(model)
                self._on_model_change(form, model, True)
                self.session.flush()

        except Exception as ex:
            if not self.handle_view_exception(ex):
                flash(gettext('Failed to create record. %(error)s', error=str(ex)), 'error')
                log.exception('Failed to create record.')

            transaction.doom()
            return False
        else:
            self.after_model_change(form, model, True)

        return model