Give server default rules the 'default' attribute and fix various brokenness.

This commit is contained in:
David Baker 2015-02-05 15:11:38 +00:00
parent 2df41aa138
commit aaf50bf6f3
3 changed files with 9 additions and 3 deletions

View File

@ -36,6 +36,7 @@ def make_base_rules(user, kind):
for r in rules:
r['priority_class'] = PRIORITY_CLASS_MAP[kind]
r['default'] = True
return rules

View File

@ -345,7 +345,7 @@ def _priority_class_to_template_name(pc):
def _rule_to_template(rule):
unscoped_rule_id = None
if 'rule_id' in rule:
_rule_id_from_namespaced(rule['rule_id'])
unscoped_rule_id = _rule_id_from_namespaced(rule['rule_id'])
template_name = _priority_class_to_template_name(rule['priority_class'])
if template_name in ['override', 'underride']:
@ -364,6 +364,8 @@ def _rule_to_template(rule):
if unscoped_rule_id:
templaterule['rule_id'] = unscoped_rule_id
if 'default' in rule:
templaterule['default'] = rule['default']
return templaterule

View File

@ -176,7 +176,7 @@ class PushRuleStore(SQLBaseStore):
txn.execute(sql, new_rule.values())
@defer.inlineCallbacks
def delete_push_rule(self, user_name, rule_id, **kwargs):
def delete_push_rule(self, user_name, rule_id):
"""
Delete a push rule. Args specify the row to be deleted and can be
any of the columns in the push_rule table, but below are the
@ -186,7 +186,10 @@ class PushRuleStore(SQLBaseStore):
user_name (str): The matrix ID of the push rule owner
rule_id (str): The rule_id of the rule to be deleted
"""
yield self._simple_delete_one(PushRuleTable.table_name, kwargs)
yield self._simple_delete_one(
PushRuleTable.table_name,
{'user_name': user_name, 'rule_id': rule_id}
)
class RuleNotFoundException(Exception):