diff options
Diffstat (limited to 'web/templates/glsa/show.tmpl')
-rw-r--r-- | web/templates/glsa/show.tmpl | 495 |
1 files changed, 495 insertions, 0 deletions
diff --git a/web/templates/glsa/show.tmpl b/web/templates/glsa/show.tmpl new file mode 100644 index 0000000..c9a9591 --- /dev/null +++ b/web/templates/glsa/show.tmpl @@ -0,0 +1,495 @@ +<!DOCTYPE html> +<html lang="en"> +{{template "head"}} +<body> +{{template "header" .}} + +<div class="container mb-5 mt-2"> + <div class="row"> + + + <div class="col-sm-12" style="margin-bottom:10px;"> + <small> + <div class="navigation"> + <a href="/all"><b>GLSA List:</b></a> + + ({{.Glsa.Id}} of {{.GlsaCount}}) + + + {{ if eq 1 .Glsa.Id }} + <span class="navigation_link"><i class="fa fa-angle-double-left" aria-hidden="true"></i> First</span> + {{else}} + <a href="/glsa/1" class="navigation_link" style="font-style: normal;"><i class="fa fa-angle-double-left" aria-hidden="true"></i> First</a> + {{end}} + + {{ if eq (prevGLSA .Glsa.Id 1) .Glsa.Id }} + <span class="navigation_link"><i class="fa fa-angle-left" aria-hidden="true"></i> Prev</span> + {{else}} + <a href="/glsa/{{prevGLSA .Glsa.Id 1}}" class="navigation_link" style="font-style: normal;"><i class="fa fa-angle-left" aria-hidden="true"></i> Prev</a> + {{end}} + + {{ if eq (nextGLSA .Glsa.Id .GlsaCount) .Glsa.Id }} + <span class="navigation_link">Next <i class="fa fa-angle-right" aria-hidden="true"></i></span> + {{else}} + <a href="/glsa/{{nextGLSA .Glsa.Id .GlsaCount}}" class="navigation_link" style="font-style: normal;">Next <i class="fa fa-angle-right" aria-hidden="true"></i></a> + {{end}} + + {{ if eq .GlsaCount .Glsa.Id }} + <span class="navigation_link" style="">Last <i class="fa fa-angle-double-right" aria-hidden="true"></i></span> + {{else}} + <a href="/glsa/{{.GlsaCount}}" class="navigation_link" style="font-style: normal;">Last <i class="fa fa-angle-double-right" aria-hidden="true"></i></a> + {{end}} + + <a href="/glsa/edit/{{.Glsa.Id}}" class="float-right btn btn-primary btn-sm">Edit GLSA</a> + + {{if .User.Permissions.Glsa.Release}} + {{if eq .Glsa.Type "draft"}} + {{if .Glsa.Status.BugReady }} + {{if eq .Glsa.Status.Approval "approved"}} + <a href="/glsa/release/{{.Glsa.Id}}" class="float-right btn btn-outline-success btn-sm" style="margin-right:5px;">Release advisory</a> + {{end}} + {{end}} + {{end}} + {{end}} + + {{if .User.Permissions.Glsa.Delete}} + <button type="button" id="btn-delete-glsa" class="float-right btn btn-outline-danger btn-sm" style="margin-right:5px;">Delete</button> + {{end}} + + <button onclick="window.scrollTo(0,document.body.scrollHeight);" class="float-right btn btn-outline-secondary btn-sm" style="margin-right:5px;">Bottom <i class="fa fa-long-arrow-down" aria-hidden="true"></i> + </button> + + + + + </div> + </small> + </div> + + <div class="col-12 mt-2"> + + + <div class="card"> + <div class="card-body"> + <div class="row"> + + <div class="col-sm-12"> + <span class="badge {{if eq .Glsa.Type "request"}}badge-danger{{else if eq .Glsa.Type "draft"}}badge-warning{{else}}badge-success{{end}} text-capitalize">{{.Glsa.Type}}</span> + <a style="color:#000000;" href="/glsa/{{.Glsa.Id}}">GLSA <span id="glsa-id">{{.Glsa.Id}}</span></a> + + <span id="summary_container"> + <small style="margin-left:5px;color:#505152;">Created: {{.Glsa.Created}}</small> + <small style="margin-left:5px;color:#505152;">Updated: {{.Glsa.Updated}}</small> + </span> + + + <span class="badge badge-secondary float-right" style="background: none;border: 1px solid {{ if eq .Glsa.Status.Permission "public"}}green{{else}}black{{end}};"> + <i class="fa {{ if eq .Glsa.Status.Permission "public"}}fa-globe{{else}}fa-user-secret{{end}} mr-1" aria-hidden="true" style="font-size: 0.8rem;color: {{ if eq .Glsa.Status.Permission "public"}}green{{else}}black{{end}};"></i> + <span style="color: {{ if eq .Glsa.Permission "public"}}green{{else}}black{{end}};">{{ if eq .Glsa.Status.Permission "public"}}PUBLIC{{else}}CONFIDENTAL{{end}}</span> + </span> + + <span class="badge badge-danger float-right mr-2" style="background: none;border: 1px solid {{if eq .Glsa.Status.WorkflowStatus "commented" }}blue{{else if eq .Glsa.Status.WorkflowStatus "own"}}green{{else if eq .Glsa.Status.WorkflowStatus "approved"}}green{{else}}darkred{{end}};"> + <i class="fa {{if eq .Glsa.Status.WorkflowStatus "commented" }}fa-comments-o{{else if eq .Glsa.Status.WorkflowStatus "own"}}fa-user{{else if eq .Glsa.Status.WorkflowStatus "approved"}}fa-check-circle-o{{else}}fa-times-circle{{end}} mr-1" aria-hidden="true" style="font-size: 0.8rem;color: {{if eq .Glsa.Status.WorkflowStatus "commented" }}blue{{else if eq .Glsa.Status.WorkflowStatus "own"}}green{{else if eq .Glsa.Status.WorkflowStatus "approved"}}green{{else}}darkred{{end}};"></i> + <span class="text-uppercase" style="color:{{if eq .Glsa.Status.WorkflowStatus "commented" }}blue{{else if eq .Glsa.Status.WorkflowStatus "own"}}green{{else if eq .Glsa.Status.WorkflowStatus "approved"}}green{{else}}darkred{{end}};">{{.Glsa.Status.WorkflowStatus}}</span> + </span> + + <span class="badge badge-secondary float-right mr-2" style="background: none;border: 1px solid {{if eq .Glsa.Status.Approval "declined" }}darkred{{else if eq .Glsa.Status.Approval "approved"}}green{{else if eq .Glsa.Status.Approval "comments"}}orange{{else}}grey{{end}};"> + <i class="fa fa-circle mr-1" aria-hidden="true" style="font-size: 0.8rem;color: {{if eq .Glsa.Status.Approval "declined" }}darkred{{else if eq .Glsa.Status.Approval "approved"}}green{{else if eq .Glsa.Status.Approval "comments"}}orange{{else}}grey{{end}};"></i> + <span class="text-uppercase" style="color:{{if eq .Glsa.Status.Approval "declined" }}darkred{{else if eq .Glsa.Status.Approval "approved"}}green{{else if eq .Glsa.Status.Approval "comments"}}orange{{else}}grey{{end}};">{{.Glsa.Status.Approval}}</span> + </span> + + <span class="badge badge-secondary float-right mr-2" style="background: none;border: 1px solid {{if .Glsa.Status.BugReady }}green{{else}}darkred{{end}};padding-top:4px!important;padding-bottom:1.6px;"> + <svg class="" style="width:13px;height:13px" viewBox="0 0 24 24"> + <path fill="{{if .Glsa.Status.BugReady }}green{{else}}darkred{{end}}" d="M20,8H17.19C16.74,7.2 16.12,6.5 15.37,6L17,4.41L15.59,3L13.42,5.17C12.96,5.06 12.5,5 12,5C11.5,5 11.05,5.06 10.59,5.17L8.41,3L7,4.41L8.62,6C7.87,6.5 7.26,7.21 6.81,8H4V10H6.09C6.03,10.33 6,10.66 6,11V12H4V14H6V15C6,15.34 6.03,15.67 6.09,16H4V18H6.81C8.47,20.87 12.14,21.84 15,20.18C15.91,19.66 16.67,18.9 17.19,18H20V16H17.91C17.97,15.67 18,15.34 18,15V14H20V12H18V11C18,10.66 17.97,10.33 17.91,10H20V8M16,15A4,4 0 0,1 12,19A4,4 0 0,1 8,15V11A4,4 0 0,1 12,7A4,4 0 0,1 16,11V15M14,10V12H10V10H14M10,14H14V16H10V14Z" /> + </svg> + <span class="" style="color:{{if .Glsa.Status.BugReady }}green{{else}}darkred{{end}};">{{if .Glsa.Status.BugReady }}READY{{else}}NOT READY{{end}}</span> + </span> + + + </div> + + <div class="col-sm-12"> + <h1 style="font-size: 20px;margin-top:10px;margin-bottom:4px;"><span id="short_desc_nonedit_display">{{.Glsa.Title}} </span></h1> + </div> + </div> + </div> + </div> + </div> + + + + <div class="col-12 mt-4"> + + <div class="card"> + <div class="card-header" style="padding-left: 8px; padding-right: 8px; padding-top: 4px; padding-bottom: 4px;font-weight:bold;font-size:13px;"> + <a data-toggle="collapse" href="#collapseMetadata" style="outline : none;text-decoration: none;color:#000;" onclick="this.getElementsByTagName('i')[0].classList.toggle('fa-caret-down');this.getElementsByTagName('i')[0].classList.toggle('fa-caret-right');"> + <i class="fa fa-caret-down" aria-hidden="true" style="margin-right:5px;cursor: pointer"></i> Metadata</a> + </div> + <div class="card-body collapse show" id="collapseMetadata"> + <div class="row"> + <div class="col-sm-3"> + <small class="mr-2 text-uppercase text-muted" style="font-size: 12px;"><i class="fa fa-unlock" aria-hidden="true"></i> Permission:</small> + <span style="">{{.Glsa.Permission}}</span> + </div> + <div class="col-sm-3"> + <small class="mr-2 text-uppercase text-muted" style="font-size: 12px;"><i class="fa fa-address-card" aria-hidden="true"></i> Access: </small> + <span style="">{{.Glsa.Access}}</span> + </div> + + <div class="col-sm-3"> + <small class="mr-2 text-uppercase text-muted" style="font-size: 12px;"><i class="fa fa-balance-scale" aria-hidden="true"></i> Severity: </small> + <span style="">{{.Glsa.Severity}}</span> + </div> + <div class="col-sm-3"> + <small class="mr-2 text-uppercase text-muted" style="font-size: 12px;"><i class="fa fa-tag" aria-hidden="true"></i> Keyword:</small> + <span style="">{{.Glsa.Keyword}}</span> + </div> + + </div> + </div> + </div> + + </div> + + + <div class="col-12 mt-4"> + <div class="card"> + <div class="card-header" style="padding-left: 8px; padding-right: 8px; padding-top: 4px; padding-bottom: 4px;font-weight:bold;font-size:13px;"> + <a data-toggle="collapse" href="#collapseOverview" style="outline : none;text-decoration: none;color:#000;" onclick="this.getElementsByTagName('i')[0].classList.toggle('fa-caret-down');this.getElementsByTagName('i')[0].classList.toggle('fa-caret-right');"> + <i class="fa fa-caret-down" aria-hidden="true" style="margin-right:5px;cursor: pointer"></i> Overview</a> + </div> + <div class="card-body collapse show" id="collapseOverview"> + <div class="row"> + + <div class="col-sm-12"> + + <div class="row" style="margin-bottom:2px;"> + <div class="col-md-auto align-h-right" style="min-width: 125px;padding-right:0px;color:#505050;"> + <small class="text-uppercase text-muted" style="font-size: 12px;"><i class="fa fa-sticky-note-o" aria-hidden="true"></i> Synopsis:</small> + </div> + <div class="col" style="color:#292929;padding-left:10px;"> + {{.Glsa.Synopsis}} + </div> + </div> + </div> + + <div class="col-sm-12"> + <div class="row mt-3" style="margin-bottom:2px;"> + <div class="col-6" style="margin-bottom:2px;"> + <div class="row"> + <div class="col-md-auto align-h-right" style="min-width: 125px; padding-right:0px;color:#505050;"> + <small class="text-uppercase text-muted" style="font-size: 12px;"><i class="fa fa-file-text-o" aria-hidden="true"></i> Description:</small> + </div> + <div class="col" style="color:#292929;padding-left:10px;"> + <span>{{.Glsa.Description}}</span> + </div> + </div> + </div> + + <div class="col-6"> + <div class="row"> + <div class="col-md-auto" style="min-width: 125px; padding-right:0px;color:#505050;"> + <small class="text-uppercase text-muted" style="font-size: 12px;"><i class="fa fa-medkit" aria-hidden="true"></i> Workaround:</small> + </div> + <div class="col" style="color:#292929;padding-left:10px;"> + <span>{{.Glsa.Workaround}}</span> + </div> + </div> + </div> + </div> + </div> + + <div class="col-12"> + <div class="row mt-3 equal"> + <div class="col-6"> + <div class="row"> + <div class="col-md-auto" style="min-width: 125px; padding-right:0px;color:#505050;"> + <small class="text-uppercase text-muted" style="font-size: 12px;"><i class="fa fa-bullseye" aria-hidden="true"></i> Impact:</small> + </div> + <div class="col" style="color:#292929;padding-left:10px;"> + <span>{{.Glsa.Impact}}</span> + </div> + </div> + </div> + + <div class="col-6"> + <div class="row" style="padding-right:0px;color:#505050;"> + <div class="col-md-auto align-h-right" style="min-width: 125px;padding-right:0px;color:#505050;"> + <small class="text-uppercase text-muted" style="font-size: 12px;"><i class="fa fa-align-right" aria-hidden="true"></i> Background:</small> + </div> + <div class="col" style="color:#292929;padding-left:10px;"> + <span>{{.Glsa.Background}}</span> + </div> + </div> + </div> + </div> + </div> + + </div> + </div> + </div> + </div> + + + + <div class="col-12 mt-4"> + <div class="card"> + <div class="card-header" style="padding-left: 8px; padding-right: 8px; padding-top: 4px; padding-bottom: 4px;font-weight:bold;font-size:13px;"> + <a data-toggle="collapse" href="#collapseResolution" style="outline : none;text-decoration: none;color:#000;" onclick="this.getElementsByTagName('i')[0].classList.toggle('fa-caret-down');this.getElementsByTagName('i')[0].classList.toggle('fa-caret-right');"> + <i class="fa fa-caret-down" aria-hidden="true" style="margin-right:5px;cursor: pointer"></i> Resolution</a> + </div> + <div class="card-body collapse show" id="collapseResolution"> + {{ if .Glsa.Resolution}} + {{ .Glsa.Resolution}} + {{else}} + <div class="w-100 text-center"><i>- no resolution yet -</i></div> + {{end}} + + </div> + </div> + </div> + + + + <div class="col-12 mt-4"> + <div class="card"> + <div class="card-header" style="padding-left: 8px; padding-right: 8px; padding-top: 4px; padding-bottom: 4px;font-weight:bold;font-size:13px;"> + <a data-toggle="collapse" href="#collapsePackages" style="outline : none;text-decoration: none;color:#000;" onclick="this.getElementsByTagName('i')[0].classList.toggle('fa-caret-down');this.getElementsByTagName('i')[0].classList.toggle('fa-caret-right');"> + <i class="fa fa-caret-down" aria-hidden="true" style="margin-right:5px;cursor: pointer"></i> Packages</a> + </div> + <div class="card-body collapse show" id="collapsePackages"> + {{ if .Glsa.Resolution}} + <div class="row"> + + <div class="col-sm-6"> + + {{ range .Glsa.Packages}} + {{ if .Affected}} + + <div class="row" style="margin-bottom:2px;"> + <div class="col-md-auto align-h-right" style="padding-right:0px;color:#505050;"> + <small class="text-uppercase text-muted" style="font-size: 12px;"><i class="fa fa-times-circle-o" aria-hidden="true"></i> Vulnerable:</small> + </div> + + <div class="col pl-3" style="color:#292929;padding-left:10px;"> + <span style="font-size: 12px;"> {{.Identifier}}{{.Atom}}-{{.Version}}:{{.Slot}} on {{.Arch}} (auto: {{.Auto}})</span> + </div> + </div> + + {{end}} + {{end}} + + </div> + + <div class="col-sm-6"> + {{ range .Glsa.Packages}} + {{ if not .Affected}} + <div class="row equal"> + <div class="col-md-auto align-h-right" style="padding-right:0px;color:#505050;"> + <small class="text-uppercase text-muted" style="font-size: 12px;"><i class="fa fa-shield" aria-hidden="true"></i> Unaffected:</small> + </div> + <div class="col pl-3" style="color:#292929;padding-left:10px;"> + <small style="font-size: 12px;"> {{.Identifier}}{{.Atom}}-{{.Version}}:{{.Slot}} on {{.Arch}} (auto: {{.Auto}}) </small> + </div> + </div> + {{end}} + {{end}} + + </div> + + </div> + {{else}} + <div class="w-100 text-center"><i>- no packages yet -</i></div> + {{end}} + </div> + </div> + </div> + + + <div class="col-6 px-0"> + + <div class="col-12 mt-4"> + <div class="card"> + <div class="card-header" style="padding-left: 8px; padding-right: 8px; padding-top: 4px; padding-bottom: 4px;font-weight:bold;font-size:13px;"> + <a data-toggle="collapse" href="#collapseBugs" style="outline : none;text-decoration: none;color:#000;" onclick="this.getElementsByTagName('i')[0].classList.toggle('fa-caret-down');this.getElementsByTagName('i')[0].classList.toggle('fa-caret-right');"> + <i class="fa fa-caret-down" aria-hidden="true" style="margin-right:5px;cursor: pointer"></i> Bugs</a> + </div> + <div class="card-body collapse show" id="collapseBugs"> + {{ if .Glsa.Bugs}} + <div class="row"> + + {{ range .Glsa.Bugs}} + + <div class="col-sm-12"> + <div class="row" style="margin-bottom:2px;"> + <div class="col-sm-2 align-h-right" style="padding-right:0px;color:#505050;"> + <small style="font-size: 12px;" title="{{if bugIsReady .}}bug is ready{{else}}bug is not ready{{end}}"> + + <svg class="mb-1" style="width:18px;height:18px" viewBox="0 0 24 24"> + <path fill="{{if bugIsReady .}}green{{else}}grey{{end}}" d="M20,8H17.19C16.74,7.2 16.12,6.5 15.37,6L17,4.41L15.59,3L13.42,5.17C12.96,5.06 12.5,5 12,5C11.5,5 11.05,5.06 10.59,5.17L8.41,3L7,4.41L8.62,6C7.87,6.5 7.26,7.21 6.81,8H4V10H6.09C6.03,10.33 6,10.66 6,11V12H4V14H6V15C6,15.34 6.03,15.67 6.09,16H4V18H6.81C8.47,20.87 12.14,21.84 15,20.18C15.91,19.66 16.67,18.9 17.19,18H20V16H17.91C17.97,15.67 18,15.34 18,15V14H20V12H18V11C18,10.66 17.97,10.33 17.91,10H20V8M16,15A4,4 0 0,1 12,19A4,4 0 0,1 8,15V11A4,4 0 0,1 12,7A4,4 0 0,1 16,11V15M14,10V12H10V10H14M10,14H14V16H10V14Z" /> + </svg> + <span style="color:{{if bugIsReady .}}green{{end}};">{{.Id}}</span>:</small> + </div> + <div class="col-sm-10" style="color:#292929;padding-left:10px;"> + <small style="font-size: 12px;">{{.Summary}}</small> + </div> + </div> + </div> + + {{end}} + + </div> + {{else}} + <div class="w-100 text-center"><i>- no bugs yet -</i></div> + {{end}} + </div> + </div> + </div> + + </div> + <div class="col-6 px-0"> + + <div class="col-12 mt-4"> + <div class="card"> + <div class="card-header" style="padding-left: 8px; padding-right: 8px; padding-top: 4px; padding-bottom: 4px;font-weight:bold;font-size:13px;"> + <a data-toggle="collapse" href="#collapseReferences" style="outline : none;text-decoration: none;color:#000;" onclick="this.getElementsByTagName('i')[0].classList.toggle('fa-caret-down');this.getElementsByTagName('i')[0].classList.toggle('fa-caret-right');"> + <i class="fa fa-caret-down" aria-hidden="true" style="margin-right:5px;cursor: pointer"></i> References</a> + </div> + <div class="card-body collapse show" id="collapseReferences"> + {{ if .Glsa.References}} + <div class="row"> + + {{ range .Glsa.References}} + + <div class="col-sm-12" style="height: 25px;"> + <div class="row"> + <div class="col-md-auto align-h-right" style="padding-right:0px;color:#505050;"> + <small style="font-size: 12px;"> + + <small style="font-size: 12px;"> + <i class="fa fa-fire" aria-hidden="true"></i> + {{.Title}} + </small> + + </small> + </div> + <div class="col" style="color:#292929;padding-left:10px;"> + <small style="font-size: 12px;"> {{.URL}} </small> + </div> + </div> + </div> + + {{end}} + + + </div> + {{else}} + <div class="w-100 text-center"><i>- no references yet -</i></div> + {{end}} + </div> + </div> + </div> + + </div> + + + {{if .User.Permissions.Glsa.Comment}} + <div class="col-12 mt-3"><hr/></div> + {{else if .Glsa.Comments}} + <div class="col-12 mt-3"><hr/></div> + {{end}} + + <div class="col-12"> + <div id="comments-section" class="row"> + + {{ range .Glsa.Comments}} + + <div class="col-12 mt-3"> + <div id="c0" class="card" style="padding:0px;{{if eq .Type "approve"}}background:#DFF0D8;{{else if eq .Type "decline"}}background:#F2DEDE;{{end}}"> + <div class="card-header" style="{{if eq .Type "approve"}}background:#DFF0D8;{{else if eq .Type "decline"}}background:#F2DEDE;{{end}}"> + <div class="row"> + <div class="col-sm-8"> + <div class="row"> + <div class="col-sm-12"> + <span style="color:#000!important;"> + <span class="vcard"><a class="email" href="mailto:max@magorsch.de" title="Max Magorsch <max@magorsch.de>"> <b class="text-dark">{{.User}}</b></a></span> + </span> + <span class="ml-2"> + + <span class="badge badge-secondary" title="{{.UserBadge.Description}}" style="background: none;border: 1px solid {{.UserBadge.Color}};"> + <span class="text-capitalize" style="color: {{.UserBadge.Color}};">{{.UserBadge.Name}}</span> + </span> + </span> + </div> + <div class="col-sm-12"> + <span style="color:#505050; font-weight: normal;margin-left:2px;"> + {{.Date}} + </span> + </div> + </div> + </div> + + <div class="col-sm-4"> + <div> + <a href="#" class="btn btn-default btn-xs float-right" style="background:transparent;color:#505050;border:none;"><i class="fa fa-compress" aria-hidden="true"></i></a> + <a class="btn btn-default btn-xs float-right" href="#add_comment" style="background:transparent;color:#505050;border:none;"><i class="fa fa-reply" aria-hidden="true"></i></a> + <a href="#" class="btn btn-default btn-xs float-right" style="background:transparent;color:#505050;border:none;"><i class="fa fa-tag" aria-hidden="true"></i></a> + </div> + </div> + </div> + </div> + + <div class="card-body"> + {{if eq .Type "approve"}}<b class="mr-2">Approved: </b>{{else if eq .Type "decline"}}<b class="mr-2">Declined: </b>{{end}} + {{.Message}} + </div> + </div> + </div> + + {{end}} + + </div> + </div> + + {{if .User.Permissions.Glsa.Comment}} + <div class="col-12 mt-4"> + <div id="add_comment"> + <label class="" for="comment" accesskey="c"><b>Add Comment</b></label> + <div class="row"> + <div class="col-12"> + <div id="comment_tabs" role="tablist"> + <div id="comment_tab" class="comment_tab active_comment_tab" role="tab" aria-selected="true">Comment</div> + <div id="comment_preview_tab" class="comment_tab" role="tab" aria-selected="false">Preview</div> + </div> + <textarea name="comment" id="comment" class="form-control comment-textarea" rows="10" cols="60" onfocusout="this.rows=10" onfocus="this.rows=15"></textarea> + <br><div class="knob-buttons"> + <input class="btn btn-outline-primary btn-sm float-right" type="button" value="Add Comment" id="save-new-glsa-comment"> + {{if .User.Permissions.Glsa.Approve}} + {{if eq .Glsa.CreatorId .User.Id}} + {{if .User.Permissions.Glsa.ApproveOwnGlsa}} + <input class="btn btn-outline-success btn-sm float-right mr-2" type="button" value="Approve" id="save-new-glsa-approve"> + {{end}} + {{else}} + <input class="btn btn-outline-success btn-sm float-right mr-2" type="button" value="Approve" id="save-new-glsa-approve"> + {{end}} + {{end}} + {{if .User.Permissions.Glsa.Decline}} + <input class="btn btn-outline-danger btn-sm float-right mr-2" type="button" value="Decline" id="save-new-glsa-decline"> + {{end}} + </div> + </div> + </div> + </div> + </div> + {{end}} + + </div> +</div> + +<script src="/assets/glsa.js"></script> + + +{{template "footer" .}} + +</body> +</html> |