Subversion Repositories DevTools

Rev

Rev 6827 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5357 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|
5
'|  wAddPackageInterest.asp
6
'|
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
Response.Expires = 0
12
%>
13
<!--#include file="common/conf.asp"-->
14
<!--#include file="common/globals.asp"-->
15
<!--#include file="common/formating.asp"-->
16
<!--#include file="common/qstr.asp"-->
17
<!--#include file="common/common_subs.asp"-->
18
<!--#include file="common/common_dbedit.asp"-->
7286 dpurdie 19
<!--#include file="common/_popup_window_common.asp"-->
5357 dpurdie 20
<!--#include file="common/_form_window_common.asp"-->
21
<%
22
'------------ ACCESS CONTROL ------------------
23
%>
24
 
25
<%
26
'------------ VARIABLE DEFINITION -------------
27
Dim rsPackages
28
Dim FRview_id
29
Dim	parProjId
30
Dim	Query_String
31
parProjId	=	Request("proj_id")
32
'------------ CONSTANTS DECLARATION -----------
33
'------------ VARIABLE INIT -------------------
34
'------------ CONDITIONS ----------------------
35
'----------------------------------------------
36
%>
37
<%
38
'--------------------------------------------------------------------------------------------------------------------------
39
Sub Add_Package_Interest (nProj_id, nPkg_id_List)
40
 
41
	OraDatabase.Parameters.Add "PROJ_ID",	nProj_id, ORAPARM_INPUT, ORATYPE_NUMBER
42
	OraDatabase.Parameters.Add "PKG_ID_LIST",	nPkg_id_List, 	ORAPARM_INPUT, ORATYPE_VARCHAR2
43
	OraDatabase.Parameters.Add "USER_ID", 	objAccessControl.UserId, 	ORAPARM_INPUT, ORATYPE_NUMBER
44
 
5590 dpurdie 45
	On Error Resume Next
46
    objEH.ErrorRedirect = FALSE
5357 dpurdie 47
	objEH.TryORA ( OraSession )
48
 
49
	OraDatabase.ExecuteSQL _
50
	"BEGIN   ADD_PACKAGE_INTEREST	( :PROJ_ID, :PKG_ID_LIST, :USER_ID );   END;"
51
 
52
	objEH.CatchORA ( OraSession )
53
 
54
	OraDatabase.Parameters.Remove "PROJ_ID"
55
	OraDatabase.Parameters.Remove "PKG_ID_LIST"
56
	OraDatabase.Parameters.Remove "USER_ID"
57
 
58
End Sub
59
'--------------------------------------------------------------------------------------------------------------------------
60
%>
61
<%
62
'------------ RUN BEFORE PAGE RENDER ----------
63
' --- Get Form details from DB (for edit forms only) ---
64
'-------------------------------------------------------
65
 
66
' --- Load Validation Rules ---
67
 
68
 
69
' --- Enter Form Validation Rule Changes here... ----
70
'----------------------------------------------------
71
 
72
If CBool(Request("action")) Then
73
	If objForm.IsValidOnPostBack Then
74
		' --- Form is Valid ---
75
		Call Add_Package_Interest(parProjId, request("pkg_id_list"))
76
		If objEH.Finally Then
5590 dpurdie 77
            Call ReloadParentWindow()    
5957 dpurdie 78
            Call Destroy_All_Objects
5590 dpurdie 79
            Response.End
5357 dpurdie 80
		End If
81
 
82
	End If
83
End If
84
'----------------------------------------------
85
%>
86
<html>
87
<head>
88
<title>Release Manager</title>
89
<link rel="shortcut icon" href="<%=FavIcon%>"/>
90
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
91
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6579 dpurdie 92
<link href="images/release_manager_style.css?ver=<%=VixVerNum%>" rel="stylesheet" type="text/css">
6676 dpurdie 93
<script language="JavaScript" src="scripts/common.js?ver=<%=VixVerNum%>"></script>
5357 dpurdie 94
</head>
95
 
96
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" onLoad="self.focus();">
97
<table width="100%"  border="0" cellspacing="0" cellpadding="10">
98
  <tr>
5590 dpurdie 99
    <td bgcolor="#FFFFFF" class="body_txt">
100
        Search for Package or select from the list.
101
    </td>
5357 dpurdie 102
  </tr>
103
  <form name="FormSearch" method="post" action="<%=ScriptName%>">
104
  <tr>
105
    <td background="images/bg_quicksearch.gif" class="body_txt"><table width="100" border="0" cellspacing="3" cellpadding="0">
106
        <tr>
107
          <td nowrap class="body_txtw"><strong>Package Search</strong> </td>
108
          <td><input name="filter" type="text" class="body_txt" size="20" value="<%=Request("filter")%>"></td>
109
          <td><input name="btn" type="image" src="images/b_search.gif" width="16" height="16" border="0"></td>
110
        </tr>
111
      </table></td>
112
  </tr>
113
  <%'=objPMod.ComposeHiddenTags()%>
114
  <input type="hidden" name="view_id" value="<%=Request("view_id")%>">
115
  <input type="hidden" name="proj_id" value="<%=Request("proj_id")%>">
116
  </form>
117
  <form name="FormName" method="post" action="<%=ScriptName%>">
118
  <tr>
119
    <td background="images/bg_drk_bage_pane.gif">
120
	<table width="100%"  border="0" cellspacing="0" cellpadding="0">
121
      <tr>
122
        <td>&nbsp;</td>
123
        <td align="right"><input name="btn" type="submit" class="form_btn" value="Add">
5590 dpurdie 124
          <input name="btn" type="reset" class="form_btn" value="Cancel" onclick="parent.closeIFrame();"></td>
5357 dpurdie 125
      </tr>
126
    </table></td>
127
  </tr>
128
  <tr>
129
    <td>
5590 dpurdie 130
        <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
131
        <!--#include file="messages/_msg_inline.asp"-->
132
        <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
5357 dpurdie 133
<%
134
		Dim startPosition, pageNumber, navigator, totalRecords, lastRecord
135
		Const MAX_ROWS = 50	' Maximum number of rows displayed
136
 
137
 
138
		OraDatabase.Parameters.Add "KEYWORD", 			Request("filter"), 			ORAPARM_INPUT, ORATYPE_VARCHAR2
139
		'--- Set filters ---
140
		If Request("filter") <> "" Then
141
 
142
 			Query_String = _
143
			" SELECT DISTINCT PKG.PKG_ID, PKG.PKG_NAME FROM RELEASE_CONTENT RC,"&_
144
			" RELEASE_TAGS RT, PROJECTS PRJ,"&_
145
			" PACKAGE_VERSIONS PV, PACKAGES PKG,"&_
146
			"	("&_
147
 
148
		  	"	/* Exact match */"&_
149
		  	"	SELECT 1 AS DISPLAY_ORDER,"&_
150
			"		   pkg.PKG_ID,"&_
151
			"		   pkg.PKG_NAME"&_
152
			"	  FROM PACKAGES pkg"&_
153
			"	 WHERE UPPER(pkg.PKG_NAME) = UPPER(:KEYWORD)"&_
154
 
155
			"	UNION"&_
156
 
157
			"	/* Starts with */  "&_
158
			"	SELECT 2 AS DISPLAY_ORDER,"&_
159
			"		   pkg.PKG_ID,"&_
160
			"		   pkg.PKG_NAME"&_
161
			"	  FROM PACKAGES pkg"&_
162
			"	 WHERE UPPER(pkg.PKG_NAME) LIKE UPPER(:KEYWORD) ||'%'"&_
163
 
164
			"	UNION"&_
165
 
166
			"	/* Ends with */  "&_
167
			"	SELECT 3 AS DISPLAY_ORDER,"&_
168
			"	   pkg.PKG_ID,"&_
169
			"	   pkg.PKG_NAME"&_
170
			"  FROM PACKAGES pkg"&_
171
			" WHERE UPPER(pkg.PKG_NAME) LIKE '%'|| UPPER(:KEYWORD) "&_
172
 
173
			"	UNION"&_
174
 
175
			"	/* Middle of word */  "&_
176
			"	SELECT 4 AS DISPLAY_ORDER,"&_
177
			"		   pkg.PKG_ID,"&_
178
			"		   pkg.PKG_NAME"&_
179
			"	  FROM PACKAGES pkg"&_
180
			"	 WHERE UPPER(pkg.PKG_NAME) LIKE '%'|| UPPER(:KEYWORD) ||'%'"&_
181
 
182
      		" ) qry"&_
183
			" WHERE RC.RTAG_ID = RT.RTAG_ID AND PRJ.PROJ_ID = RT.PROJ_ID AND PKG.PKG_ID NOT IN"&_
184
			" (SELECT PKG_ID FROM PACKAGE_INTEREST WHERE PROJ_ID ="& parProjId &" AND USER_ID ="& objAccessControl.UserId &")"&_
185
			" AND PV.PV_ID = RC.PV_ID AND PKG.PKG_ID = PV.PKG_ID AND qry.pkg_id = pkg.pkg_id AND PRJ.PROJ_ID="& parProjId &" order by pkg.pkg_name"
186
 
187
 
188
 
189
		Else
190
 			Query_String = _
191
			" SELECT DISTINCT PKG.PKG_ID, PKG.PKG_NAME FROM RELEASE_CONTENT RC,"&_
192
			" RELEASE_TAGS RT, PROJECTS PRJ,"&_
193
			" PACKAGE_VERSIONS PV, PACKAGES PKG"&_
194
			" WHERE RC.RTAG_ID = RT.RTAG_ID AND PRJ.PROJ_ID = RT.PROJ_ID and PKG.PKG_ID NOT IN"&_
195
			" (SELECT PKG_ID FROM PACKAGE_INTEREST WHERE PROJ_ID ="& parProjId &" AND USER_ID ="& objAccessControl.UserId &")"&_
196
			" AND PV.PV_ID = RC.PV_ID AND PKG.PKG_ID = PV.PKG_ID AND PRJ.PROJ_ID="& parProjId &" order by pkg.pkg_name"
197
		End If
198
 
199
 
200
		Set rsPackages = OraDatabase.DbCreateDynaset( Query_String , ORADYN_DEFAULT )
201
 
202
		OraDatabase.Parameters.Remove "KEYWORD"
203
 
204
 
205
		'--- Get page number ---
206
		pageNumber = 0
207
		If Request("pg") <> "" Then
208
		pageNumber = CInt(Request("pg"))
209
		End If
210
 
211
 
212
		'--- Set Cursor start position ---
213
		startPosition = pageNumber * MAX_ROWS + 1
214
		If (NOT rsPackages.BOF) AND (NOT rsPackages.EOF) Then
215
			rsPackages.MoveTo ( startPosition )		' Set starting cursor point
216
 
217
		End If
218
 
219
 
220
		'--- Construct Navigator
221
		navigator = ""
222
		If (NOT rsPackages.BOF) AND (NOT rsPackages.EOF) Then
223
			totalRecords = rsPackages.RecordCount	' Get total number of records
224
 
225
			'--- Create "Previous" link
226
			If pageNumber > 0 Then
227
				navigator = navigator &"<a href='"& ScriptName &"?view_id="&Request("view_id")&"&pg="& pageNumber - 1 &"&"& objPMod.ComposeURL &"' class='body_link' title='Show Previous Page'>&laquo; Previous</a>"
228
			End If
229
 
230
			'--- Create "Next" link
231
			If ( startPosition + MAX_ROWS ) < totalRecords Then
232
				navigator = navigator &"&nbsp;&nbsp;<a href='"& ScriptName &"?view_id="&Request("view_id")&"&pg="& pageNumber + 1 &"&"& objPMod.ComposeURL &"' class='body_link' title='Show Next Page'>Next &raquo;</a>"
233
			End If
234
 
235
		End If
236
 
237
 
238
		'--- Calculate Last Record ---
239
		If totalRecords > 0 Then
240
			lastRecord = ( startPosition - 1 + MAX_ROWS ) _
241
						+ ( CInt( ( startPosition - 1 + MAX_ROWS )/totalRecords > 1) ) * ( ( startPosition - 1 + MAX_ROWS ) - totalRecords )
242
		End If
243
		%>
244
		<table width="100%"  border="0" cellspacing="0" cellpadding="0">
245
          <tr align="left">
246
            <td colspan="2" class="body_row">&nbsp;</td>
247
          </tr>
248
          <tr>
249
            <td align="left" class="body_row">
250
			<%
251
			If totalRecords > 0 Then
252
				Response.write "Showing "& startPosition &" - "& lastRecord &" of "& totalRecords
253
			Else
254
				Response.write "No Results."
255
			End If
256
			%></td>
257
            <td align="right" class="body_scol"><%=navigator%></td>
258
          </tr>
259
        </table>
260
		 <!-- DETAILS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
5590 dpurdie 261
        <div style="min-height:300px;max-height:500px;overflow:scroll;">
5357 dpurdie 262
		 <table width="100%"  border="0" cellspacing="3" cellpadding="0">
263
          <tr>
264
		  	<td width="1%" background="images/bg_table_col.gif"><img src="images/spacer.gif" width="16" height="16" hspace="2"></td>
265
            <td width="30%" background="images/bg_table_border.gif">
266
			<table width="100%"  border="0" cellspacing="1" cellpadding="2">
267
              <tr>
268
                <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Packages</td>
269
 
270
              </tr>
271
            </table></td>
272
          </tr>
273
		  <%
274
		  '--- Render rows ---
275
		  Do While (NOT rsPackages.BOF) AND (NOT rsPackages.EOF)
276
 
277
		  		If rsPackages.RowPosition => (startPosition + MAX_ROWS) Then Exit Do	' Limit the number of rows displayed
278
		  %>
279
          <tr>
280
		  	<td align="center"><input type="checkbox" name="pkg_id_list" value="<%=rsPackages("pkg_id")%>"></td>
281
            <td nowrap class="body_row"><%=Highlight_Substring( rsPackages("pkg_name"), request("filter") )%></td>
282
          </tr>
283
		  <%rsPackages.MoveNext%>
284
 
285
		  <%If (NOT rsPackages.BOF) AND (NOT rsPackages.EOF) Then%>
286
          <tr>
287
            <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
288
          </tr>
289
		  <%End If%>
290
 
291
		  <%
292
		  Loop
293
 
294
 
295
 
296
		  rsPackages.Close()
297
		  Set rsPackages = Nothing
298
		  %>
299
         </table>
5590 dpurdie 300
         </div>
5357 dpurdie 301
		 <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
302
		 <table width="100%"  border="0" cellspacing="0" cellpadding="0">
303
          <tr>
304
            <td align="right" class="body_scol"><%=navigator%></td>
305
          </tr>
306
        </table>
307
	</td>
308
  </tr>
309
  <%=objPMod.ComposeHiddenTags()%>
310
  <input type="hidden" name="view_id" value="<%=Request("view_id")%>">
311
 
312
  <input type="hidden" name="action" value="true">
313
  </form>
314
</table>
315
</body>
316
</html>
317
<%
318
'------------ RUN AFTER PAGE RENDER -----------
319
Set objFormCollector = Nothing
320
'----------------------------------------------
321
%>
5957 dpurdie 322
<!-- DESTRUCTOR ------->
5357 dpurdie 323
<!--#include file="common/destructor.asp"-->