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
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"-->