diff --git a/oml/changelog.py b/oml/changelog.py index ebc3ccf..b6c1219 100644 --- a/oml/changelog.py +++ b/oml/changelog.py @@ -65,12 +65,11 @@ class Changelog(db.Model): def apply_changes(cls, user, changes): trigger = changes for change in changes: - with db.session(): - if not cls.apply_change(user, change, trigger=False): - logger.debug('FAIL %s', change) - trigger = False - break - return False + if not cls.apply_change(user, change, trigger=False): + logger.debug('FAIL %s', change) + trigger = False + break + return False if trigger: trigger_event('change', {}); return True diff --git a/oml/nodes.py b/oml/nodes.py index 04d90b7..3f21c6f 100644 --- a/oml/nodes.py +++ b/oml/nodes.py @@ -297,7 +297,8 @@ class Node(Thread): return False if not changes: return False - r = Changelog.apply_changes(self.user, changes) + with db.session(): + r = Changelog.apply_changes(self.user, changes) return r def pushChanges(self, changes):