def match(cls, result, user): # Apply global filters if not Filters.is_valid_user(user): # User didn't pass filters, update `account` attribute and return result['account'] = None return True, result # Find matching `UserRule` rule = (UserRule.select().where((UserRule.name == user['title']) | (UserRule.name == '*') | (UserRule.name == None)).order_by( UserRule.priority.asc()).first()) log.debug('Activity matched against rule: %r', rule) if rule: # Process rule if rule.account_function is not None: result['account'] = cls.account_function(user, rule) elif rule.account_id is not None: result['account'] = rule.account_id else: return True, result else: result['account'] = None return False, result
def create_rules(cls, account): ClientRule.create(account=account, priority=1) UserRule.create(account=account, priority=1)