Subversion Repositories DevTools

Rev

Rev 6610 | Rev 6876 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5478 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'   unused_packages.asp
5
'   Display unused packages in the current release
6
'   Does not include packages marked as deployable ?
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
' Good idea to set when using redirect
12
Response.Expires = 0	        ' always load the page, dont store
13
Const allowNoPackage = TRUE     ' Allow page display without pvid being present
14
Server.ScriptTimeout=300        ' To enable the script timeout to 5 mins
15
%>
16
<!--#include file="common/conf.asp"-->
17
<!--#include file="common/globals.asp"-->
18
<!--#include file="common/formating.asp"-->
19
<!--#include file="common/qstr.asp"-->
20
<!--#include file="common/common_subs.asp"-->
21
<!--#include file="common/common_dbedit.asp"-->
22
<!--#include file="common/_package_common.asp"-->
23
<!--#include file="common/release_changed.asp"-->
24
<%
25
'------------ ACCESS CONTROL ------------------
26
%>
6181 dpurdie 27
<!--#include file="_access_control_login_optional.asp"-->
5478 dpurdie 28
<!--#include file="_access_control_general.asp"-->
29
<%
30
'------------ Variable Definition -------------
31
Dim	rsQry
32
Dim enableRemoval : enableRemoval = FALSE
33
Dim enabledText : enabledText = "disabled "
6123 dpurdie 34
Dim parMode : parMode = QStrParDefault("mode", 0)
35
Dim modeCb1 : modeCb1 = iif ( parMode AND 1, " checked", "" ) 
36
Dim modeCb2 : modeCb2 = iif ( parMode AND 2, " checked", "" ) 
37
Dim modeCb3 : modeCb3 = iif ( parMode AND 4, " checked", "" ) 
5478 dpurdie 38
 
39
'------------ Constants Declaration -----------
40
'------------ Variable Init -------------------
41
'----------------------------------------------
42
'------------------------- MAIN LINE ---------------------------
43
 
44
If Request("action") = "RemovePackages" AND Request("list_pv_id") <> "" Then
45
    Dim pvidArray, nPvId
46
    pvidArray = Split(Request("list_pv_id"), ",")
47
    For Each nPvId in pvidArray
48
 
49
        nPvId = Trim(nPvId)
50
 
51
        Dim objRC: Set objRC = New ReleaseChanged
52
        Call objRC.Get_Package_Info (parRtag_id,nPvId)
53
        Dim bReleased: bReleased = objRC.IsReleased(parRtag_id,nPvId)
54
 
55
        OraDatabase.Parameters.Add "PV_ID",       nPvId,                  ORAPARM_INPUT, ORATYPE_NUMBER
56
        OraDatabase.Parameters.Add "RTAG_ID",     parRtag_id,             ORAPARM_INPUT, ORATYPE_NUMBER
57
        OraDatabase.Parameters.Add "USER_ID",     objAccessControl.UserId,ORAPARM_INPUT, ORATYPE_NUMBER
58
        OraDatabase.Parameters.Add "RETURN_CODE", NULL,                   ORAPARM_OUTPUT, ORATYPE_NUMBER
59
        OraDatabase.Parameters.Add "FORCE_REMOVE","N",                    ORAPARM_INPUT, ORATYPE_NUMBER
60
 
61
        objEH.TryORA ( OraSession )
62
        On Error Resume Next
63
 
64
        OraDatabase.ExecuteSQL _
65
        "BEGIN "&_
66
        "   :RETURN_CODE := PK_ENVIRONMENT.REMOVE_PACKAGE ( :PV_ID, :RTAG_ID, :USER_ID, :FORCE_REMOVE );"&_
67
        "END; "
68
 
69
        objEH.CatchORA ( OraSession )
70
 
71
        OraDatabase.Parameters.Remove "PV_ID"
72
        OraDatabase.Parameters.Remove "RTAG_ID"
73
        OraDatabase.Parameters.Remove "USER_ID"
5952 dpurdie 74
        OraDatabase.Parameters.Remove "RETURN_CODE"
5478 dpurdie 75
        OraDatabase.Parameters.Remove "FORCE_REMOVE"
76
 
77
        If Not objEH.LastOraFailed Then
78
         If bReleased Then
79
           Call objRC.Run_ReleaseChanged(parRtag_id,nPvId,enumRELEASE_CHANGE_MODE_PKG_REMOVED,false)
80
         End If  
81
        End If  
82
 
83
        Set objRC = Nothing
84
 
85
   Next
86
End If
87
'---------------------------------------------------------------
88
%>
89
<html>
90
<head>
91
<title><%=Title(parRtag_id)%></title>
92
<link rel="shortcut icon" href="<%=FavIcon%>"/>
93
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
94
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6579 dpurdie 95
<link rel="stylesheet" href="images/release_manager_style.css?ver=<%=VixVerNum%>" type="text/css">
96
<link rel="stylesheet" href="images/navigation.css?ver=<%=VixVerNum%>" type="text/css">
97
<script language="JavaScript" src="images/common.js?ver=<%=VixVerNum%>"></script>
98
<script language="JavaScript" src="scripts/remote_scripting.js?ver=<%=VixVerNum%>"></script>
6873 dpurdie 99
<%bCsvExport = True%>
5478 dpurdie 100
<!--#include file="_jquery_includes.asp"-->
101
<!-- TIPS -->
6579 dpurdie 102
<script language="JavaScript" src="images/tipster.js?ver=<%=VixVerNum%>"></script>
103
<script language="JavaScript" src="images/_help_tips.js?ver=<%=VixVerNum%>"></script>
5478 dpurdie 104
<!-- DROPDOWN MENUS -->
105
<!--#include file="_menu_def.asp"-->
6579 dpurdie 106
<script language="JavaScript1.2" src="images/popup_menu.js?ver=<%=VixVerNum%>"></script>
6123 dpurdie 107
<script>
108
    function updateDisplay()
109
    {
110
        function getCbValue(n){
111
            var el = document.getElementById(n);
112
            if (el && el.checked) {
113
                return parseInt(el.value);
114
            }
115
            return 0;
116
        }
117
        var  all = getCbValue('cb1') + getCbValue('cb2') + getCbValue('cb3');
118
        console.log ('all:', all );
119
        location.href='<%=ScriptName%>?rtag_id=<%=parRtag_id%>&mode=' + all;
120
    }
121
</script>
5478 dpurdie 122
</head>
5481 dpurdie 123
<body bgcolor="White" text="Black" leftmargin=0 topmargin=0 onLoad="divProgressBar.style.visibility='hidden'">
5478 dpurdie 124
<!-- HEADER -->
125
<!--#include file="_header.asp"-->
126
<!-- BODY ---->
127
<table width="100%" border="0" cellspacing="0" cellpadding="0">
128
	<tr>
129
		<td valign="top" width="1" background="images/bg_bage.gif">
130
		<!-- LEFT -->
131
		<!--#include file="_environment.asp"-->
132
		</td>
133
		<td width="1" bgcolor="#999999"><img src="images/h_trsp_dot.gif" width="1" height="1"></td>
134
		<td valign="top" width="100%">
135
		<!-- MIDDLE -->
136
          <%
137
          ' Determine if the current user can remove packages from this release
138
          If releaseIsWritable(ReleaseMode) Then
139
              enableRemoval = TRUE
140
              enabledText = ""
141
          End If
142
 
143
          Dim Query_String
144
          Query_String = ReadFile( rootPath & "queries\rep_obsolete_packages.sql" )
145
          OraDatabase.Parameters.Add "RTAG_ID", parRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
6123 dpurdie 146
          OraDatabase.Parameters.Add "SMODE", parMode, ORAPARM_INPUT, ORATYPE_NUMBER
5478 dpurdie 147
          %>
148
          <form method="post" name="removePackages">
6873 dpurdie 149
          <table class="embedded_table etable" width="10%">
150
             <thead>
151
                <th width="1%" nowrap class="body_colb noCsv">&nbsp;</th>
152
                <th width="1%" nowrap class="body_colb">Package Name and Version&nbsp;&nbsp;&nbsp;</th>
153
                <th width="1%" nowrap class="body_colb">Released&nbsp;&nbsp;&nbsp;</th>
154
                <th width="1%" nowrap class="body_colb">Added to Release&nbsp;&nbsp;&nbsp;</th>
155
                <th width="1%" nowrap class="body_colb noCsv"></th>
156
             </thead>
5478 dpurdie 157
             <tr>
158
                <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
159
             </tr>
160
             <%
161
             Dim currView_id
162
             currView_id = -1
163
             Dim rsRep
164
             Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )
5952 dpurdie 165
             OraDatabase.Parameters.Remove "RTAG_ID"
6123 dpurdie 166
             OraDatabase.Parameters.Remove "SMODE"
5478 dpurdie 167
 
168
             If rsRep.RecordCount = 0 Then
169
                With Response
170
                   .write "<tr>"
171
                   .write "<td colspan='5' class='body_row'>Found 0 records</td>"
172
                   .write "</tr>"
173
                End With
174
             End If
175
 
176
             While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
177
                ' -------- GROUP BY BASE VIEW  -----------------
178
                If CDbl(currView_id) <> CDbl(rsRep("view_id")) Then
179
                   %>
180
                   <tr>
6873 dpurdie 181
                      <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
5478 dpurdie 182
                      <td></td>
183
                   </tr>
184
                   <tr>
185
                      <td nowrap class="body_scol"><%=rsRep("view_name")%></td>
186
                      <td class="body_scol"></td>
187
                      <td class="body_scol"></td>
188
                      <td class="body_scol"></td>
189
                      <td class="body_scol"></td>
190
                   </tr>
191
                   <%
192
                   currView_id = CDbl(rsRep("view_id"))
193
                End If
194
                ' -------- END GROUP ------------------------
195
                %>
6873 dpurdie 196
                <tr class='csvData'>
5478 dpurdie 197
                   <td class="body_row"></td>
198
                   <td nowrap class="body_row"><a href="used_by.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=parRtag_id%>" class="txt_linked"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></a></td>
6610 dpurdie 199
                   <td nowrap class="body_row"><%=DisplayDate( rsRep("modified_stamp") )%> by <%=emailField(rsRep("modifier"),rsRep("modifier_email"))%>&nbsp;&nbsp;&nbsp;</td>
200
                   <td nowrap class="body_row"><%=DisplayDate( rsRep("insert_stamp") )%> by <%=emailField(rsRep("insertor"),rsRep("insertor_email"))%>&nbsp;&nbsp;&nbsp;</td>
5478 dpurdie 201
                   <td nowrap class="body_row"><input type="checkbox" name="list_pv_id" <%=enabledText%> value="<%=rsRep("pv_id")%>"></td>
202
                </tr>
203
                <%  rsRep.MoveNext
204
             WEnd
5952 dpurdie 205
             rsRep.Close
206
             Set rsRep = Nothing
5478 dpurdie 207
             %>
208
             <tr>
209
                <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
210
             </tr>
211
             <tr>
6123 dpurdie 212
                <td class="body_scol" colspan="1" ><%=ProgressBar()%></td>
213
                <td class="body_scol" colspan="4" style="text-align:right">
214
                    <fieldset  class="fset" align="left" style="border: 1px groove;display: inline;">
215
                        <legend  style="text-align: left;">Hide</legend>    
216
                        <input id=cb1 type="checkbox" value=1 <%=modeCb1%> onclick="return updateDisplay();">Products
217
                        <input id=cb2 type="checkbox" value=2 <%=modeCb2%> onclick="return updateDisplay();">3rdParty
218
                        <input id=cb3 type="checkbox" value=4 <%=modeCb3%> onclick="return updateDisplay();">Deployable
219
                    </fieldset>    
5481 dpurdie 220
                    <input type="submit" value="Remove from Release" <%=enabledText%> onclick="return vixConfirm('Remove all selected packages from this Release',{post: 'removePackages', progress:'#divProgressBar'})">
5478 dpurdie 221
                </td>
222
             </tr>
223
             <tr>
224
                <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
225
             </tr>
226
             <tr>
227
                <td colspan="5" class=body_txt>
228
                These packages are not used within this Release. There is no package that lists any of these packages as a dependent.
229
                <p>The named packages can be removed without breaking the build, although they may be required for test purposes.
6123 dpurdie 230
                <p>Certain classes of package may be hidden:
231
                <br>Packages in the 'PRODUCTS' or 'AUTO PRODUCTS' are often assumed to be used.
232
                <br>Packages in the '3RDPARTY_PRODUCTS' are often artfacts of Deploment Manager.
233
                <br>Packages marked as 'Deployable' may be assumed to be used.
234
                <br>Packages that are imported as part of an SDK are not shown.
5478 dpurdie 235
                <p>Removing one or more packages may result in other packages nolonger being used.
236
                </td>
237
             </tr>
238
          </table>
239
          <input type="hidden" name="action" value="RemovePackages">
240
          </form>
241
        <!-- End of Middle -->
242
		</td>
243
	</tr>
244
</table>
245
<!-- FOOTER -->
246
<!--#include file="_footer.asp"-->
247
</body>
248
</html>