Subversion Repositories DevTools

Rev

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

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