def saveUserPreferences(self, userid, name, value): index = PluginRegistry.getInstance("ObjectIndex") res = index.search({'_type': 'User', 'uid': userid}, {'dn': 1}) if not res.count(): raise GOsaException(C.make_error("UNKNOWN_USER", userid)) user = ObjectProxy(res[0]['dn']) prefs = user.guiPreferences if not prefs: prefs = {} else: prefs = loads(prefs) prefs[name] = value user.guiPreferences = dumps(prefs) user.commit() return True