view certificates from browse host

pull/24/head
Zlatin Balevsky 2019-11-04 19:39:04 +00:00
parent 6fbd1267fa
commit 49f51a9f5f
3 changed files with 27 additions and 0 deletions

View File

@ -96,4 +96,19 @@ class BrowseController {
mvcGroup.createMVCGroup("show-comment", groupId, params) mvcGroup.createMVCGroup("show-comment", groupId, params)
} }
@ControllerAction
void viewCertificates() {
def selectedResults = view.selectedResults()
if (selectedResults == null || selectedResults.size() != 1)
return
def result = selectedResults[0]
if (result.certificates <= 0)
return
def params = [:]
params['result'] = result
params['eventBus'] = eventBus
mvcGroup.createMVCGroup("fetch-certificates", params)
}
} }

View File

@ -14,6 +14,7 @@ class BrowseModel {
@Observable BrowseStatus status @Observable BrowseStatus status
@Observable boolean downloadActionEnabled @Observable boolean downloadActionEnabled
@Observable boolean viewCommentActionEnabled @Observable boolean viewCommentActionEnabled
@Observable boolean viewCertificatesActionEnabled
@Observable int totalResults @Observable int totalResults
@Observable int resultCount @Observable int resultCount

View File

@ -58,12 +58,14 @@ class BrowseView {
closureColumn(header: "Name", preferredWidth: 350, type: String, read : {row -> row.name.replace('<','_')}) closureColumn(header: "Name", preferredWidth: 350, type: String, read : {row -> row.name.replace('<','_')})
closureColumn(header: "Size", preferredWidth: 20, type: Long, read : {row -> row.size}) closureColumn(header: "Size", preferredWidth: 20, type: Long, read : {row -> row.size})
closureColumn(header: "Comments", preferredWidth: 20, type: Boolean, read : {row -> row.comment != null}) closureColumn(header: "Comments", preferredWidth: 20, type: Boolean, read : {row -> row.comment != null})
closureColumn(header: "Certificates", preferredWidth: 20, type: Integer, read : {row -> row.certificates})
} }
} }
} }
panel (constraints : BorderLayout.SOUTH) { panel (constraints : BorderLayout.SOUTH) {
button(text : "Download", enabled : bind {model.downloadActionEnabled}, downloadAction) button(text : "Download", enabled : bind {model.downloadActionEnabled}, downloadAction)
button(text : "View Comment", enabled : bind{model.viewCommentActionEnabled}, viewCommentAction) button(text : "View Comment", enabled : bind{model.viewCommentActionEnabled}, viewCommentAction)
button(text : "View Certificates", enabled : bind{model.viewCertificatesActionEnabled}, viewCertificatesAction)
button(text : "Dismiss", dismissAction) button(text : "Dismiss", dismissAction)
} }
} }
@ -85,6 +87,7 @@ class BrowseView {
if (rows.length == 0) { if (rows.length == 0) {
model.downloadActionEnabled = false model.downloadActionEnabled = false
model.viewCommentActionEnabled = false model.viewCommentActionEnabled = false
model.viewCertificatesActionEnabled = false
return return
} }
@ -95,6 +98,9 @@ class BrowseView {
} }
boolean downloadActionEnabled = true boolean downloadActionEnabled = true
model.viewCertificatesActionEnabled = (rows.length == 1 && model.results[rows[0]].certificates > 0)
if (rows.length == 1 && model.results[rows[0]].comment != null) if (rows.length == 1 && model.results[rows[0]].comment != null)
model.viewCommentActionEnabled = true model.viewCommentActionEnabled = true
else else
@ -130,6 +136,11 @@ class BrowseView {
viewComment.addActionListener({controller.viewComment()}) viewComment.addActionListener({controller.viewComment()})
menu.add(viewComment) menu.add(viewComment)
} }
if (model.viewCertificatesActionEnabled) {
JMenuItem viewCertificates = new JMenuItem("View Certificates")
viewCertificates.addActionListener({controller.viewCertificates()})
menu.add(viewCertificates)
}
JMenuItem copyHash = new JMenuItem("Copy Hash To Clipboard") JMenuItem copyHash = new JMenuItem("Copy Hash To Clipboard")
copyHash.addActionListener({ copyHash.addActionListener({