summary refs log tree commit diff
path: root/synapse/storage/push_rule.py
diff options
context:
space:
mode:
authorDavid Baker <dave@matrix.org>2015-01-23 10:28:25 +0000
committerDavid Baker <dave@matrix.org>2015-01-23 10:28:25 +0000
commitbcd48b9636071543fa64e7fb066275d1c9c1e363 (patch)
treee6db8fb93a3470c627efc0d710e11e872f64db91 /synapse/storage/push_rule.py
parentThis really serves me right for ever making a map called 'map'. (diff)
downloadsynapse-bcd48b9636071543fa64e7fb066275d1c9c1e363.tar.xz
Fix adding rules without before/after & add the rule that we couldn't find to the error
Diffstat (limited to 'synapse/storage/push_rule.py')
-rw-r--r--synapse/storage/push_rule.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/synapse/storage/push_rule.py b/synapse/storage/push_rule.py
index d087257ffc..2366090e09 100644
--- a/synapse/storage/push_rule.py
+++ b/synapse/storage/push_rule.py
@@ -46,7 +46,7 @@ class PushRuleStore(SQLBaseStore):
         defer.returnValue(dicts)
 
     @defer.inlineCallbacks
-    def add_push_rule(self, **kwargs):
+    def add_push_rule(self, before, after, **kwargs):
         vals = copy.copy(kwargs)
         if 'conditions' in vals:
             vals['conditions'] = json.dumps(vals['conditions'])
@@ -57,10 +57,12 @@ class PushRuleStore(SQLBaseStore):
         if 'id' in vals:
             del vals['id']
 
-        if 'after' in kwargs or 'before' in kwargs:
+        if before or after:
             ret = yield self.runInteraction(
                 "_add_push_rule_relative_txn",
                 self._add_push_rule_relative_txn,
+                before=before,
+                after=after,
                 **vals
             )
             defer.returnValue(ret)
@@ -89,7 +91,7 @@ class PushRuleStore(SQLBaseStore):
         txn.execute(sql, (user_name, relative_to_rule))
         res = txn.fetchall()
         if not res:
-            raise RuleNotFoundException()
+            raise RuleNotFoundException("before/after rule not found: %s" % (relative_to_rule))
         (priority_class, base_rule_priority) = res[0]
 
         if 'priority_class' in kwargs and kwargs['priority_class'] != priority_class: