def test_can_delete_prefs(self): user = UserFactory.create() pref1 = UsersViolationsPrefsFactory.create(user=user) pref2 = UsersViolationsPrefsFactory.create(user=user) prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(2) items = [pref1.key.name] UsersViolationsPrefs.delete_prefs(self.db, user, items) prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(1) expect(prefs[0].key.name).to_equal(pref2.key.name) expect(prefs[0].user).to_equal(pref2.user) expect(prefs[0].is_active).to_equal(True)
def test_can_delete_prefs(self): user = UserFactory.create() pref1 = UsersViolationsPrefsFactory.create(user=user) pref2 = UsersViolationsPrefsFactory.create(user=user) prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(2) items = [pref1.key.name] UsersViolationsPrefs.delete_prefs(self.db, user, items) prefs = self.db.query(UsersViolationsPrefs).all() expect(prefs).to_length(1) expect(prefs[0].key.name).to_equal(pref2.key.name) expect(prefs[0].user).to_equal(pref2.user) expect(prefs[0].is_active).to_equal(True)
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)