Rev3114, Add details to permission requests
This commit is contained in:
parent
e3931e8892
commit
d50603f722
5 changed files with 40 additions and 11 deletions
|
@ -199,6 +199,26 @@ class UiWebsocketPlugin(object):
|
||||||
if permission.startswith("Merger"):
|
if permission.startswith("Merger"):
|
||||||
self.site.storage.rebuildDb()
|
self.site.storage.rebuildDb()
|
||||||
|
|
||||||
|
def actionPermissionDetails(self, to, permission):
|
||||||
|
if not permission.startswith("Merger"):
|
||||||
|
return super(UiWebsocketPlugin, self).actionPermissionDetails(to, permission)
|
||||||
|
|
||||||
|
merger_type = permission.replace("Merger:", "")
|
||||||
|
merged_sites = []
|
||||||
|
for address, merged_type in merged_db.iteritems():
|
||||||
|
if merged_type != merger_type:
|
||||||
|
continue
|
||||||
|
site = self.server.sites.get(address)
|
||||||
|
try:
|
||||||
|
merged_sites.append(site.content_manager.contents.get("content.json").get("title", address))
|
||||||
|
except Exception as err:
|
||||||
|
merged_sites.append(address)
|
||||||
|
|
||||||
|
details = _["Read and write permissions to sites with merged type of <b>%s</b> "] % merger_type
|
||||||
|
details += _["(%s sites)"] % len(merged_sites)
|
||||||
|
details += "<div style='white-space: normal; max-width: 400px'>%s</div>" % ", ".join(merged_sites)
|
||||||
|
self.response(to, details)
|
||||||
|
|
||||||
|
|
||||||
@PluginManager.registerTo("UiRequest")
|
@PluginManager.registerTo("UiRequest")
|
||||||
class UiRequestPlugin(object):
|
class UiRequestPlugin(object):
|
||||||
|
|
|
@ -10,7 +10,7 @@ class Config(object):
|
||||||
|
|
||||||
def __init__(self, argv):
|
def __init__(self, argv):
|
||||||
self.version = "0.6.0"
|
self.version = "0.6.0"
|
||||||
self.rev = 3112
|
self.rev = 3114
|
||||||
self.argv = argv
|
self.argv = argv
|
||||||
self.action = None
|
self.action = None
|
||||||
self.config_file = "zeronet.conf"
|
self.config_file = "zeronet.conf"
|
||||||
|
|
|
@ -734,6 +734,12 @@ class UiWebsocket(object):
|
||||||
self.site.updateWebsocket(permission_removed=permission)
|
self.site.updateWebsocket(permission_removed=permission)
|
||||||
self.response(to, "ok")
|
self.response(to, "ok")
|
||||||
|
|
||||||
|
def actionPermissionDetails(self, to, permission):
|
||||||
|
if permission == "ADMIN":
|
||||||
|
self.response(to, _["Modify your client's configuration and access all site"] + " <span style='color: red'>" + _["(Dangerous!)"] + "</span>")
|
||||||
|
else:
|
||||||
|
self.response(to, "")
|
||||||
|
|
||||||
# Set certificate that used for authenticate user for site
|
# Set certificate that used for authenticate user for site
|
||||||
def actionCertSet(self, to, domain):
|
def actionCertSet(self, to, domain):
|
||||||
self.user.setCert(self.site.address, domain)
|
self.user.setCert(self.site.address, domain)
|
||||||
|
|
|
@ -197,9 +197,10 @@ class Wrapper
|
||||||
|
|
||||||
actionPermissionAdd: (message) ->
|
actionPermissionAdd: (message) ->
|
||||||
permission = message.params
|
permission = message.params
|
||||||
@displayConfirm "This site requests permission:" + " <b>#{@toHtmlSafe(permission)}</b>", "Grant", =>
|
@ws.cmd "permissionDetails", permission, (permission_details) =>
|
||||||
@ws.cmd "permissionAdd", permission, =>
|
@displayConfirm "This site requests permission:" + " <b>#{@toHtmlSafe(permission)}</b>" + "<br><small style='color: #4F4F4F'>#{permission_details}</small>", "Grant", =>
|
||||||
@sendInner {"cmd": "response", "to": message.id, "result": "Granted"}
|
@ws.cmd "permissionAdd", permission, =>
|
||||||
|
@sendInner {"cmd": "response", "to": message.id, "result": "Granted"}
|
||||||
|
|
||||||
actionNotification: (message) ->
|
actionNotification: (message) ->
|
||||||
message.params = @toHtmlSafe(message.params) # Escape html
|
message.params = @toHtmlSafe(message.params) # Escape html
|
||||||
|
|
|
@ -1076,13 +1076,15 @@ jQuery.extend( jQuery.easing,
|
||||||
Wrapper.prototype.actionPermissionAdd = function(message) {
|
Wrapper.prototype.actionPermissionAdd = function(message) {
|
||||||
var permission;
|
var permission;
|
||||||
permission = message.params;
|
permission = message.params;
|
||||||
return this.displayConfirm("This site requests permission:" + (" <b>" + (this.toHtmlSafe(permission)) + "</b>"), "Grant", (function(_this) {
|
return this.ws.cmd("permissionDetails", permission, (function(_this) {
|
||||||
return function() {
|
return function(permission_details) {
|
||||||
return _this.ws.cmd("permissionAdd", permission, function() {
|
return _this.displayConfirm("This site requests permission:" + (" <b>" + (_this.toHtmlSafe(permission)) + "</b>") + ("<br><small style='color: #4F4F4F'>" + permission_details + "</small>"), "Grant", function() {
|
||||||
return _this.sendInner({
|
return _this.ws.cmd("permissionAdd", permission, function() {
|
||||||
"cmd": "response",
|
return _this.sendInner({
|
||||||
"to": message.id,
|
"cmd": "response",
|
||||||
"result": "Granted"
|
"to": message.id,
|
||||||
|
"result": "Granted"
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue