240 lines
7.2 KiB
Plaintext
240 lines
7.2 KiB
Plaintext
<%
|
|
Option explicit
|
|
|
|
Response.Expires = 0
|
|
|
|
Dim Conn,Comm,RS,BugID,addfn,FldLinks
|
|
%>
|
|
<!--
|
|
Display links ( attachments, linked bugs ) for a given bug
|
|
|
|
QueryString : bugid=# ( bug # )
|
|
type=# ( link type: 3 = attach file, 1= related bugs, 0=duplicate, 6=dependent
|
|
-->
|
|
<html>
|
|
<head>
|
|
|
|
<style type="text/css">
|
|
.act {color:menutext; background:menu; cursor:default}
|
|
#bug {font-size:8pt}
|
|
.vis {}
|
|
.unvis {display:none}
|
|
.inp {font-size:8pt; height:18; width:70; color:black; background:menu}
|
|
.inpenab {font-size:8pt; height:18; width:70;}
|
|
.titl {background:menu}
|
|
.titlenab {}
|
|
.fl {background:white; cursor:default}
|
|
.hd {}
|
|
.ac {width:60pt}
|
|
</style>
|
|
|
|
<script language="JavaScript">
|
|
|
|
//
|
|
// download
|
|
//
|
|
// download attached file
|
|
//
|
|
// event:
|
|
// row in array of links
|
|
//
|
|
|
|
function download() {
|
|
ix = event.srcElement.parentElement.rowIndex - 1;
|
|
if ( ix > -1 ) {
|
|
f = document.all.item("FileName", ix).value;
|
|
if ( f.substr(f.length-1,1) == "." )
|
|
f = f.substr(0, f.length-1);
|
|
s = "r<%Response.Write Application("dbFileShareDir")(Session("DBSOURCE"))%>" + "/" + document.all.item("OriginalName", ix).value + "?_RAID_NAME_=" + f;
|
|
window.open( s );
|
|
}
|
|
}
|
|
|
|
//
|
|
// showbug
|
|
//
|
|
// display details for selected bug
|
|
//
|
|
// event:
|
|
// row in array of links
|
|
//
|
|
|
|
function showbug() {
|
|
ix = event.srcElement.parentElement.rowIndex - 1;
|
|
if ( ix > -1 ) {
|
|
s = "/scripts/raid/raid3.asp?BugID=" + document.all.item("LinkedBugID", ix).value;
|
|
window.open( s );
|
|
}
|
|
}
|
|
|
|
//
|
|
// upload
|
|
//
|
|
// upload new attached file
|
|
//
|
|
|
|
function upload() {
|
|
v = window.showModalDialog( "upload.asp?bugid=" + document.all.up.bugid.value, "upload", "dialogWidth:300pt; dialogHeight:100pt" );
|
|
|
|
//
|
|
// return value will be "uploaded" if request was sent to posting acceptor,
|
|
// otherwise will be LinkID generated as placeholder for result of transfer
|
|
// so if not "uploaded" then we must remove new record in links table
|
|
//
|
|
|
|
if ( v != "uploaded" ) {
|
|
document.all.up.linkid.value = v;
|
|
document.all.up.action.value = "del";
|
|
document.all.up.submit();
|
|
}
|
|
|
|
location.reload();
|
|
}
|
|
|
|
//
|
|
// delattach
|
|
//
|
|
// delete file attachement ( in SQL DB & file system )
|
|
//
|
|
|
|
function delattach() {
|
|
ix = event.srcElement.parentElement.rowIndex - 1;
|
|
if ( ix > -1 ) {
|
|
//document.all.dela.target = "";
|
|
//document.all.dela.action = "/scripts/raid/<%=Application("dbFileShareDir")(Session("DBSOURCE"))%>/" + document.all.item("Filename", ix).value + "pac";
|
|
//document.all.dela.submit();
|
|
|
|
//
|
|
// invoke ISAPI DLL to remove file
|
|
//
|
|
|
|
w = window.open( "/scripts/raid/<%=Application("dbFileShareDir")(Session("DBSOURCE"))%>/" + document.all.item("Filename", ix).value + "pac?del=", "dela", "" );
|
|
//w.reload();
|
|
w.close();
|
|
|
|
//
|
|
// invoke ASP to update RAID DB
|
|
//
|
|
|
|
document.all.up.linkid.value = document.all.item("LinkID", ix).value;
|
|
document.all.up.action.value = "delattach";
|
|
document.all.up.submit();
|
|
}
|
|
}
|
|
|
|
function addlinkedbug( title ) {
|
|
bi = prompt( title + " bug number:", "" );
|
|
if ( bi != null ) {
|
|
document.all.up.linkedbug.value = bi;
|
|
document.all.up.action.value = "add";
|
|
document.all.up.submit();
|
|
}
|
|
}
|
|
|
|
function dellinkedbug() {
|
|
ix = event.srcElement.parentElement.rowIndex - 1;
|
|
if ( ix > -1 ) {
|
|
document.all.up.linkid.value = document.all.item("LinkID", ix).value;
|
|
document.all.up.action.value = "del";
|
|
document.all.up.submit();
|
|
}
|
|
}
|
|
|
|
</script>
|
|
|
|
</head>
|
|
<body bgcolor=#c0c0c0>
|
|
<%
|
|
' EnumLinks: enumerate links in FldLinks array
|
|
' title: array of titles
|
|
' fld: array of field indexes in FldLinks
|
|
' onlick: client function for onclick event
|
|
|
|
SUB EnumLinks(title,ondblclick,fld,ondelete)
|
|
Dim i,j,mx,n
|
|
|
|
Response.Write "<table id=lnk>"
|
|
Response.Write "<thead><tr><th></th>"
|
|
for i = 0 to UBound(title)
|
|
Response.Write "<th class=hd>" & title(i) & "</th>"
|
|
next
|
|
Response.Write "</tr></thead><tbody>"
|
|
if vbNull <> VarType(FldLinks) then
|
|
mx = UBound(FldLinks,2)
|
|
for i = 0 to mx
|
|
Response.Write "<tr><td onclick=" & chr(34) & ondelete & chr(34) & ">Delete</td>"
|
|
for j = 0 to UBound(fld)
|
|
Response.Write "<td class=fl ondblclick=" & chr(34) & ondblclick & chr(34) & ">" & FldLinks(fld(j),i) & "</td>"
|
|
next
|
|
j = 0
|
|
for each n in RS.Fields
|
|
Response.Write "<td><input type=hidden id=" & chr(34) & n.Name & chr(34) & " name=" & chr(34) & n.Name & chr(34) & " value=" & chr(34) & FldLinks(j,i) & chr(34) & "></input></td>"
|
|
j = j + 1
|
|
next
|
|
Response.Write "</tr>"
|
|
next
|
|
end if
|
|
END SUB
|
|
|
|
Set Conn = Server.CreateObject("ADODB.Connection")
|
|
Set Comm = Server.CreateObject("ADODB.Command")
|
|
Set RS = Server.CreateObject("ADODB.Recordset")
|
|
Conn.Open Session("DSN")
|
|
Set Comm.ActiveConnection = Conn
|
|
rem RS.CursorType = adOpenStatic
|
|
Set RS.Source = Comm
|
|
|
|
Response.Write "<script language=" & chr(34) & "JavaScript" & chr(34) & ">"
|
|
Response.Write "</script>"
|
|
|
|
BugID = Request.QueryString("bugid")
|
|
|
|
Comm.CommandText = "Select LinkID,FileName,OriginalName,LinkedBugID,TokenID from links where BugID=" & BugID & " AND fDeleted=0 AND Type=" & Request.QueryString("type")
|
|
rem Response.Write Comm.CommandText
|
|
RS.Open
|
|
if NOT RS.EOF then
|
|
FldLinks = RS.GetRows()
|
|
else
|
|
FldLinks = NULL
|
|
end if
|
|
|
|
Response.Write "<table><tbody><tr><td><form id=" & chr(34) & "link" & "name=" & chr(34) & "link" & chr(34) & ">"
|
|
Response.Write "<input type=hidden name=" & chr(34) & "bugid" & chr(34) & " id=" & chr(34) & "bugid" & chr(34) & " value=" & chr(34) & BugID & chr(34) & "></input>"
|
|
|
|
Select case Request.QueryString("type")
|
|
case 3
|
|
EnumLinks Array("Attached Files"), "download()", Array(2), "delattach()"
|
|
addfn = "upload()"
|
|
case 1
|
|
EnumLinks Array("Related bugs"), "showbug()", Array(3), "dellinkedbug()"
|
|
addfn = "addlinkedbug('Related')"
|
|
case 0
|
|
EnumLinks Array("Duplicate bugs"), "showbug()", Array(3), "dellinkedbug()"
|
|
addfn = "addlinkedbug('Duplicate')"
|
|
case 6
|
|
EnumLinks Array("Dependent bugs"), "showbug()", Array(3), "dellinkedbug()"
|
|
addfn = "addlinkedbug('Dependent')"
|
|
end select
|
|
|
|
Response.Write "</tbody></table></form></td>"
|
|
|
|
RS.Close
|
|
Conn.Close
|
|
%>
|
|
<td>
|
|
<button onclick="<%=addfn%>" class="ac">Add</button><br>
|
|
<button onclick="window.close()" class="ac">Close</button><br>
|
|
</td></tr></table>
|
|
<div style="display:none">
|
|
<form id="up" action="/scripts/raid/addlink.asp" method=post>
|
|
<input id="linkedbug" name="linkedbug" type=hidden>
|
|
<input id="action" name="action" type=hidden>
|
|
<input id="bugid" name="bugid" value="<%=BugID%>" type=hidden>
|
|
<input id="linkid" name="linkid" value="" type=hidden>
|
|
<input id="type" name="type" value="<%=Request.QueryString("type")%>" type=hidden>
|
|
<input id="tokenid" name="tokenid" value="<%=Application("dbTokenID")(Session("DBSOURCE"))%>" type=hidden>
|
|
</form>
|
|
</div>
|
|
</body>
|
|
</html>
|