Use user certificate if possible for signing using sidebar, more sign, publish to separate functions
This commit is contained in:
parent
7262fbfb4e
commit
7b41922c2d
1 changed files with 26 additions and 27 deletions
|
@ -332,6 +332,18 @@ class Sidebar extends Class
|
||||||
if not @opened
|
if not @opened
|
||||||
@onClosed()
|
@onClosed()
|
||||||
|
|
||||||
|
sign: (inner_path, privatekey) ->
|
||||||
|
@wrapper.displayProgress("sign", "Signing: #{inner_path}...", 0)
|
||||||
|
@wrapper.ws.cmd "siteSign", {privatekey: privatekey, inner_path: inner_path, update_changed_files: true}, (res) =>
|
||||||
|
if res == "ok"
|
||||||
|
@wrapper.displayProgress("sign", "#{inner_path} signed!", 100)
|
||||||
|
else
|
||||||
|
@wrapper.displayProgress("sign", "Error signing #{inner_path}", -1)
|
||||||
|
|
||||||
|
publish: (inner_path, privatekey) ->
|
||||||
|
@wrapper.ws.cmd "sitePublish", {privatekey: privatekey, inner_path: inner_path, sign: true, update_changed_files: true}, (res) =>
|
||||||
|
if res == "ok"
|
||||||
|
@wrapper.notifications.add "sign", "done", "#{inner_path} Signed and published!", 5000
|
||||||
|
|
||||||
onOpened: ->
|
onOpened: ->
|
||||||
@log "Opened"
|
@log "Opened"
|
||||||
|
@ -474,23 +486,17 @@ class Sidebar extends Class
|
||||||
menu.addItem "Sign", =>
|
menu.addItem "Sign", =>
|
||||||
inner_path = @tag.find("#input-contents").val()
|
inner_path = @tag.find("#input-contents").val()
|
||||||
|
|
||||||
@wrapper.ws.cmd "fileRules", {inner_path: inner_path}, (res) =>
|
@wrapper.ws.cmd "fileRules", {inner_path: inner_path}, (rules) =>
|
||||||
if @wrapper.site_info.privatekey
|
if @wrapper.site_info.auth_address in rules.signers
|
||||||
# Privatekey stored in users.json
|
|
||||||
@wrapper.ws.cmd "siteSign", {privatekey: "stored", inner_path: inner_path, update_changed_files: true}, (res) =>
|
|
||||||
if res == "ok"
|
|
||||||
@wrapper.notifications.add "sign", "done", "#{inner_path} Signed!", 5000
|
|
||||||
else if @wrapper.site_info.auth_address in res.signers
|
|
||||||
# ZeroID or other ID provider
|
# ZeroID or other ID provider
|
||||||
@wrapper.ws.cmd "siteSign", {privatekey: null, inner_path: inner_path, update_changed_files: true}, (res) =>
|
@sign(inner_path)
|
||||||
if res == "ok"
|
else if @wrapper.site_info.privatekey
|
||||||
@wrapper.notifications.add "sign", "done", "#{inner_path} Signed!", 5000
|
# Privatekey stored in users.json
|
||||||
|
@sign(inner_path, "stored")
|
||||||
else
|
else
|
||||||
# Ask the user for privatekey
|
# Ask the user for privatekey
|
||||||
@wrapper.displayPrompt "Enter your private key:", "password", "Sign", "", (privatekey) => # Prompt the private key
|
@wrapper.displayPrompt "Enter your private key:", "password", "Sign", "", (privatekey) => # Prompt the private key
|
||||||
@wrapper.ws.cmd "siteSign", {privatekey: privatekey, inner_path: inner_path, update_changed_files: true}, (res) =>
|
@sign(inner_path, privatekey)
|
||||||
if res == "ok"
|
|
||||||
@wrapper.notifications.add "sign", "done", "#{inner_path} Signed!", 5000
|
|
||||||
|
|
||||||
@tag.find(".contents + .flex").removeClass "active"
|
@tag.find(".contents + .flex").removeClass "active"
|
||||||
menu.hide()
|
menu.hide()
|
||||||
|
@ -519,24 +525,17 @@ class Sidebar extends Class
|
||||||
@tag.find("#button-sign-publish").off("click touchend").on "click touchend", =>
|
@tag.find("#button-sign-publish").off("click touchend").on "click touchend", =>
|
||||||
inner_path = @tag.find("#input-contents").val()
|
inner_path = @tag.find("#input-contents").val()
|
||||||
|
|
||||||
@wrapper.ws.cmd "fileRules", {inner_path: inner_path}, (res) =>
|
@wrapper.ws.cmd "fileRules", {inner_path: inner_path}, (rules) =>
|
||||||
if @wrapper.site_info.privatekey
|
if @wrapper.site_info.auth_address in rules.signers
|
||||||
# Privatekey stored in users.json
|
|
||||||
@wrapper.ws.cmd "sitePublish", {privatekey: "stored", inner_path: inner_path, sign: true, update_changed_files: true}, (res) =>
|
|
||||||
if res == "ok"
|
|
||||||
@wrapper.notifications.add "sign", "done", "#{inner_path} Signed and published!", 5000
|
|
||||||
else if @wrapper.site_info.auth_address in res.signers
|
|
||||||
# ZeroID or other ID provider
|
# ZeroID or other ID provider
|
||||||
@wrapper.ws.cmd "sitePublish", {privatekey: null, inner_path: inner_path, sign: true, update_changed_files: true}, (res) =>
|
@publish(inner_path, null)
|
||||||
if res == "ok"
|
else if @wrapper.site_info.privatekey
|
||||||
@wrapper.notifications.add "sign", "done", "#{inner_path} Signed and published!", 5000
|
# Privatekey stored in users.json
|
||||||
|
@publish(inner_path, "stored")
|
||||||
else
|
else
|
||||||
# Ask the user for privatekey
|
# Ask the user for privatekey
|
||||||
@wrapper.displayPrompt "Enter your private key:", "password", "Sign", "", (privatekey) => # Prompt the private key
|
@wrapper.displayPrompt "Enter your private key:", "password", "Sign", "", (privatekey) => # Prompt the private key
|
||||||
@wrapper.ws.cmd "sitePublish", {privatekey: privatekey, inner_path: inner_path, sign: true, update_changed_files: true}, (res) =>
|
@publish(inner_path, privatekey)
|
||||||
if res == "ok"
|
|
||||||
@wrapper.notifications.add "sign", "done", "#{inner_path} Signed and published!", 5000
|
|
||||||
|
|
||||||
return false
|
return false
|
||||||
|
|
||||||
# Close
|
# Close
|
||||||
|
|
Loading…
Reference in a new issue