Support global user settings
This commit is contained in:
parent
39d442a05d
commit
3579f9e0c4
2 changed files with 16 additions and 4 deletions
|
@ -23,7 +23,7 @@ class UiWebsocket(object):
|
||||||
admin_commands = set([
|
admin_commands = set([
|
||||||
"sitePause", "siteResume", "siteDelete", "siteList", "siteSetLimit", "siteAdd",
|
"sitePause", "siteResume", "siteDelete", "siteList", "siteSetLimit", "siteAdd",
|
||||||
"channelJoinAllsite", "serverUpdate", "serverPortcheck", "serverShutdown", "serverShowdirectory", "serverGetWrapperNonce",
|
"channelJoinAllsite", "serverUpdate", "serverPortcheck", "serverShutdown", "serverShowdirectory", "serverGetWrapperNonce",
|
||||||
"certSet", "configSet", "permissionAdd", "permissionRemove", "announcerStats"
|
"certSet", "configSet", "permissionAdd", "permissionRemove", "announcerStats", "userSetGlobalSettings"
|
||||||
])
|
])
|
||||||
async_commands = set(["fileGet", "fileList", "dirList", "fileNeed"])
|
async_commands = set(["fileGet", "fileList", "dirList", "fileNeed"])
|
||||||
|
|
||||||
|
@ -332,7 +332,8 @@ class UiWebsocket(object):
|
||||||
"timecorrection": file_server.timecorrection,
|
"timecorrection": file_server.timecorrection,
|
||||||
"language": config.language,
|
"language": config.language,
|
||||||
"debug": config.debug,
|
"debug": config.debug,
|
||||||
"plugins": PluginManager.plugin_manager.plugin_names
|
"plugins": PluginManager.plugin_manager.plugin_names,
|
||||||
|
"user_settings": self.user.settings
|
||||||
}
|
}
|
||||||
|
|
||||||
def formatAnnouncerInfo(self, site):
|
def formatAnnouncerInfo(self, site):
|
||||||
|
@ -972,7 +973,16 @@ class UiWebsocket(object):
|
||||||
self.response(to, settings)
|
self.response(to, settings)
|
||||||
|
|
||||||
def actionUserSetSettings(self, to, settings):
|
def actionUserSetSettings(self, to, settings):
|
||||||
self.user.setSettings(self.site.address, settings)
|
self.user.setSiteSettings(self.site.address, settings)
|
||||||
|
self.response(to, "ok")
|
||||||
|
|
||||||
|
def actionUserGetGlobalSettings(self, to):
|
||||||
|
settings = self.user.settings
|
||||||
|
self.response(to, settings)
|
||||||
|
|
||||||
|
def actionUserSetGlobalSettings(self, to, settings):
|
||||||
|
self.user.settings = settings
|
||||||
|
self.user.save()
|
||||||
self.response(to, "ok")
|
self.response(to, "ok")
|
||||||
|
|
||||||
def actionServerUpdate(self, to):
|
def actionServerUpdate(self, to):
|
||||||
|
|
|
@ -25,6 +25,7 @@ class User(object):
|
||||||
self.master_address = CryptBitcoin.privatekeyToAddress(self.master_seed)
|
self.master_address = CryptBitcoin.privatekeyToAddress(self.master_seed)
|
||||||
self.sites = data.get("sites", {})
|
self.sites = data.get("sites", {})
|
||||||
self.certs = data.get("certs", {})
|
self.certs = data.get("certs", {})
|
||||||
|
self.settings = data.get("settings", {})
|
||||||
self.delayed_save_thread = None
|
self.delayed_save_thread = None
|
||||||
|
|
||||||
self.log = logging.getLogger("User:%s" % self.master_address)
|
self.log = logging.getLogger("User:%s" % self.master_address)
|
||||||
|
@ -41,6 +42,7 @@ class User(object):
|
||||||
user_data["master_seed"] = self.master_seed
|
user_data["master_seed"] = self.master_seed
|
||||||
user_data["sites"] = self.sites
|
user_data["sites"] = self.sites
|
||||||
user_data["certs"] = self.certs
|
user_data["certs"] = self.certs
|
||||||
|
user_data["settings"] = self.settings
|
||||||
helper.atomicWrite("%s/users.json" % config.data_dir, json.dumps(users, indent=2, sort_keys=True))
|
helper.atomicWrite("%s/users.json" % config.data_dir, json.dumps(users, indent=2, sort_keys=True))
|
||||||
self.log.debug("Saved in %.3fs" % (time.time() - s))
|
self.log.debug("Saved in %.3fs" % (time.time() - s))
|
||||||
self.delayed_save_thread = None
|
self.delayed_save_thread = None
|
||||||
|
@ -80,7 +82,7 @@ class User(object):
|
||||||
self.saveDelayed()
|
self.saveDelayed()
|
||||||
self.log.debug("Deleted site: %s" % address)
|
self.log.debug("Deleted site: %s" % address)
|
||||||
|
|
||||||
def setSettings(self, address, settings):
|
def setSiteSettings(self, address, settings):
|
||||||
site_data = self.getSiteData(address)
|
site_data = self.getSiteData(address)
|
||||||
site_data["settings"] = settings
|
site_data["settings"] = settings
|
||||||
self.saveDelayed()
|
self.saveDelayed()
|
||||||
|
|
Loading…
Reference in a new issue