Subversion Repositories DevTools

Rev

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