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([
|
||||
"sitePause", "siteResume", "siteDelete", "siteList", "siteSetLimit", "siteAdd",
|
||||
"channelJoinAllsite", "serverUpdate", "serverPortcheck", "serverShutdown", "serverShowdirectory", "serverGetWrapperNonce",
|
||||
"certSet", "configSet", "permissionAdd", "permissionRemove", "announcerStats"
|
||||
"certSet", "configSet", "permissionAdd", "permissionRemove", "announcerStats", "userSetGlobalSettings"
|
||||
])
|
||||
async_commands = set(["fileGet", "fileList", "dirList", "fileNeed"])
|
||||
|
||||
|
@ -332,7 +332,8 @@ class UiWebsocket(object):
|
|||
"timecorrection": file_server.timecorrection,
|
||||
"language": config.language,
|
||||
"debug": config.debug,
|
||||
"plugins": PluginManager.plugin_manager.plugin_names
|
||||
"plugins": PluginManager.plugin_manager.plugin_names,
|
||||
"user_settings": self.user.settings
|
||||
}
|
||||
|
||||
def formatAnnouncerInfo(self, site):
|
||||
|
@ -972,7 +973,16 @@ class UiWebsocket(object):
|
|||
self.response(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")
|
||||
|
||||
def actionServerUpdate(self, to):
|
||||
|
|
|
@ -25,6 +25,7 @@ class User(object):
|
|||
self.master_address = CryptBitcoin.privatekeyToAddress(self.master_seed)
|
||||
self.sites = data.get("sites", {})
|
||||
self.certs = data.get("certs", {})
|
||||
self.settings = data.get("settings", {})
|
||||
self.delayed_save_thread = None
|
||||
|
||||
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["sites"] = self.sites
|
||||
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))
|
||||
self.log.debug("Saved in %.3fs" % (time.time() - s))
|
||||
self.delayed_save_thread = None
|
||||
|
@ -80,7 +82,7 @@ class User(object):
|
|||
self.saveDelayed()
|
||||
self.log.debug("Deleted site: %s" % address)
|
||||
|
||||
def setSettings(self, address, settings):
|
||||
def setSiteSettings(self, address, settings):
|
||||
site_data = self.getSiteData(address)
|
||||
site_data["settings"] = settings
|
||||
self.saveDelayed()
|
||||
|
|
Loading…
Reference in a new issue