def test_can_insert_prefs_without_user(self): user = None prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(0) items = [] for x in range(3): name = 'key-test-%d' % x KeyFactory.create(name=name) items.append(name) UsersViolationsPrefs.insert_prefs(self.db, user, items) prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(0)
def test_can_insert_prefs_without_user(self): user = None prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(0) items = [] for x in range(3): name = 'key-test-%d' % x KeyFactory.create(name=name) items.append(name) UsersViolationsPrefs.insert_prefs(self.db, user, items) prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(0)
def get(self): user = self.get_authenticated_user() if not user: return user_prefs = UsersViolationsPrefs.get_prefs(self.db, user) violation_defs = self.application.violation_definitions user_prefs_keys = set(user_prefs.keys()) violation_defs_keys = set(violation_defs.keys()) insert_items = list(violation_defs_keys - user_prefs_keys) if insert_items: UsersViolationsPrefs.insert_prefs(self.db, user, insert_items) remove_items = list(user_prefs_keys - violation_defs_keys) if remove_items: UsersViolationsPrefs.delete_prefs(self.db, user, remove_items) result = [] for key_name in violation_defs: category = violation_defs[key_name]['category'] name = violation_defs[key_name]['title'] description = violation_defs[key_name]['generic_description'] is_active = user_prefs.get(key_name, True) result.append({ 'key': key_name, 'name': self._(name), 'description': self._(description), 'category': self._(category), 'is_active': is_active }) self.write_json(result)