Site upgrade support in clone command
This commit is contained in:
parent
cbf184846a
commit
edd726ac9f
1 changed files with 16 additions and 8 deletions
|
@ -757,16 +757,24 @@ class UiWebsocket(object):
|
||||||
else:
|
else:
|
||||||
self.response(to, {"error": "Unknown site: %s" % address})
|
self.response(to, {"error": "Unknown site: %s" % address})
|
||||||
|
|
||||||
def actionSiteClone(self, to, address, root_inner_path=""):
|
def actionSiteClone(self, to, address, root_inner_path="", target_address=None):
|
||||||
self.cmd("notification", ["info", _["Cloning site..."]])
|
self.cmd("notification", ["info", _["Cloning site..."]])
|
||||||
site = self.server.sites.get(address)
|
site = self.server.sites.get(address)
|
||||||
# Generate a new site from user's bip32 seed
|
if target_address:
|
||||||
new_address, new_address_index, new_site_data = self.user.getNewSiteData()
|
target_site = self.server.sites.get(target_address)
|
||||||
new_site = site.clone(new_address, new_site_data["privatekey"], address_index=new_address_index, root_inner_path=root_inner_path)
|
privatekey = self.user.getSiteData(target_site.address).get("privatekey")
|
||||||
new_site.settings["own"] = True
|
site.clone(target_address, privatekey, root_inner_path=root_inner_path)
|
||||||
new_site.saveSettings()
|
self.cmd("notification", ["done", _["Site source code upgraded!"]])
|
||||||
self.cmd("notification", ["done", _["Site cloned"] + "<script>window.top.location = '/%s'</script>" % new_address])
|
site.publish()
|
||||||
gevent.spawn(new_site.announce)
|
else:
|
||||||
|
# Generate a new site from user's bip32 seed
|
||||||
|
new_address, new_address_index, new_site_data = self.user.getNewSiteData()
|
||||||
|
new_site = site.clone(new_address, new_site_data["privatekey"], address_index=new_address_index, root_inner_path=root_inner_path)
|
||||||
|
new_site.settings["own"] = True
|
||||||
|
new_site.saveSettings()
|
||||||
|
self.cmd("notification", ["done", _["Site cloned"] + "<script>window.top.location = '/%s'</script>" % new_address])
|
||||||
|
gevent.spawn(new_site.announce)
|
||||||
|
|
||||||
|
|
||||||
def actionSiteSetLimit(self, to, size_limit):
|
def actionSiteSetLimit(self, to, size_limit):
|
||||||
self.site.settings["size_limit"] = int(size_limit)
|
self.site.settings["size_limit"] = int(size_limit)
|
||||||
|
|
Loading…
Reference in a new issue