| 119 |
ghuddy |
1 |
<%
|
|
|
2 |
'===============================================================
|
| 5933 |
dpurdie |
3 |
' Version Browser
|
| 119 |
ghuddy |
4 |
'===============================================================
|
|
|
5 |
%>
|
|
|
6 |
<!--#include file="class/classSortHelper.asp"-->
|
|
|
7 |
<%
|
|
|
8 |
'------------ Variable Definition -------------
|
|
|
9 |
Dim parFLpkg_version, parFLuser_name
|
|
|
10 |
Dim imgLock, fieldRelease_Date, fieldReleased_By, fieldDownloadFullReleaseNotes
|
|
|
11 |
Dim rsVB
|
|
|
12 |
Dim rowColor, imgPointer
|
|
|
13 |
Dim URLstring
|
| 5933 |
dpurdie |
14 |
Dim pvidName
|
|
|
15 |
Dim idxName
|
| 119 |
ghuddy |
16 |
Dim filterInUse
|
| 4703 |
dpurdie |
17 |
Dim hideRipple
|
|
|
18 |
Dim rippleFilter
|
| 119 |
ghuddy |
19 |
Dim DestroyPackage
|
| 5902 |
dpurdie |
20 |
Dim CanDestroyProjectPackage
|
| 119 |
ghuddy |
21 |
Dim CanDestroyPackage
|
|
|
22 |
'------------ Constants Declaration -----------
|
|
|
23 |
Const IMGBG_ROW_HI = "background='images/bg_row_hi.gif'"
|
|
|
24 |
Const IMGBG_ROW = "bgcolor='#FFFFFF'"
|
|
|
25 |
Const IMG_PONTER = "<img src='images/i_pointer.gif' width='6' height='11' hspace='3'>"
|
| 5384 |
dpurdie |
26 |
Const IMG_OFFICIAL = "<img src='images/i_locked.gif' width='7' height='10' hspace='5' vspace='2' title='Package has been Released'>"
|
| 5902 |
dpurdie |
27 |
Const IMG_PENDING = "<img src='icons/i_pending.gif' width='7' height='10' hspace='5' vspace='2' title='Package pending autobuild'>"
|
| 5384 |
dpurdie |
28 |
Const IMG_NOT_OFFICIAL = "<img src='images/spacer.gif' width='7' height='10' hspace='5' vspace='2' title='Package not yet released'>"
|
| 6873 |
dpurdie |
29 |
Const IMG_NOT_BUILDABLE = "<img src='icons/s_unbuildable.png' width='14' height='14' hspace='5' vspace='0' title='Package is not buildable'>"
|
| 119 |
ghuddy |
30 |
Const IMG_DOWNLOAD = "<img src='images/i_download_small.gif' alt='Download full release notes.' width='16' height='16' hspace='2' border='0'>"
|
|
|
31 |
'------------ Variable Init -------------------
|
|
|
32 |
If Request("filter_reset") <> "" Then
|
| 5933 |
dpurdie |
33 |
parFLpkg_version = "*"
|
|
|
34 |
parFLuser_name = "*"
|
|
|
35 |
filterInUse = FALSE
|
| 119 |
ghuddy |
36 |
Else
|
| 5933 |
dpurdie |
37 |
parFLpkg_version = RequestDefault( "FLpkg_version", "*" )
|
|
|
38 |
parFLuser_name = RequestDefault( "FLuser_name","*" )
|
|
|
39 |
filterInUse = Is_Filter_In_Use ( "FLpkg_version, FLuser_name" )
|
| 119 |
ghuddy |
40 |
End If
|
| 4703 |
dpurdie |
41 |
|
|
|
42 |
If Request("hideRipple") = "True" Then
|
| 5933 |
dpurdie |
43 |
hideRipple = True
|
| 4703 |
dpurdie |
44 |
rippleFilter = "AND PV.BUILD_TYPE != 'Y'"
|
|
|
45 |
Else
|
| 5933 |
dpurdie |
46 |
hideRipple = False
|
| 4703 |
dpurdie |
47 |
rippleFilter = ""
|
|
|
48 |
End If
|
|
|
49 |
|
| 119 |
ghuddy |
50 |
'----------------------------------------------
|
|
|
51 |
%>
|
|
|
52 |
<%
|
|
|
53 |
'-----------------------------------------------------------------------------------------------------------------------------------
|
|
|
54 |
Function Get_All_Versions ( nPkg_id )
|
| 5933 |
dpurdie |
55 |
Get_All_Versions = _
|
|
|
56 |
" SELECT DISTINCT PV.PV_ID," &_
|
| 5759 |
dpurdie |
57 |
" PV.PKG_VERSION," &_
|
|
|
58 |
" PV.DLOCKED," &_
|
|
|
59 |
" PV.MODIFIED_STAMP," &_
|
|
|
60 |
" USR.FULL_NAME," &_
|
|
|
61 |
" usr.user_name," &_
|
|
|
62 |
" USR.USER_EMAIL," &_
|
|
|
63 |
" PV.COMMENTS," &_
|
|
|
64 |
" PV.PKG_LABEL," &_
|
|
|
65 |
" PV.IS_PATCH," &_
|
|
|
66 |
" PV.RELEASE_NOTES_INFO," &_
|
|
|
67 |
" PV.BUILD_TYPE," &_
|
|
|
68 |
" pv.CREATOR_ID," &_
|
|
|
69 |
" pv.OWNER_ID," &_
|
| 6873 |
dpurdie |
70 |
" pv.BUILD_TYPE," &_
|
| 5759 |
dpurdie |
71 |
" NVL2(rc.rtag_id,1,0) as inuse," &_
|
|
|
72 |
" trunc(SYSDATE - pv.CREATED_STAMP + 0.5) as age" &_
|
|
|
73 |
" FROM PACKAGE_VERSIONS PV," &_
|
|
|
74 |
" USERS USR,"&_
|
|
|
75 |
" RELEASE_CONTENT rc" &_
|
| 5933 |
dpurdie |
76 |
" WHERE PV.MODIFIER_ID = USR.USER_ID(+) " &_
|
|
|
77 |
" AND PV.PKG_ID = :PKG_ID" &_
|
| 5759 |
dpurdie |
78 |
" AND pv.pv_id = rc.pv_id(+)" &_
|
| 5933 |
dpurdie |
79 |
" /*-- Manual Filter --*/" &_
|
|
|
80 |
" "& Construct_Filter ( parFLpkg_version, "pv.pkg_version" ) &_
|
|
|
81 |
" "& Construct_Filter ( parFLuser_name, "usr.user_name" ) &_
|
| 4703 |
dpurdie |
82 |
" "& rippleFilter &_
|
| 5933 |
dpurdie |
83 |
" /*------------------*/"
|
|
|
84 |
|
|
|
85 |
Get_All_Versions = Replace( Get_All_Versions, ":PKG_ID", nPkg_id)
|
| 119 |
ghuddy |
86 |
End Function
|
|
|
87 |
'-----------------------------------------------------------------------------------------------------------------------------------
|
|
|
88 |
Function Construct_Filter ( sPar_val, sCol_name )
|
| 5933 |
dpurdie |
89 |
Select Case sPar_val
|
|
|
90 |
Case Empty
|
|
|
91 |
Construct_Filter = "AND "& sCol_name &" IS NULL"
|
|
|
92 |
|
|
|
93 |
Case "*"
|
|
|
94 |
Construct_Filter = ""
|
|
|
95 |
|
|
|
96 |
Case Else
|
|
|
97 |
If InStr( sPar_val, "*") > 0 Then
|
|
|
98 |
' Asterisk found in string. Use LIKE
|
|
|
99 |
Construct_Filter = "AND "& sCol_name &" LIKE '"& Replace( sPar_val, "*", "%" ) &"'"
|
|
|
100 |
Else
|
|
|
101 |
' No asterisk. Use =
|
|
|
102 |
Construct_Filter = "AND "& sCol_name &" = '"& sPar_val &"'"
|
|
|
103 |
End If
|
|
|
104 |
|
|
|
105 |
End Select
|
|
|
106 |
|
| 119 |
ghuddy |
107 |
End Function
|
|
|
108 |
'-----------------------------------------------------------------------------------------------------------------------------------
|
|
|
109 |
Function Is_Filter_In_Use ( sFilters )
|
| 5933 |
dpurdie |
110 |
Dim filters, filterName
|
|
|
111 |
Is_Filter_In_Use = FALSE
|
|
|
112 |
|
|
|
113 |
filters = Split( Replace( sFilters, " ", "" ), "," )
|
|
|
114 |
|
|
|
115 |
For Each filterName In filters
|
|
|
116 |
If Request( filterName ) <> "*" Then
|
|
|
117 |
Is_Filter_In_Use = TRUE
|
|
|
118 |
Exit For
|
|
|
119 |
End If
|
|
|
120 |
Next
|
|
|
121 |
|
| 119 |
ghuddy |
122 |
End Function
|
|
|
123 |
'-----------------------------------------------------------------------------------------------------------------------------------
|
| 6977 |
dpurdie |
124 |
Function Set_Row_Style ( sClass, pvid )
|
|
|
125 |
Set_Row_Style = "class='pointer selectVersion "& sClass &"' data-pvid='" & pvid &"'"
|
| 5190 |
dpurdie |
126 |
End Function
|
|
|
127 |
'-----------------------------------------------------------------------------------------------------------------------------------
|
| 119 |
ghuddy |
128 |
%>
|
| 5173 |
dpurdie |
129 |
<!--#include file="_jquery_includes.asp"-->
|
|
|
130 |
<script language="JavaScript" type="text/JavaScript">
|
|
|
131 |
function useThisVersion (pkgName, pkgVersion, rtagId, oldPvid, newPvid) {
|
|
|
132 |
console.log("useThisVersion:", pkgName, pkgVersion);
|
|
|
133 |
debugger;
|
|
|
134 |
//alert ("Use this version");
|
|
|
135 |
$( "#dialog-confirm" ).dialog({
|
|
|
136 |
position: { my: "top", at: "top+100", of: window },
|
|
|
137 |
modal: true,
|
|
|
138 |
draggable: true,
|
|
|
139 |
resizable: true,
|
|
|
140 |
dialogClass: "rounded_box",
|
|
|
141 |
height:250,
|
|
|
142 |
width:350,
|
|
|
143 |
buttons: {
|
|
|
144 |
"Direct": function() {
|
|
|
145 |
window.opener.document.location="_new_version.asp?OLDpv_id=" + oldPvid + "&rtag_id=" + rtagId + "&pv_id=" + newPvid
|
|
|
146 |
self.close();
|
|
|
147 |
$( this ).dialog( "close" );
|
|
|
148 |
},
|
|
|
149 |
"Pending": function() {
|
|
|
150 |
window.opener.document.location="_new_version.asp?OLDpv_id=" + oldPvid + "&rtag_id=" + rtagId + "&pv_id=" + newPvid + '&iMode=pending';
|
|
|
151 |
self.close();
|
|
|
152 |
$( this ).dialog( "close" );
|
|
|
153 |
},
|
|
|
154 |
Cancel: function() {
|
|
|
155 |
$( this ).dialog( "close" );
|
|
|
156 |
}
|
|
|
157 |
},
|
|
|
158 |
open: function() {
|
|
|
159 |
$(this).siblings('.ui-dialog-buttonpane').find('button:eq(2)').focus();
|
|
|
160 |
}
|
|
|
161 |
});
|
|
|
162 |
|
|
|
163 |
return false;
|
|
|
164 |
}
|
| 5190 |
dpurdie |
165 |
|
| 5933 |
dpurdie |
166 |
// Scroll to package
|
|
|
167 |
// Order of preference
|
|
|
168 |
// index - location of last package deleted
|
|
|
169 |
// index-1 - Near last pakage deleted
|
|
|
170 |
// pvid - PVID being viewed
|
|
|
171 |
// oldPVID - PVID Deleted
|
|
|
172 |
function scrollToPvId() {
|
|
|
173 |
var oldpvid = Number('<%=parOLDpv_id%>');
|
|
|
174 |
var pvid = Number('<%=parPv_id%>');
|
|
|
175 |
var idx = Number('<%=parIndex%>');
|
|
|
176 |
var els;
|
|
|
177 |
|
|
|
178 |
if (idx > 0) {
|
|
|
179 |
els = document.getElementById('IDX_' + idx.toString() );
|
|
|
180 |
if (!els) {
|
|
|
181 |
idx = idx -1;
|
|
|
182 |
els = document.getElementById('IDX_' + idx.toString() );
|
|
|
183 |
}
|
|
|
184 |
}
|
|
|
185 |
|
|
|
186 |
if (!els) els = document.getElementById('PVID_' + pvid.toString() );
|
|
|
187 |
if (!els)els = document.getElementById('PVID_' + oldpvid.toString() );
|
|
|
188 |
if (els) els.scrollIntoView();
|
|
|
189 |
}
|
|
|
190 |
|
|
|
191 |
// Set the height of the two areas in the History Window
|
|
|
192 |
// Note: Divs may not always be available.
|
|
|
193 |
function setLayerHeight () {
|
|
|
194 |
try {
|
|
|
195 |
var h = screen.height;
|
|
|
196 |
MM_findObj("LayerVersions").style.height = (h-300)/2 +"px";
|
|
|
197 |
MM_findObj("LayerDetails").style.height = (h-300)/2 +"px";
|
|
|
198 |
} catch(e) {
|
|
|
199 |
}
|
| 6977 |
dpurdie |
200 |
}
|
|
|
201 |
|
|
|
202 |
// Attach events
|
|
|
203 |
$(document).ready(function() {
|
| 5933 |
dpurdie |
204 |
|
| 6977 |
dpurdie |
205 |
// This function is invoked when the user clicks within a row
|
|
|
206 |
// The click will re-load and reposition the version history to the selected version
|
|
|
207 |
// The problem is that the 'Destroy Version' interacts with this.
|
|
|
208 |
// Also the mailto operation interacts with this
|
|
|
209 |
// Solution: The DestroyVersion is an image within a 'td'.
|
|
|
210 |
// If the 'td' has a class of nogo, then don't navigate
|
|
|
211 |
$('.selectVersion').on('click', function () {
|
|
|
212 |
|
|
|
213 |
if ($(event.target).closest('td').hasClass('nogo') || $(event.target).closest('span').hasClass('mailto') ) {
|
|
|
214 |
return;
|
|
|
215 |
}
|
|
|
216 |
|
|
|
217 |
var tr = $(this).closest('tr');
|
|
|
218 |
var pvid = $(tr).data('pvid');
|
|
|
219 |
var isaPatch = $(tr).hasClass('isaPatch');
|
|
|
220 |
var URLstring = <%="'" & Persists_Query_String_Trim( "","index,pv_id" ) & "'" %>;
|
|
|
221 |
var script;
|
|
|
222 |
|
|
|
223 |
if ( isaPatch ) {
|
|
|
224 |
script = '_wform_versions_history_release_notes.asp';
|
|
|
225 |
} else {
|
|
|
226 |
script = <%= "'" & scriptName & "'" %>
|
|
|
227 |
}
|
|
|
228 |
URLstring = script + '?' + URLstring + 'pv_id=' + pvid;
|
|
|
229 |
location.href = URLstring;
|
|
|
230 |
});
|
|
|
231 |
|
|
|
232 |
// This function will add a listener to allow a user to download the Release Notes
|
|
|
233 |
// If the target does not exist, then it will redirect to a 404 error :(
|
|
|
234 |
$('.downloadNotes').on('click', function (){
|
|
|
235 |
var notes = $(this).data('rnote');
|
|
|
236 |
var tr = $(this).closest('tr');
|
|
|
237 |
var pvid = $(tr).data('pvid');
|
|
|
238 |
var URLstring = <%="'" & HTTP_PKG_ARCHIVE & "'" %> + notes;
|
|
|
239 |
|
|
|
240 |
// Open in a new window
|
|
|
241 |
window.open(URLstring, '_blank');
|
|
|
242 |
});
|
|
|
243 |
|
|
|
244 |
// Add a listener for destroyVersion events
|
|
|
245 |
$('.destroyVersion').on('click', function (){
|
|
|
246 |
var tr = $(this).closest('tr');
|
|
|
247 |
var pvid = $(tr).data('pvid');
|
|
|
248 |
var idx = $(tr).data('idx');
|
|
|
249 |
|
|
|
250 |
var data = {
|
|
|
251 |
pv_id : pvid,
|
|
|
252 |
bfile : "<%=ScriptName%>",
|
|
|
253 |
rtag_id : "<%=parRtag_id%>",
|
|
|
254 |
FLuser_name : "<%=parFLuser_name%>",
|
|
|
255 |
FLpkg_version : "<%=parFLpkg_version%>",
|
|
|
256 |
rfile : "<%=parRfile%>",
|
|
|
257 |
pkg_id : "<%=parPkg_id%>",
|
|
|
258 |
OLDpv_id : "<%=parOLDpv_id%>",
|
|
|
259 |
index : idx };
|
|
|
260 |
var param = $.param(data);
|
|
|
261 |
MM_openVixIFrame('_destroy_package.asp?' + param, 'Destroy Package Version')
|
|
|
262 |
});
|
|
|
263 |
|
|
|
264 |
});
|
|
|
265 |
|
| 5933 |
dpurdie |
266 |
//# sourceURL=_version_browser_1.asp
|
| 5173 |
dpurdie |
267 |
</script>
|
|
|
268 |
|
| 5933 |
dpurdie |
269 |
<!--------------- ACTION BUTTONS -------------------------->
|
| 5904 |
dpurdie |
270 |
<div style="width:100vw;">
|
| 5933 |
dpurdie |
271 |
<form name="filter" method="get" action="<%=scriptName%>">
|
|
|
272 |
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
| 119 |
ghuddy |
273 |
<tr>
|
| 6877 |
dpurdie |
274 |
<td width="1" valign="middle" class='bg_dialog'><img src="images/spacer.gif" width="5" height="35"></td>
|
|
|
275 |
<td width="100%" valign="middle" class='bg_dialog'><%
|
| 5082 |
dpurdie |
276 |
Dim bEnableUse : bEnableUse = FALSE
|
| 5933 |
dpurdie |
277 |
If Request("rtag_id") = "" OR _
|
|
|
278 |
Request("pv_id") = "" OR _
|
| 5173 |
dpurdie |
279 |
parOLDpv_id = ParPv_id OR _
|
| 5933 |
dpurdie |
280 |
bIsPatch OR _
|
| 5082 |
dpurdie |
281 |
(NOT bCanInsertPkg) OR _
|
| 5933 |
dpurdie |
282 |
(NOT objAccessControl.UserLogedIn) OR _
|
| 5178 |
dpurdie |
283 |
(NOT releaseIsWritable(ReleaseMode)) _
|
| 5933 |
dpurdie |
284 |
Then
|
| 5082 |
dpurdie |
285 |
bEnableUse = FALSE
|
| 5933 |
dpurdie |
286 |
Else
|
| 5082 |
dpurdie |
287 |
bEnableUse = TRUE
|
| 5933 |
dpurdie |
288 |
End If
|
| 5082 |
dpurdie |
289 |
|
|
|
290 |
If bEnableUse Then
|
| 5173 |
dpurdie |
291 |
%>
|
|
|
292 |
<div id='dialog-confirm' title="Confirm version change" style="display:none">
|
|
|
293 |
<p>Replace the current version of package <%=sPkg_Name%> with Version <%=sPkg_Version%>.
|
|
|
294 |
<p>The new version may be added directly into the release or the change may be made pending.
|
|
|
295 |
</div>
|
|
|
296 |
<%
|
|
|
297 |
Response.write "<a href=';' onClick='return useThisVersion("""& sPkg_Name &""","""& sPkg_Version & """,""" & parRtag_id & ""","""& parOLDpv_id & """,""" & parPv_id & """);'><img src='images/abtn_use_this_version.gif' title='Use this version in project release.' width='107' height='25' hspace='1' border='0'></a>"
|
| 5082 |
dpurdie |
298 |
Else
|
| 5933 |
dpurdie |
299 |
Response.write "<img src='images/abtn_use_this_version_off.gif' width='108' height='26' hspace='1' border='0'>"
|
| 5082 |
dpurdie |
300 |
End If
|
| 5933 |
dpurdie |
301 |
|
|
|
302 |
Response.write "<img src='images/spacer.gif' width='25' height='25'>"
|
|
|
303 |
If filterInUse Then
|
| 6827 |
dpurdie |
304 |
Response.write "<input type='image' name='btn' src='images/abtn_filter_on.gif' width='25' height='25' border='0' title='Apply filter. (Filter is in use!)'>"
|
| 5933 |
dpurdie |
305 |
Else
|
| 6827 |
dpurdie |
306 |
Response.write "<input type='image' name='btn' src='images/abtn_filter.gif' width='25' height='25' border='0' title='Apply filter'>"
|
| 5933 |
dpurdie |
307 |
End If
|
| 6879 |
dpurdie |
308 |
Response.write "<span class=pointer onClick=""location.href='"& scriptName &"?"& Persists_Query_String( "filter_reset=true" ) &"'""><img src='images/abtn_remove_filter.gif' title='Remove filter' width='25' height='25' hspace='2' border='0'></span>"
|
| 4703 |
dpurdie |
309 |
|
| 5933 |
dpurdie |
310 |
Response.write "<img src='images/spacer.gif' width='25' height='25'>"
|
| 6827 |
dpurdie |
311 |
Response.write "<span class=pointer onClick=""location.href='"& scriptName &"?"& Persists_Query_String( "hideRipple=" & not hideRipple ) &"'"">"
|
| 5933 |
dpurdie |
312 |
If hideRipple Then
|
|
|
313 |
Response.write "<img src='images/RippleSquareOff.gif' width='25' height='25' border='0' title='Rippled Versions Hidden. Toggle'>"
|
|
|
314 |
Else
|
|
|
315 |
Response.write "<img src='images/RippleSquare.gif' width='25' height='25' border='0' title='Rippled Versions Shown. Toggle'>"
|
|
|
316 |
End If
|
| 6827 |
dpurdie |
317 |
Response.write "</span>"
|
| 4703 |
dpurdie |
318 |
|
| 5933 |
dpurdie |
319 |
%></td>
|
| 6877 |
dpurdie |
320 |
<td width="1" valign="middle" class='bg_dialog pointer' onClick="window.opener.document.location='dependencies.asp?pv_id=<%=parPv_id%>';self.close();"><img src="images/abtn_open.gif" width="46" height="25" hspace="5" border="0" alt="Open In Parent Window."></td>
|
|
|
321 |
<td width="1" valign="middle" class='bg_dialog pointer' onClick="self.close();"><img src="images/abtn_close.gif" width="46" height="25" hspace="5" border="0" alt="Close this window."></td>
|
| 119 |
ghuddy |
322 |
</tr>
|
|
|
323 |
</table>
|
| 5933 |
dpurdie |
324 |
<!--------------------- CAPTION ---------------------------->
|
|
|
325 |
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
|
|
326 |
<tr>
|
|
|
327 |
<td class="lbox_ttl_b" background="images/bg_action_dark.gif" align="center"><%=sPkg_Name%></td>
|
|
|
328 |
</tr>
|
| 119 |
ghuddy |
329 |
</table>
|
| 5933 |
dpurdie |
330 |
<!------------------ VERSION LIST -------------------------->
|
| 119 |
ghuddy |
331 |
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
|
|
332 |
<tr>
|
| 6877 |
dpurdie |
333 |
<td class='bg_dialog'>
|
| 5904 |
dpurdie |
334 |
<div id="LayerVersions" style="height: 350px; width:100vw; overflow: auto;" name="LayerVersions">
|
| 119 |
ghuddy |
335 |
<table width="100%" border="0" cellspacing="1" cellpadding="2">
|
| 6977 |
dpurdie |
336 |
<thead>
|
|
|
337 |
<th width="1" nowrap background="images/bg_action_dark.gif"><img src="images/spacer.gif" width="15" height="10"></th>
|
|
|
338 |
<th width="1" nowrap background="images/bg_action_dark.gif"> </th>
|
|
|
339 |
<th width="1" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Version <br><input name="FLpkg_version" type="text" class="form_ifilter" value="<%=parFLpkg_version%>" size="15"></th>
|
|
|
340 |
<th width="1" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Last Mod. Date </th>
|
|
|
341 |
<th width="100%" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Reason for this version</th>
|
|
|
342 |
<th width="1" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Last Modified <br><input name="FLuser_name" type="text" class="form_ifilter" value="<%=parFLuser_name%>" size="15"></th>
|
|
|
343 |
<th width="1" nowrap background="images/bg_action_dark.gif"></th>
|
|
|
344 |
<th width="1" nowrap background="images/bg_action_dark.gif"></th>
|
|
|
345 |
</thead>
|
| 5933 |
dpurdie |
346 |
<%
|
|
|
347 |
Dim aVersions, lastRow, i, objSortHelper, idx
|
|
|
348 |
|
|
|
349 |
Set rsVB = OraDatabase.DbCreateDynaset( Get_All_Versions ( parPkg_id ), cint(0))
|
|
|
350 |
|
|
|
351 |
' Descending order
|
|
|
352 |
If rsVB.RecordCount > 0 Then
|
|
|
353 |
aVersions = rsVB.GetRows()
|
|
|
354 |
lastRow = UBound( aVersions, 2 )
|
|
|
355 |
|
|
|
356 |
Set objSortHelper = New SortHelper
|
|
|
357 |
|
|
|
358 |
|
|
|
359 |
' Sort versions
|
|
|
360 |
Call objSortHelper.VersionSort( aVersions, 0, lastRow, rsVB.FieldIndex("pkg_version") )
|
|
|
361 |
|
|
|
362 |
CanDestroyProjectPackage = canShowControlInProject ( "DestroyPackage" )
|
|
|
363 |
|
|
|
364 |
' Descending order
|
|
|
365 |
idx = 0
|
|
|
366 |
For i = lastRow To 0 Step -1
|
|
|
367 |
idx = idx + 1
|
| 4703 |
dpurdie |
368 |
|
| 5933 |
dpurdie |
369 |
%>
|
|
|
370 |
<% ' Highlight row case
|
|
|
371 |
rowColor = IMGBG_ROW
|
|
|
372 |
imgPointer = ""
|
|
|
373 |
If CStr( aVersions( rsVB.FieldIndex("pv_id"), i ) ) = parPv_id Then
|
|
|
374 |
rowColor = IMGBG_ROW_HI
|
|
|
375 |
imgPointer = IMG_PONTER
|
|
|
376 |
End If
|
|
|
377 |
|
|
|
378 |
' Official/Unofficial case
|
|
|
379 |
imgLock = IMG_NOT_OFFICIAL
|
|
|
380 |
'fieldRelease_Date = ""
|
|
|
381 |
'fieldReleased_By = ""
|
| 6873 |
dpurdie |
382 |
If (aVersions( rsVB.FieldIndex("build_type"), i ) = "U") Then
|
|
|
383 |
imgLock = IMG_NOT_BUILDABLE
|
|
|
384 |
ElseIf (aVersions( rsVB.FieldIndex("dlocked"), i ) = "Y") Then
|
| 5933 |
dpurdie |
385 |
imgLock = IMG_OFFICIAL
|
| 5902 |
dpurdie |
386 |
ElseIf (aVersions( rsVB.FieldIndex("dlocked"), i ) = "A") Then
|
| 5933 |
dpurdie |
387 |
imgLock = IMG_PENDING
|
|
|
388 |
End If
|
|
|
389 |
|
|
|
390 |
fieldRelease_Date = DisplayShortDateTime ( aVersions( rsVB.FieldIndex("modified_stamp"), i ) )
|
| 6612 |
dpurdie |
391 |
fieldReleased_By = emailField(enum_imgUser & aVersions( rsVB.FieldIndex("full_name"), i ), aVersions( rsVB.FieldIndex("user_email"), i ))
|
| 5933 |
dpurdie |
392 |
|
|
|
393 |
' Full Release Notes availability
|
|
|
394 |
fieldDownloadFullReleaseNotes = ""
|
|
|
395 |
If NOT IsNull( aVersions( rsVB.FieldIndex("release_notes_info"), i ) ) OR ( InStr( aVersions( rsVB.FieldIndex("release_notes_info"), i ), "MGS:") < 1) Then
|
| 6977 |
dpurdie |
396 |
fieldDownloadFullReleaseNotes = "<img src='images/i_download_small.gif' title='Download full release notes.' width='16' height='16' hspace='2' border='0' class='pointer downloadNotes' data-rnote='"&aVersions( rsVB.FieldIndex("release_notes_info"), i )&"'>"
|
| 5933 |
dpurdie |
397 |
End If
|
|
|
398 |
|
|
|
399 |
pvidName = "PVID_"& aVersions( rsVB.FieldIndex("pv_id"), i )
|
|
|
400 |
idxName = "IDX_" & idx
|
|
|
401 |
If aVersions( rsVB.FieldIndex("is_patch"), i ) = "Y" Then
|
| 6977 |
dpurdie |
402 |
URLstring = "isaPatch"
|
| 5933 |
dpurdie |
403 |
Else
|
| 6977 |
dpurdie |
404 |
URLstring = ""
|
| 5933 |
dpurdie |
405 |
End If
|
|
|
406 |
|
| 5759 |
dpurdie |
407 |
' User can try to delete package iff
|
|
|
408 |
' Have suffiecient access (unusual)
|
|
|
409 |
' They created it or own it
|
| 5902 |
dpurdie |
410 |
' The version is not in use by any release (allow to be in pending or WIP)
|
| 5759 |
dpurdie |
411 |
' [Not at the moment] The package was created less than xxxx days ago
|
| 5902 |
dpurdie |
412 |
' Is not locked or [Not at the moment] Approved for Autobuild
|
|
|
413 |
CanDestroyPackage = CanDestroyProjectPackage
|
|
|
414 |
If NOT CanDestroyPackage Then
|
|
|
415 |
If (objAccessControl.UserId = aVersions( rsVB.FieldIndex("CREATOR_ID"), i )) OR (objAccessControl.UserId = aVersions( rsVB.FieldIndex("OWNER_ID"), i ))Then
|
| 5759 |
dpurdie |
416 |
If aVersions( rsVB.FieldIndex("inuse"), i ) = 0 Then
|
|
|
417 |
'If aVersions( rsVB.FieldIndex("age") , i ) < 1000 Then
|
|
|
418 |
If aVersions( rsVB.FieldIndex("dlocked"), i ) <> "Y" Then
|
| 5902 |
dpurdie |
419 |
'If aVersions( rsVB.FieldIndex("dlocked"), i ) <> "A" Then
|
| 5759 |
dpurdie |
420 |
CanDestroyPackage = true
|
| 5902 |
dpurdie |
421 |
'End If
|
| 5759 |
dpurdie |
422 |
End If
|
|
|
423 |
'End If
|
|
|
424 |
End If
|
|
|
425 |
End If
|
|
|
426 |
End If
|
| 5933 |
dpurdie |
427 |
|
|
|
428 |
' Set destroy package action
|
|
|
429 |
If CanDestroyPackage Then
|
| 6977 |
dpurdie |
430 |
DestroyPackage = "<span class='destroyVersion'"&_
|
|
|
431 |
" title='Destroy this version of the package.'> "&_
|
| 6827 |
dpurdie |
432 |
" <img src='icons/i_destroy_package_sml.gif' width='15' height='15' border='0' ><span>"
|
| 5759 |
dpurdie |
433 |
Else
|
|
|
434 |
DestroyPackage = ""
|
| 5933 |
dpurdie |
435 |
End If
|
|
|
436 |
%>
|
| 6977 |
dpurdie |
437 |
<tr id='<%=idxName%>' data-idx='<%=idx%>' <%=Set_Row_Style ( URLstring, CStr( aVersions( rsVB.FieldIndex("pv_id"), i ) ) )%>>
|
| 5933 |
dpurdie |
438 |
<td align="right" background="images/bg_action_dark.gif"><%=imgPointer%><span id="<%=pvidName%>"></span></td>
|
| 119 |
ghuddy |
439 |
<td align="center" valign="top" <%=rowColor%>><%=imgLock%></td>
|
| 5933 |
dpurdie |
440 |
<td valign="top" nowrap <%=rowColor%>><a href="<%=URLstring%>" class="txt_linked"><%=aVersions( rsVB.FieldIndex("pkg_version"), i )%></a></td>
|
| 119 |
ghuddy |
441 |
<td valign="top" nowrap <%=rowColor%> class="form_item"><%=fieldRelease_Date%></td>
|
|
|
442 |
<td valign="top" <%=rowColor%> class="form_item"><%=NewLine_To_BR ( To_HTML( aVersions( rsVB.FieldIndex("comments"), i ) ) )%></td>
|
|
|
443 |
<td valign="top" nowrap <%=rowColor%> class="form_item"><%=fieldReleased_By%></td>
|
| 6977 |
dpurdie |
444 |
<td align="center" valign="top" class="nogo" <%=rowColor%>><%=fieldDownloadFullReleaseNotes%></td>
|
| 5933 |
dpurdie |
445 |
<td align="center" valign="top" class="nogo" <%=rowColor%>><%=DestroyPackage%></td>
|
| 119 |
ghuddy |
446 |
</tr>
|
| 5933 |
dpurdie |
447 |
<%
|
|
|
448 |
Next
|
|
|
449 |
End If
|
|
|
450 |
%>
|
| 119 |
ghuddy |
451 |
</table>
|
|
|
452 |
</div></td>
|
|
|
453 |
</tr>
|
|
|
454 |
</table>
|
| 5933 |
dpurdie |
455 |
<input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
|
|
|
456 |
<input type="hidden" name="pkg_id" value="<%=parPkg_id%>">
|
|
|
457 |
<input type="hidden" name="rfile" value="<%=parRfile%>">
|
|
|
458 |
<input type="hidden" name="OLDpv_id" value="<%=parOLDpv_id%>">
|
|
|
459 |
<input type="hidden" name="pv_id" value="<%=parPv_id%>">
|
|
|
460 |
<input type="hidden" name="filter_reset" value="">
|
|
|
461 |
</form>
|
| 5904 |
dpurdie |
462 |
</div>
|
| 119 |
ghuddy |
463 |
|
| 5933 |
dpurdie |
464 |
|
| 5173 |
dpurdie |
465 |
|