| 5357 |
dpurdie |
1 |
<%@LANGUAGE="VBSCRIPT"%>
|
|
|
2 |
<%
|
|
|
3 |
Option explicit
|
|
|
4 |
Response.Expires = 0 ' always load the page, dont store
|
|
|
5 |
%>
|
|
|
6 |
<%
|
|
|
7 |
'=====================================================
|
|
|
8 |
' Import Release
|
|
|
9 |
'=====================================================
|
|
|
10 |
%>
|
|
|
11 |
<!--#include file="common/conf.asp"-->
|
|
|
12 |
<!--#include file="common/globals.asp"-->
|
|
|
13 |
<!--#include file="common/qstr.asp"-->
|
|
|
14 |
<!--#include file="common/common_subs.asp"-->
|
|
|
15 |
<!--#include file="common/common_dbedit.asp"-->
|
|
|
16 |
<!--#include file="common/_popup_window_common.asp"-->
|
|
|
17 |
<%
|
|
|
18 |
'------------ ACCESS CONTROL ------------------
|
|
|
19 |
%>
|
|
|
20 |
<!--#include file="_access_control_login.asp"-->
|
|
|
21 |
<!--#include file="_access_control_general.asp"-->
|
|
|
22 |
<!--#include file="_access_control_project.asp"-->
|
|
|
23 |
<%
|
|
|
24 |
'------------ Variable Definition -------------
|
|
|
25 |
Dim parFRpkg_id ' Currently selected Package
|
|
|
26 |
Dim parFRpv_id ' Currently selected Package-Version
|
| 5590 |
dpurdie |
27 |
Dim parFromPv_id
|
|
|
28 |
Dim parToRtag_id
|
|
|
29 |
Dim sMessage
|
| 5357 |
dpurdie |
30 |
'------------ Constants Declaration -----------
|
|
|
31 |
'------------ Variable Init -------------------
|
|
|
32 |
parFRpkg_id = QStrPar("FRpkg_id")
|
|
|
33 |
parFRpv_id = QStrPar("FRpv_id")
|
| 5590 |
dpurdie |
34 |
parFromPv_id = QStrPar("FromPv_id")
|
|
|
35 |
parToRtag_id = QStrPar("rtag_id")
|
|
|
36 |
sMessage = NULL
|
| 5357 |
dpurdie |
37 |
If parFRpkg_id = "" Then parFRpkg_id = "-1"
|
| 5590 |
dpurdie |
38 |
If parFRpv_id = "" Then parFRpv_id = "-1"
|
| 5357 |
dpurdie |
39 |
'----------------------------------------------
|
|
|
40 |
%>
|
|
|
41 |
<%
|
|
|
42 |
'-------------------------------------------------
|
|
|
43 |
' Function: Get_Packages
|
|
|
44 |
' Description: Generate a List Box of all package names in the system
|
|
|
45 |
' Select the 'current' package
|
|
|
46 |
' Arguments: NNpkg_id - Currently selected pkg_id
|
|
|
47 |
'
|
|
|
48 |
Sub Get_Packages ( NNpkg_id )
|
|
|
49 |
Dim rsTemp, Query_String, tempLINK
|
|
|
50 |
Query_String = _
|
|
|
51 |
"SELECT * FROM packages ORDER BY pkg_name ASC"
|
|
|
52 |
Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
|
|
|
53 |
|
| 5590 |
dpurdie |
54 |
Response.write "<select name='FRpkg_id' onChange=""MM_showProgressBar();MM_jumpMenu('window',this,0)"" class='form_item'>"
|
| 5357 |
dpurdie |
55 |
Response.write "<option value=''>Select Package</option>"
|
|
|
56 |
While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
|
|
|
57 |
tempLINK = scriptName &"?FRpkg_id="& rsTemp.Fields("pkg_id") & "&"& objPMod.ComposeURL()
|
|
|
58 |
If NNpkg_id = Cstr(rsTemp.Fields("pkg_id")) Then
|
|
|
59 |
Response.write "<option value='"& tempLINK &"' selected>"& (rsTemp.Fields("pkg_name")) &"</option>"
|
|
|
60 |
Else
|
|
|
61 |
Response.write "<option value='"& tempLINK &"'>"& (rsTemp.Fields("pkg_name")) &"</option>"
|
|
|
62 |
End If
|
|
|
63 |
rsTemp.MoveNext
|
|
|
64 |
WEnd
|
|
|
65 |
Response.write "</select>"
|
|
|
66 |
|
|
|
67 |
rsTemp.Close
|
|
|
68 |
Set rsTemp = nothing
|
|
|
69 |
End Sub
|
|
|
70 |
|
|
|
71 |
'-------------------------------------------------
|
|
|
72 |
' Function: Get_Package_Versions
|
|
|
73 |
' Description: Create a list box for all versions of a specified pakage
|
|
|
74 |
' Arguments: NNpkg_id - pkg_id of the base package
|
|
|
75 |
' NNrtag_id - pv_id of the currently selected package-vesrion
|
|
|
76 |
'
|
|
|
77 |
Sub Get_Package_Versions ( NNpkg_id, NNrtag_id )
|
|
|
78 |
Dim rsTemp, Query_String, tempLINK, productId
|
|
|
79 |
Query_String = _
|
|
|
80 |
"SELECT pv_id, pkg_version FROM package_versions WHERE pkg_id = "& NNpkg_id &" ORDER BY pkg_version ASC"
|
|
|
81 |
Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
|
|
|
82 |
|
| 5590 |
dpurdie |
83 |
Response.write "<select name='FRpv_id' onChange=""MM_showProgressBar();MM_jumpMenu('window',this,0)"" class='form_item'>"
|
| 5357 |
dpurdie |
84 |
If NNpkg_id <> "-1" Then
|
|
|
85 |
Response.write "<option value=''>Select Package Version</option>"
|
|
|
86 |
While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
|
|
|
87 |
tempLINK = scriptName &"?FRpv_id="& rsTemp.Fields("pv_id") &"&FRpkg_id="& NNpkg_id &"&"& objPMod.ComposeURL()
|
|
|
88 |
|
|
|
89 |
If NNrtag_id = Cstr(rsTemp.Fields("pv_id")) Then
|
|
|
90 |
Response.write "<option value='"& tempLINK &"' selected>"& (rsTemp.Fields("pkg_version")) &"</option>"
|
|
|
91 |
Else
|
|
|
92 |
Response.write "<option value='"& tempLINK &"'>"& (rsTemp.Fields("pkg_version")) &"</option>"
|
|
|
93 |
End If
|
|
|
94 |
rsTemp.MoveNext
|
|
|
95 |
WEnd
|
|
|
96 |
End If
|
|
|
97 |
Response.write "</select>"
|
|
|
98 |
|
|
|
99 |
rsTemp.Close
|
|
|
100 |
Set rsTemp = nothing
|
|
|
101 |
End Sub
|
| 5590 |
dpurdie |
102 |
|
|
|
103 |
Function Import_Dependency ( NNFromPv_id, NNToRtag_id )
|
|
|
104 |
Dim sqlStr, PvId, ii
|
|
|
105 |
Dim ImportList, entry, keys
|
|
|
106 |
Set ImportList = CreateObject ("Scripting.Dictionary")
|
|
|
107 |
|
|
|
108 |
'
|
|
|
109 |
' Generate a list of packages to be added
|
|
|
110 |
' The union will add the base package to the set - if its not present
|
|
|
111 |
'
|
|
|
112 |
sqlStr = "SELECT DISTINCT qry.DPV_ID"&_
|
|
|
113 |
" FROM ("&_
|
|
|
114 |
" SELECT dep.PV_ID, dep.DPV_ID, LEVEL AS LEVEL_NUM"&_
|
|
|
115 |
" FROM PACKAGE_DEPENDENCIES dep"&_
|
|
|
116 |
" START WITH dep.PV_ID IN ( :PV_ID ) "&_
|
|
|
117 |
" CONNECT BY PRIOR dep.DPV_ID = dep.PV_ID"&_
|
|
|
118 |
" UNION" &_
|
|
|
119 |
" SELECT" &_
|
|
|
120 |
" TO_NUMBER(:PV_ID), TO_NUMBER(:PV_ID), TO_NUMBER(0) " &_
|
|
|
121 |
" FROM DUAL" &_
|
|
|
122 |
" ) qry,"&_
|
|
|
123 |
" PACKAGES pkg,"&_
|
|
|
124 |
" PACKAGE_VERSIONS pv"&_
|
|
|
125 |
" WHERE qry.PV_ID = pv.PV_ID AND pv.PKG_ID = pkg.PKG_ID"&_
|
|
|
126 |
" and qry.dpv_id NOT IN (select pv_id from release_content where rtag_id = :RTAG_ID)"
|
|
|
127 |
|
|
|
128 |
objEH.ErrorRedirect = FALSE
|
|
|
129 |
objEH.TryORA ( OraSession )
|
|
|
130 |
On Error Resume Next
|
|
|
131 |
|
|
|
132 |
OraDatabase.Parameters.Add "PV_ID", NNFromPv_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
133 |
OraDatabase.Parameters.Add "RTAG_ID", NNToRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
134 |
OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
135 |
OraDatabase.Parameters.Add "OPERATION","A", ORAPARM_INPUT, ORATYPE_CHAR
|
|
|
136 |
|
|
|
137 |
Dim rsTemp
|
|
|
138 |
Set rsTemp = OraDatabase.DbCreateDynaset( sqlStr, cint(0))
|
|
|
139 |
If Err.Number = 0 Then
|
|
|
140 |
While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
|
|
|
141 |
entry = rsTemp("DPV_ID")
|
|
|
142 |
If NOT ImportList.Exists(entry) Then
|
|
|
143 |
ImportList.add entry, 1
|
|
|
144 |
End If
|
|
|
145 |
rsTemp.MoveNext
|
|
|
146 |
WEnd
|
|
|
147 |
End If
|
|
|
148 |
rsTemp.Close
|
|
|
149 |
Set rsTemp = nothing
|
|
|
150 |
|
|
|
151 |
'
|
|
|
152 |
' Add each entry into the 'Pending Tab'
|
|
|
153 |
'
|
|
|
154 |
keys = ImportList.Keys
|
|
|
155 |
For ii = 0 to ImportList.Count - 1
|
|
|
156 |
entry = keys(ii)
|
|
|
157 |
OraDatabase.Parameters.Remove "PV_ID"
|
|
|
158 |
OraDatabase.Parameters.Add "PV_ID", entry, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
159 |
If Err.Number = 0 Then
|
|
|
160 |
OraDatabase.ExecuteSQL _
|
|
|
161 |
"BEGIN "&_
|
|
|
162 |
" PK_PLANNED.MERGE_PACKAGE ( :PV_ID, 7, :RTAG_ID, :USER_ID, :OPERATION ); "&_
|
|
|
163 |
"END;"
|
|
|
164 |
End If
|
|
|
165 |
Next
|
|
|
166 |
|
|
|
167 |
objEH.CatchORA ( OraSession )
|
|
|
168 |
If objEH.Finally Then
|
|
|
169 |
Call OpenInParentWindow ("dependencies.asp?rtag_id=" & NNToRtag_id)
|
|
|
170 |
Call CloseWindow()
|
|
|
171 |
End If
|
|
|
172 |
|
|
|
173 |
|
|
|
174 |
OraDatabase.Parameters.Remove "PV_ID"
|
|
|
175 |
OraDatabase.Parameters.Remove "RTAG_ID"
|
|
|
176 |
OraDatabase.Parameters.Remove "USER_ID"
|
|
|
177 |
OraDatabase.Parameters.Remove "OPERATION"
|
|
|
178 |
|
|
|
179 |
Set ImportList = nothing
|
|
|
180 |
|
|
|
181 |
End Function
|
|
|
182 |
|
| 5357 |
dpurdie |
183 |
%>
|
|
|
184 |
<%
|
|
|
185 |
'Process submition
|
|
|
186 |
If CBool(QStrPar("action")) Then
|
| 5590 |
dpurdie |
187 |
If NOT objAccessControl.UserLogedIn Then
|
|
|
188 |
sMessage = "User is no longer logged in"
|
|
|
189 |
ElseIf NOT( (parFromPv_id <> "") AND (parToRtag_id <> "")) Then
|
|
|
190 |
sMessage = "Internal: Mandatory parameters are missing"
|
|
|
191 |
Else
|
|
|
192 |
Call Import_Dependency ( parFromPv_id, parToRtag_id )
|
|
|
193 |
parFRpkg_id = "-1"
|
|
|
194 |
parFRpv_id = "-1"
|
|
|
195 |
End If
|
| 5357 |
dpurdie |
196 |
End If
|
|
|
197 |
%>
|
|
|
198 |
<html>
|
|
|
199 |
<head>
|
|
|
200 |
<title>Release Manager</title>
|
|
|
201 |
<link rel="shortcut icon" href="<%=FavIcon%>"/>
|
|
|
202 |
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
|
|
|
203 |
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
|
204 |
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
|
|
|
205 |
<link rel="stylesheet" href="images/navigation.css" type="text/css">
|
|
|
206 |
<script language="JavaScript" src="images/common.js"></script>
|
|
|
207 |
</head>
|
|
|
208 |
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" onload="self.focus();">
|
| 5590 |
dpurdie |
209 |
<form class="form_tight" name="importrel" method="post" action="<%=scriptName%>">
|
|
|
210 |
<table width="100%" border="0" cellspacing="0" cellpadding="2">
|
| 5357 |
dpurdie |
211 |
<tr>
|
|
|
212 |
<td valign="top" nowrap colspan="3" class="wform_ttl" background="images/bg_form_lightgray.gif">
|
| 5590 |
dpurdie |
213 |
<!-- LOCAL MESSAGES ++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
|
214 |
<%Call Messenger ( sMessage , 3, "100%" )%>
|
|
|
215 |
<!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
|
216 |
<!--#include file="messages/_msg_inline.asp"-->
|
| 5357 |
dpurdie |
217 |
<table width="100%" border="0" cellspacing="1" cellpadding="2">
|
|
|
218 |
<tr>
|
|
|
219 |
<td width="1%" nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Package</td>
|
|
|
220 |
<td nowrap width="100%" background="images/bg_form_lightbluedark.gif" class="form_txt">
|
|
|
221 |
<%Call Get_Packages ( parFRpkg_id )%>
|
|
|
222 |
</td>
|
|
|
223 |
</tr>
|
|
|
224 |
<tr>
|
|
|
225 |
<td width="1%" nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Package Version </td>
|
|
|
226 |
<td nowrap width="100%" background="images/bg_form_lightbluedark.gif" class="form_txt">
|
|
|
227 |
<%Call Get_Package_Versions ( parFRpkg_id, parFRpv_id )%>
|
|
|
228 |
<input type="hidden" name="FromPv_id" value="<%=parFRpv_id%>">
|
|
|
229 |
<input type="hidden" name="rtag_id" value="<%=Request("rtag_id")%>">
|
|
|
230 |
<input type="hidden" name="action" value="true">
|
|
|
231 |
</td>
|
|
|
232 |
</tr>
|
|
|
233 |
<tr>
|
| 5590 |
dpurdie |
234 |
<td width="100%" class="form_txt" colspan="2">
|
| 5357 |
dpurdie |
235 |
<p>Import all the dependencies of the specified package into the current Release in a recursive manner.
|
|
|
236 |
<br>The specified package will also be import - if it is not already present.
|
|
|
237 |
<p>Package Versions will be added to the 'Pending' tab of the Release. Duplicates <bold>MUST</bold> be removed from this list
|
|
|
238 |
before the versions are 'Released' into the body of the Release.
|
|
|
239 |
</p>
|
|
|
240 |
</td>
|
|
|
241 |
</tr>
|
|
|
242 |
</table>
|
|
|
243 |
</td>
|
|
|
244 |
</tr>
|
|
|
245 |
<tr>
|
| 5590 |
dpurdie |
246 |
<td><%=ProgressBar()%></td>
|
|
|
247 |
<td align="right">
|
|
|
248 |
<input type="submit" name="btn" value="Import" class="form_btn_comp" onClick="MM_validateForm('FRpkg_id','Package Name','R','FRpv_id','Package Version','R');return document.MM_returnValue">
|
|
|
249 |
<input type="reset" name="btn" value="Cancel" class="form_btn_comp" onclick="parent.closeIFrame();">
|
|
|
250 |
</td>
|
| 5357 |
dpurdie |
251 |
</tr>
|
|
|
252 |
</table>
|
|
|
253 |
</form>
|
|
|
254 |
</body>
|
|
|
255 |
</html>
|
|
|
256 |
<!-- DESTRUCTOR ------->
|
| 119 |
ghuddy |
257 |
<!--#include file="common/destructor.asp"-->
|