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
%>
102
	  <!--------------- ACTION BUTTONS -------------------------->
103
	  <form name="filter" method="get" action="<%=scriptName%>">
104
	  <table width="100%" border="0" cellspacing="0" cellpadding="0">
105
        <tr>
106
          <td width="1" valign="middle" background="images/bg_action_norm.gif"><img src="images/spacer.gif" width="5" height="35"></td>
107
          <td width="100%" valign="middle" background="images/bg_action_norm.gif"><%
5082 dpurdie 108
          Dim bEnableUse : bEnableUse = FALSE
119 ghuddy 109
		  If Request("rtag_id") = ""  OR  _
110
		  	 Request("pv_id") = "" OR _
111
			 bIsPatch OR _
5082 dpurdie 112
             (NOT bCanInsertPkg) OR _
119 ghuddy 113
			 (NOT objAccessControl.UserLogedIn) OR _
5061 dpurdie 114
			 (NOT canActionInProject() ) OR _
4084 dpurdie 115
			 (ReleaseMode = enumDB_RELEASE_IN_CLOSED_MODE) OR _
116
			 (ReleaseMode = enumDB_RELEASE_IN_ARCHIVE_MODE) OR _
5082 dpurdie 117
			 (ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE AND NOT canActionControlInProject("AlterReleaseContentsInRestrictiveMode")) OR _
118
			 (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE AND NOT canActionControlInProject("AlterReleaseContentsInRestrictiveMode")) _
119 ghuddy 119
		  Then
5082 dpurdie 120
                bEnableUse = FALSE
119 ghuddy 121
		  Else
5082 dpurdie 122
                bEnableUse = TRUE
119 ghuddy 123
		  End If
5082 dpurdie 124
 
125
          If bEnableUse Then
5169 dpurdie 126
		  	Response.write "<a href='"& scriptName &"?"& Persists_Query_String( "action=true" ) &"' onClick='return confirmAction(""You are about to insert   "& sPkg_Name &" "& sPkg_Version &"   into a project release. \nDo you want to proceed?"");'><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 127
          Else
128
		    Response.write "<img src='images/abtn_use_this_version_off.gif' width='108' height='26' hspace='1' border='0'>"
129
          End If
119 ghuddy 130
 
131
		  Response.write "<img src='images/spacer.gif' width='25' height='25'>"
132
		  If filterInUse Then
133
		  	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!)'>"
134
		  Else
135
		    Response.write "<input type='image' name='btn' src='images/abtn_filter.gif' width='25' height='25' border='0' alt='Apply filter'>"
136
		  End If
137
		  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 138
 
139
		  Response.write "<img src='images/spacer.gif' width='25' height='25'>"
140
          Response.write "<a href='"& scriptName &"?"& Persists_Query_String( "hideRipple=" & not hideRipple ) &"'>"
141
    		  If hideRipple Then
142
    		  	Response.write "<img src='images/RippleSquareOff.gif' width='25' height='25' border='0' title='Rippled Versions Hidden. Toggle'>"
143
    		  Else
144
    		    Response.write "<img src='images/RippleSquare.gif' width='25' height='25' border='0' title='Rippled Versions Shown. Toggle'>"
145
    		  End If
146
          Response.write "</a>"
147
 
119 ghuddy 148
		  %></td>
149
		  <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>
150
		  <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>
151
        </tr>
152
      </table>
153
	  <!--------------------- CAPTION ---------------------------->
154
	  <table width="100%" border="0" cellspacing="0" cellpadding="0">
155
	    <tr>
156
	      <td class="lbox_ttl_b" background="images/bg_action_dark.gif" align="center"><%=sPkg_Name%></td>
157
		</tr>
158
      </table>
159
	  <!------------------ VERSION LIST -------------------------->
160
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
161
        <tr>
162
          <td background="images/bg_action_norm.gif"> 
163
            <div id="LayerVersions" style="height: 350px; overflow: auto;" name="LayerVersions"> 
164
              <table width="100%" border="0" cellspacing="1" cellpadding="2">
165
                <tr>
166
                  <td width="1" nowrap background="images/bg_action_dark.gif"><img src="images/spacer.gif" width="15" height="10"></td>
167
                  <td width="1" nowrap background="images/bg_action_dark.gif">&nbsp;</td>
168
                  <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>
169
                  <td width="1" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Last Mod. Date&nbsp;&nbsp;</td>
170
                  <td width="100%" valign="top" nowrap background="images/bg_action_dark.gif" class="form_field">Reason for this version</td>
171
				  <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>
172
                  <td width="1" nowrap background="images/bg_action_dark.gif"></td>
173
				  <td width="1" nowrap background="images/bg_action_dark.gif"></td>
174
                </tr>
175
				<%
176
				Dim aVersions, lastRow, i, objSortHelper
177
 
178
 
179
				Set rsVB = OraDatabase.DbCreateDynaset( Get_All_Versions ( parPkg_id ), cint(0))
180
 
181
 
182
 
183
 
184
			  	' Descending order
185
				If rsVB.RecordCount > 0 Then
186
				aVersions = rsVB.GetRows()
187
				lastRow = UBound( aVersions, 2 )
188
 
189
				Set objSortHelper = New SortHelper
190
 
191
 
192
				' Sort versions
193
				Call objSortHelper.VersionSort( aVersions, 0, lastRow, rsVB.FieldIndex("pkg_version") )
194
 
195
 
196
				DestroyPackage = ""
5061 dpurdie 197
				CanDestroyPackage = canShowControlInProject ( "DestroyPackage" )
119 ghuddy 198
 
199
			  	' Descending order
200
				For i = lastRow To 0 Step -1
4703 dpurdie 201
 
119 ghuddy 202
				%>
203
				<%	' Highlight row case
204
					rowColor = IMGBG_ROW
205
					imgPointer = ""
206
					If CStr( aVersions( rsVB.FieldIndex("pv_id"), i ) ) = parPv_id Then 
207
						rowColor = IMGBG_ROW_HI
208
						imgPointer = IMG_PONTER
209
					End If
210
 
211
					' Official/Unofficial case
212
					imgLock = IMG_NOT_OFFICIAL
213
					'fieldRelease_Date = ""
214
					'fieldReleased_By = ""
215
					If (aVersions( rsVB.FieldIndex("dlocked"), i ) = "Y")  OR (aVersions( rsVB.FieldIndex("dlocked"), i ) = "A") Then
216
						imgLock = IMG_OFFICIAL
217
					End If
218
 
219
					fieldRelease_Date = EuroDateTime ( aVersions( rsVB.FieldIndex("modified_stamp"), i ) )
220
					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>"
221
 
222
					' Full Release Notes availability
223
					fieldDownloadFullReleaseNotes = ""
224
					If NOT IsNull( aVersions( rsVB.FieldIndex("release_notes_info"), i ) ) OR ( InStr( aVersions( rsVB.FieldIndex("release_notes_info"), i ), "MGS:") < 1)  Then
177 brianf 225
						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 226
					End If
227
 
228
					anchorName = "ANC_"& aVersions( rsVB.FieldIndex("pv_id"), i )
229
					If aVersions( rsVB.FieldIndex("is_patch"), i ) = "Y" Then
230
						URLstring = "_wform_versions_history_release_notes.asp?"& Persists_Query_String( "pv_id="& aVersions( rsVB.FieldIndex("pv_id"), i ) ) &"#"& anchorName
231
					Else
232
						URLstring = scriptName &"?"& Persists_Query_String( "pv_id="& aVersions( rsVB.FieldIndex("pv_id"), i ) ) &"#"& anchorName
233
					End If
234
 
235
 
236
					' Set destroy package action
237
					If CanDestroyPackage Then
238
						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 &"' "&_
239
										 " title='Destroy this package from the database.' "&_
240
										 " 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>"
241
					End If
242
				%>
243
                <tr <%=Set_Row_Style ( URLstring )%>> 
244
                  <td align="right" background="images/bg_action_dark.gif"><%=imgPointer%></td>
245
                  <td align="center" valign="top" <%=rowColor%>><%=imgLock%></td>
246
                  <td valign="top" nowrap <%=rowColor%>><a name="<%=anchorName%>"></a><a href="<%=URLstring%>" class="txt_linked"><%=aVersions( rsVB.FieldIndex("pkg_version"), i )%></a></td>
247
                  <td valign="top" nowrap <%=rowColor%> class="form_item"><%=fieldRelease_Date%></td>
248
                  <td valign="top" <%=rowColor%> class="form_item"><%=NewLine_To_BR ( To_HTML( aVersions( rsVB.FieldIndex("comments"), i ) ) )%></td>
249
                  <td valign="top" nowrap <%=rowColor%> class="form_item"><%=fieldReleased_By%></td>
250
                  <td align="center" valign="top" <%=rowColor%>><%=fieldDownloadFullReleaseNotes%></td>
251
				  <td align="center" valign="top" <%=rowColor%>><%=DestroyPackage%></td>
252
                </tr>
253
				<%
254
				Next
255
				End If
256
				%>
257
              </table>
258
            </div></td>
259
        </tr>
260
      </table> 
261
	  <input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
262
	  <input type="hidden" name="pkg_id" value="<%=parPkg_id%>">
263
	  <input type="hidden" name="rfile" value="<%=parRfile%>">
264
	  <input type="hidden" name="OLDpv_id" value="<%=parOLDpv_id%>">
1268 iaugusti 265
	  <input type="hidden" name="pv_id" value="<%=parPv_id%>">
119 ghuddy 266
	  <input type="hidden" name="filter_reset" value="">
267
	  </form>
268
 
269
 
270