Subversion Repositories DevTools

Rev

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