Subversion Repositories DevTools

Rev

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