Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
119 ghuddy 1
<%
2
'===============================================================
3
'					 Version Browser
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
14
Dim anchorName
15
Dim filterInUse
4703 dpurdie 16
Dim hideRipple
17
Dim rippleFilter
119 ghuddy 18
Dim DestroyPackage
19
Dim CanDestroyPackage
20
'------------ Constants Declaration -----------
21
Const IMGBG_ROW_HI = "background='images/bg_row_hi.gif'"
22
Const IMGBG_ROW = "bgcolor='#FFFFFF'"
23
Const IMG_PONTER = "<img src='images/i_pointer.gif' width='6' height='11' hspace='3'>"
24
Const IMG_OFFICIAL = "<img src='images/i_locked.gif' width='7' height='10' hspace='5' vspace='2' alt='Package is official'>"
25
Const IMG_NOT_OFFICIAL = "<img src='images/spacer.gif' width='7' height='10' hspace='5' vspace='2'>"
26
Const IMG_DOWNLOAD = "<img src='images/i_download_small.gif' alt='Download full release notes.' width='16' height='16' hspace='2' border='0'>"
27
'------------ Variable Init -------------------
28
If Request("filter_reset") <> "" Then 
29
	parFLpkg_version = "*"
30
	parFLuser_name	 = "*"
31
	filterInUse = FALSE
32
Else
33
	parFLpkg_version = Request( "FLpkg_version" )
34
	parFLuser_name	 = Request( "FLuser_name" )
35
	filterInUse = Is_Filter_In_Use ( "FLpkg_version, FLuser_name" )
36
End If
4703 dpurdie 37
 
38
If Request("hideRipple") = "True" Then 
39
	hideRipple = True
40
    rippleFilter = "AND PV.BUILD_TYPE != 'Y'"
41
Else
42
	hideRipple = False
43
    rippleFilter = ""
44
End If
45
 
119 ghuddy 46
'----------------------------------------------
47
%>
48
<%
49
'-----------------------------------------------------------------------------------------------------------------------------------
50
Function Get_All_Versions ( nPkg_id )
51
	Get_All_Versions = _
4703 dpurdie 52
	" SELECT PV.PV_ID, PV.PKG_VERSION, PV.DLOCKED, PV.MODIFIED_STAMP, USR.FULL_NAME, usr.user_name, USR.USER_EMAIL, PV.COMMENTS, PV.PKG_LABEL, PV.IS_PATCH, PV.RELEASE_NOTES_INFO, PV.BUILD_TYPE "&_
119 ghuddy 53
	"   FROM PACKAGE_VERSIONS PV, USERS USR "&_
54
	"  WHERE PV.MODIFIER_ID = USR.USER_ID "&_
55
	"    AND PV.PKG_ID = :PKG_ID"&_
56
	"    /*-- Manual Filer --*/"&_
57
	"    "& Construct_Filter ( parFLpkg_version, "pv.pkg_version" ) &_
58
	"    "& Construct_Filter ( parFLuser_name, "usr.user_name" ) &_
4703 dpurdie 59
    "    "& rippleFilter &_
119 ghuddy 60
	"    /*------------------*/"
61
 
62
	Get_All_Versions = Replace( Get_All_Versions, ":PKG_ID", nPkg_id)
63
End Function
64
'-----------------------------------------------------------------------------------------------------------------------------------
65
Function Construct_Filter ( sPar_val, sCol_name )
66
	Select Case sPar_val
67
	Case Empty
68
		Construct_Filter = "AND "& sCol_name &" IS NULL"
69
 
70
	Case "*"
71
		Construct_Filter = ""
72
 
73
	Case Else
74
		If InStr( sPar_val, "*") > 0 Then
75
			' Asterisk found in string. Use LIKE
76
			Construct_Filter = "AND "& sCol_name &" LIKE '"& Replace( sPar_val, "*", "%" ) &"'"
77
		Else
78
			' No asterisk. Use =
79
			Construct_Filter = "AND "& sCol_name &" = '"& sPar_val &"'"
80
		End If
81
 
82
	End Select
83
 
84
End Function
85
'-----------------------------------------------------------------------------------------------------------------------------------
86
Function Is_Filter_In_Use ( sFilters )
87
	Dim filters, filterName
88
	Is_Filter_In_Use = FALSE
89
 
90
	filters = Split( Replace( sFilters, " ", "" ), "," )
91
 
92
	For Each filterName In filters
93
		If Request( filterName ) <> "*" Then 
94
			Is_Filter_In_Use = TRUE
95
			Exit For
96
		End If
97
	Next
98
 
99
End Function
100
'-----------------------------------------------------------------------------------------------------------------------------------
101
%>
5173 dpurdie 102
<!--#include file="_jquery_includes.asp"-->
103
<script language="JavaScript" type="text/JavaScript">
104
function useThisVersion (pkgName, pkgVersion, rtagId, oldPvid, newPvid) {
105
    console.log("useThisVersion:", pkgName, pkgVersion);
106
    debugger;
107
    //alert ("Use this version");
108
    $( "#dialog-confirm" ).dialog({
109
      position: { my: "top", at: "top+100", of: window },
110
      modal: true,
111
      draggable: true,
112
      resizable: true,
113
      dialogClass: "rounded_box",
114
      height:250,
115
      width:350,
116
      buttons: {
117
        "Direct": function() {
118
          window.opener.document.location="_new_version.asp?OLDpv_id=" + oldPvid + "&rtag_id=" + rtagId + "&pv_id=" + newPvid
119
          self.close();
120
          $( this ).dialog( "close" );
121
        },
122
        "Pending": function() {
123
          window.opener.document.location="_new_version.asp?OLDpv_id=" + oldPvid + "&rtag_id=" + rtagId + "&pv_id=" + newPvid + '&iMode=pending';
124
          self.close();
125
          $( this ).dialog( "close" );
126
        },
127
        Cancel: function() {
128
          $( this ).dialog( "close" );
129
        }
130
      },
131
      open: function() {
132
          $(this).siblings('.ui-dialog-buttonpane').find('button:eq(2)').focus(); 
133
      }
134
    });
135
 
136
    return false;
137
}
138
//# sourceURL=_version_browser_1.asp	
139
</script>
140
 
119 ghuddy 141
	  <!--------------- ACTION BUTTONS -------------------------->
142
	  <form name="filter" method="get" action="<%=scriptName%>">
143
	  <table width="100%" border="0" cellspacing="0" cellpadding="0">
144
        <tr>
145
          <td width="1" valign="middle" background="images/bg_action_norm.gif"><img src="images/spacer.gif" width="5" height="35"></td>
146
          <td width="100%" valign="middle" background="images/bg_action_norm.gif"><%
5082 dpurdie 147
          Dim bEnableUse : bEnableUse = FALSE
119 ghuddy 148
		  If Request("rtag_id") = ""  OR  _
149
		  	 Request("pv_id") = "" OR _
5173 dpurdie 150
             parOLDpv_id = ParPv_id OR _
119 ghuddy 151
			 bIsPatch OR _
5082 dpurdie 152
             (NOT bCanInsertPkg) OR _
119 ghuddy 153
			 (NOT objAccessControl.UserLogedIn) OR _
5061 dpurdie 154
			 (NOT canActionInProject() ) OR _
4084 dpurdie 155
			 (ReleaseMode = enumDB_RELEASE_IN_CLOSED_MODE) OR _
156
			 (ReleaseMode = enumDB_RELEASE_IN_ARCHIVE_MODE) OR _
5177 dpurdie 157
			 (ReleaseMode = enumDB_RELEASE_IN_PRESERVE_MODE) OR _
5082 dpurdie 158
			 (ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE AND NOT canActionControlInProject("AlterReleaseContentsInRestrictiveMode")) OR _
159
			 (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE AND NOT canActionControlInProject("AlterReleaseContentsInRestrictiveMode")) _
119 ghuddy 160
		  Then
5082 dpurdie 161
                bEnableUse = FALSE
119 ghuddy 162
		  Else
5082 dpurdie 163
                bEnableUse = TRUE
119 ghuddy 164
		  End If
5082 dpurdie 165
 
166
          If bEnableUse Then
5173 dpurdie 167
          %>
168
          <div id='dialog-confirm' title="Confirm version change" style="display:none">
169
          <p>Replace the current version of package <%=sPkg_Name%> with Version <%=sPkg_Version%>.
170
          <p>The new version may be added directly into the release or the change may be made pending. 
171
          </div>
172
          <%
173
            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 174
          Else
175
		    Response.write "<img src='images/abtn_use_this_version_off.gif' width='108' height='26' hspace='1' border='0'>"
176
          End If
119 ghuddy 177
 
178
		  Response.write "<img src='images/spacer.gif' width='25' height='25'>"
179
		  If filterInUse Then
180
		  	Response.write "<input type='image' name='btn' src='images/abtn_filter_on.gif' width='25' height='25' border='0' alt='Apply filter. (Filter is in use!)'>"
181
		  Else
182
		    Response.write "<input type='image' name='btn' src='images/abtn_filter.gif' width='25' height='25' border='0' alt='Apply filter'>"
183
		  End If
184
		  Response.write "<a href='"& scriptName &"?"& Persists_Query_String( "filter_reset=true" ) &"'><img src='images/abtn_remove_filter.gif' alt='Remove filter' width='25' height='25' hspace='2' border='0'></a>"
4703 dpurdie 185
 
186
		  Response.write "<img src='images/spacer.gif' width='25' height='25'>"
187
          Response.write "<a href='"& scriptName &"?"& Persists_Query_String( "hideRipple=" & not hideRipple ) &"'>"
188
    		  If hideRipple Then
189
    		  	Response.write "<img src='images/RippleSquareOff.gif' width='25' height='25' border='0' title='Rippled Versions Hidden. Toggle'>"
190
    		  Else
191
    		    Response.write "<img src='images/RippleSquare.gif' width='25' height='25' border='0' title='Rippled Versions Shown. Toggle'>"
192
    		  End If
193
          Response.write "</a>"
194
 
119 ghuddy 195
		  %></td>
196
		  <td width="1" valign="middle" background="images/bg_action_norm.gif"><a href="javascript:;" 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."></a></td>
197
		  <td width="1" valign="middle" background="images/bg_action_norm.gif"><a href="javascript:;" onClick="self.close();"><img src="images/abtn_close.gif" width="46" height="25" hspace="5" border="0" alt="Close this window."></a></td>
198
        </tr>
199
      </table>
200
	  <!--------------------- CAPTION ---------------------------->
201
	  <table width="100%" border="0" cellspacing="0" cellpadding="0">
202
	    <tr>
203
	      <td class="lbox_ttl_b" background="images/bg_action_dark.gif" align="center"><%=sPkg_Name%></td>
204
		</tr>
205
      </table>
206
	  <!------------------ VERSION LIST -------------------------->
207
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
208
        <tr>
209
          <td background="images/bg_action_norm.gif"> 
210
            <div id="LayerVersions" style="height: 350px; overflow: auto;" name="LayerVersions"> 
211
              <table width="100%" border="0" cellspacing="1" cellpadding="2">
212
                <tr>
213
                  <td width="1" nowrap background="images/bg_action_dark.gif"><img src="images/spacer.gif" width="15" height="10"></td>
214
                  <td width="1" nowrap background="images/bg_action_dark.gif">&nbsp;</td>
215
                  <td width="1" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Version&nbsp;&nbsp;<br><input name="FLpkg_version" type="text" class="form_ifilter" value="<%=parFLpkg_version%>" size="15"></td>
216
                  <td width="1" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Last Mod. Date&nbsp;&nbsp;</td>
217
                  <td width="100%" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Reason for this version</td>
218
				  <td width="1" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Last Modified&nbsp;&nbsp;<br><input name="FLuser_name" type="text" class="form_ifilter" value="<%=parFLuser_name%>" size="15"></td>
219
                  <td width="1" nowrap background="images/bg_action_dark.gif"></td>
220
				  <td width="1" nowrap background="images/bg_action_dark.gif"></td>
221
                </tr>
222
				<%
223
				Dim aVersions, lastRow, i, objSortHelper
224
 
225
 
226
				Set rsVB = OraDatabase.DbCreateDynaset( Get_All_Versions ( parPkg_id ), cint(0))
227
 
228
 
229
 
230
 
231
			  	' Descending order
232
				If rsVB.RecordCount > 0 Then
233
				aVersions = rsVB.GetRows()
234
				lastRow = UBound( aVersions, 2 )
235
 
236
				Set objSortHelper = New SortHelper
237
 
238
 
239
				' Sort versions
240
				Call objSortHelper.VersionSort( aVersions, 0, lastRow, rsVB.FieldIndex("pkg_version") )
241
 
242
 
243
				DestroyPackage = ""
5061 dpurdie 244
				CanDestroyPackage = canShowControlInProject ( "DestroyPackage" )
119 ghuddy 245
 
246
			  	' Descending order
247
				For i = lastRow To 0 Step -1
4703 dpurdie 248
 
119 ghuddy 249
				%>
250
				<%	' Highlight row case
251
					rowColor = IMGBG_ROW
252
					imgPointer = ""
253
					If CStr( aVersions( rsVB.FieldIndex("pv_id"), i ) ) = parPv_id Then 
254
						rowColor = IMGBG_ROW_HI
255
						imgPointer = IMG_PONTER
256
					End If
257
 
258
					' Official/Unofficial case
259
					imgLock = IMG_NOT_OFFICIAL
260
					'fieldRelease_Date = ""
261
					'fieldReleased_By = ""
262
					If (aVersions( rsVB.FieldIndex("dlocked"), i ) = "Y")  OR (aVersions( rsVB.FieldIndex("dlocked"), i ) = "A") Then
263
						imgLock = IMG_OFFICIAL
264
					End If
265
 
266
					fieldRelease_Date = EuroDateTime ( aVersions( rsVB.FieldIndex("modified_stamp"), i ) )
267
					fieldReleased_By = "<a href='mailto:"& aVersions( rsVB.FieldIndex("user_email"), i ) &"' class='txt_linked'><img src='images/i_user.gif' width='10' height='13' hspace='2' border='0' align='absmiddle' alt='"& aVersions( rsVB.FieldIndex("full_name"), i ) &" &lt;"& aVersions( rsVB.FieldIndex("user_email"), i ) &"&gt;'>"& aVersions( rsVB.FieldIndex("user_name"), i ) &"</a>"
268
 
269
					' Full Release Notes availability
270
					fieldDownloadFullReleaseNotes = ""
271
					If NOT IsNull( aVersions( rsVB.FieldIndex("release_notes_info"), i ) ) OR ( InStr( aVersions( rsVB.FieldIndex("release_notes_info"), i ), "MGS:") < 1)  Then
177 brianf 272
						fieldDownloadFullReleaseNotes = "<a href='"& HTTP_PKG_ARCHIVE & aVersions( rsVB.FieldIndex("release_notes_info"), i ) &"' target='_blank'><img src='images/i_download_small.gif' alt='Download full release notes.' width='16' height='16' hspace='2' border='0'></a>"
119 ghuddy 273
					End If
274
 
275
					anchorName = "ANC_"& aVersions( rsVB.FieldIndex("pv_id"), i )
276
					If aVersions( rsVB.FieldIndex("is_patch"), i ) = "Y" Then
277
						URLstring = "_wform_versions_history_release_notes.asp?"& Persists_Query_String( "pv_id="& aVersions( rsVB.FieldIndex("pv_id"), i ) ) &"#"& anchorName
278
					Else
279
						URLstring = scriptName &"?"& Persists_Query_String( "pv_id="& aVersions( rsVB.FieldIndex("pv_id"), i ) ) &"#"& anchorName
280
					End If
281
 
282
 
283
					' Set destroy package action
284
					If CanDestroyPackage Then
285
						DestroyPackage = "<a href='_destroy_package.asp?pv_id="& aVersions( rsVB.FieldIndex("pv_id"), i )  &"&bfile="& ScriptName &"&rtag_id="& parRtag_id &"&FLuser_name="& parFLuser_name &"&FLpkg_version="& parFLpkg_version &"&rfile="& parRfile &"&pkg_id="& parPkg_id &"&OLDpv_id="& parOLDpv_id &"' "&_
286
										 " title='Destroy this package from the database.' "&_
287
										 " onClick='return confirmAction(""You are about to destroy ["& sPkg_Name &" "& aVersions( rsVB.FieldIndex("pkg_version"), i ) &"]. You cannot undo this operation.\nDo you want to proceed?"");' ><img src='icons/i_destroy_package_sml.gif' width='15' height='15' border='0' ><a>"
288
					End If
289
				%>
290
                <tr <%=Set_Row_Style ( URLstring )%>> 
291
                  <td align="right" background="images/bg_action_dark.gif"><%=imgPointer%></td>
292
                  <td align="center" valign="top" <%=rowColor%>><%=imgLock%></td>
293
                  <td valign="top" nowrap <%=rowColor%>><a name="<%=anchorName%>"></a><a href="<%=URLstring%>" class="txt_linked"><%=aVersions( rsVB.FieldIndex("pkg_version"), i )%></a></td>
294
                  <td valign="top" nowrap <%=rowColor%> class="form_item"><%=fieldRelease_Date%></td>
295
                  <td valign="top" <%=rowColor%> class="form_item"><%=NewLine_To_BR ( To_HTML( aVersions( rsVB.FieldIndex("comments"), i ) ) )%></td>
296
                  <td valign="top" nowrap <%=rowColor%> class="form_item"><%=fieldReleased_By%></td>
297
                  <td align="center" valign="top" <%=rowColor%>><%=fieldDownloadFullReleaseNotes%></td>
298
				  <td align="center" valign="top" <%=rowColor%>><%=DestroyPackage%></td>
299
                </tr>
300
				<%
301
				Next
302
				End If
303
				%>
304
              </table>
305
            </div></td>
306
        </tr>
307
      </table> 
308
	  <input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
309
	  <input type="hidden" name="pkg_id" value="<%=parPkg_id%>">
310
	  <input type="hidden" name="rfile" value="<%=parRfile%>">
311
	  <input type="hidden" name="OLDpv_id" value="<%=parOLDpv_id%>">
1268 iaugusti 312
	  <input type="hidden" name="pv_id" value="<%=parPv_id%>">
119 ghuddy 313
	  <input type="hidden" name="filter_reset" value="">
314
	  </form>
315
 
316
 
5173 dpurdie 317