Subversion Repositories DevTools

Rev

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

Rev Author Line No. Line
119 ghuddy 1
<%
2
'===================================================================
141 ghuddy 3
'                     Package Common
119 ghuddy 4
'===================================================================
5
%>
6
<!--#include file="../class/classTemplateManager.asp"-->
7
<!--#include file="../class/classTabControl.asp"-->
8
<!--#include file="../class/classActionButtonControl.asp"-->
147 ghuddy 9
<!--#include file="daemon_instructions.asp"-->
183 brianf 10
<!--#include file="daemon_status.asp"-->
185 brianf 11
<!--#include file="../_pkg_action_buttons.asp"-->
119 ghuddy 12
<%
13
'------------ VARIABLE DEFINITION -------------
14
Dim parPv_id
141 ghuddy 15
Dim nEnvTab         ' remember environment tab
119 ghuddy 16
Dim objBtnControl
17
Dim aTabBtnsDef
18
'------------ CONSTANTS DECLARATION -----------
19
'------------ VARIABLE INIT -------------------
20
parPv_id = Request("pv_id")
21
Set objBtnControl = New ActionButtonControl
22
'------------ CONDITIONS ----------------------
23
'----------------------------------------------
24
%>
25
<%
26
'------------ RUN BEFORE PAGE RENDER ----------
27
 
28
'--- Make sure rtag_id is always present
5957 dpurdie 29
If (Request("rtag_id") = "") AND (Request("pv_id") = "") Then 
30
    Call Destroy_All_Objects
31
    Response.Redirect("index.asp")
32
End If
119 ghuddy 33
 
34
 
35
'--- Rebuild Environment
36
If (Request("rtag_id") <> "") Then
141 ghuddy 37
   Call Rebuild_Environment ( parRtag_id )
119 ghuddy 38
End If
39
 
40
'--- Persist following parameters between postbacks
41
objPMod.PersistInQryString ( aPersistList(enumPAR_RTAG_ID) )
42
objPMod.PersistInQryString ( aPersistList(enumPAR_PV_ID) )
43
 
44
 
45
'--- Get Environment (lefthand side menu) tab
46
nEnvTab = GetEnvTab ( Request("envtab") )
47
 
48
 
49
'--- Get Package General Information
50
Set pkgInfoHash = CreateObject("Scripting.Dictionary")
51
If Request("pv_id") <> "" Then
141 ghuddy 52
   Call Get_Pkg_Info ( Request("pv_id"), Request("rtag_id") )
119 ghuddy 53
 
5957 dpurdie 54
    ' Make sure pv_id exists as it may be removed
55
    If pkgInfoHash.Item("pv_id") = "" Then 
56
        Call Destroy_All_Objects
57
        Response.Redirect ("dependencies.asp?rtag_id="& Request("rtag_id"))
58
    End If
119 ghuddy 59
 
5098 dpurdie 60
ElseIf isDefined("allowNoPackage") Then
61
    ' Get basic information - if no package is present
62
    ' Used by dependencies.asp, find.asp and sdk_add_release.asp
63
    Call Get_NoPkg_Info( Request("rtag_id") )
119 ghuddy 64
Else
5098 dpurdie 65
    ' Don't know how we got here without a pvid - display default page
5957 dpurdie 66
    Call Destroy_All_Objects
5098 dpurdie 67
    Response.Redirect ("dependencies.asp?rtag_id="& Request("rtag_id"))
119 ghuddy 68
End If
69
 
70
 
71
'----------------------------------------------
72
%>
73
<%
74
'-----------------------------------------------------------------------------------------------------------------------------
183 brianf 75
Sub RenderPackageProperties (irtag_id)
119 ghuddy 76
%>
183 brianf 77
   <table width="100%" border="0" cellspacing="0" cellpadding="0">
141 ghuddy 78
   <tr>
183 brianf 79
     <td>
141 ghuddy 80
         <%
81
         If pkgInfoHash.Item ("is_patch") = "Y" Then
82
            '--- PATCH ---
83
            Response.write "<br><a href='patches.asp?pv_id="& pkgInfoHash.Item ("patch_parent_id") &"&rtag_id="& Request("rtag_id") &"' class='txt_linked'><img src='icons/i_caretone.gif' hspace='2' border='0' align='absmiddle'>Back To "& pkgInfoHash.Item ("pkg_name") &"</a><br><br>"
119 ghuddy 84
 
141 ghuddy 85
            If pkgInfoHash.Item ("is_obsolete") = "Y" Then
86
               Dim rsTemp
87
               Set rsTemp = OraDatabase.DbCreateDynaset( "select patch_obsoleted_by from package_patches where patch_id ="&pkgInfoHash.Item ("pv_id"), cint(0))
119 ghuddy 88
 
141 ghuddy 89
               If rsTemp("patch_obsoleted_by") <> "" Then
119 ghuddy 90
 
141 ghuddy 91
                  Set rsTemp = OraDatabase.DbCreateDynaset( "select pkg_version from package_versions where pv_id ="&rsTemp("patch_obsoleted_by"), cint(0))
92
                  Call Messenger ( "<SPAN class='err_alert'><b>Patch Is Obsolete!</b></SPAN><br>"& NewLine_To_BR( "<b>Obsoleted by patch "& rsTemp("pkg_version") & ". </b> " ) & NewLine_To_BR( pkgInfoHash.Item ("obsolete_comments") ), 3, "100%" )
119 ghuddy 93
 
141 ghuddy 94
                  rsTemp.Close()
95
                  Set rsTemp = nothing
96
               Else
97
                  Call Messenger ( "<SPAN class='err_alert'><b>Patch Is Obsolete!</b></SPAN><br>"& NewLine_To_BR( pkgInfoHash.Item ("obsolete_comments") ), 3, "100%" )
98
               End If
99
               Response.write enum_imgPatchObsolete
100
            Else
101
               Response.write enum_imgPatch
102
            End If
119 ghuddy 103
 
104
 
141 ghuddy 105
            If pkgInfoHash.Item ("dlocked") = "Y" Then
106
               Response.write "<SPAN class='lbox_ttl'>"& pkgInfoHash.Item ("pkg_version") &"<img src='images/i_locked.gif' width='12' height='14' border='0' hspace='5' align='top'></SPAN>"
107
            Else
108
               Response.write "<SPAN class='lbox_ttl'>"& pkgInfoHash.Item ("pkg_version") &"</SPAN>"
109
            End If
110
         Else
111
            '--- PACKAGE ---
183 brianf 112
            Response.write "<table cellspacing=1 cellpadding=0>"
113
            Response.write "<tr>"
114
            Response.write "<td>"
115
            Response.write "<SPAN class='lbox_ttl'>"& pkgInfoHash.Item ("pkg_name") &"&nbsp;"& pkgInfoHash.Item ("pkg_version") & "&nbsp;" & "&nbsp;" & "</SPAN>"
116
            Response.write "</td>"
117
 
118
            ' dlocked: Y - release, N - unlocked, P - pending, A - approved, R - rejected
4617 dpurdie 119
            Dim lState
141 ghuddy 120
            If pkgInfoHash.Item ("dlocked") = "Y" Then
4617 dpurdie 121
              lState = enum_imgReleasedLocked
183 brianf 122
            ElseIf pkgInfoHash("is_released") Then
4617 dpurdie 123
              lState = enum_imgReleasedUnlocked
183 brianf 124
            ElseIf pkgInfoHash.Item ("dlocked") = "P" Then
4617 dpurdie 125
              lState = enum_imgPending
183 brianf 126
            ElseIf (pkgInfoHash.Item ("dlocked") = "N") OR (pkgInfoHash.Item ("dlocked") = "R") Then
127
              'ElseIf (irtag_id<>"") Then
4617 dpurdie 128
              lState = enum_imgBuilding
141 ghuddy 129
            End If
4617 dpurdie 130
            If NOT isEmpty(lState) Then Response.write "<td>" & lState & "</td>"
183 brianf 131
 
132
            If pkgInfoHash.Item ("product_state") = 4 Then
4617 dpurdie 133
                Response.write "<td>" & enum_imgProductRejected & "</td>"
183 brianf 134
            End If
135
 
136
            Dim state_icon
137
            If Not IsNull(pkgInfoHash.Item ("deprecated_state")) Then
138
              Select Case CInt(pkgInfoHash.Item ("deprecated_state"))
139
                Case enumPKG_STATE_DEPRECATED
140
                  state_icon = enum_imgDeprecated
141
                Case enumPKG_STATE_DEPRECATED_DEPENDENT
142
                  state_icon = enum_imgDeprecatedDependent
143
              End Select
4617 dpurdie 144
              If NOT isEmpty(state_icon) Then Response.write "<td>" & state_icon & "</td>"
183 brianf 145
            End If
146
 
147
            If Not (IsNull(pkgInfoHash.Item ("pkg_state")) or pkgInfoHash.Item ("pkg_state") = 0) Then
148
              Select Case CInt(pkgInfoHash.Item ("pkg_state"))
149
                Case enumPKG_STATE_MAJOR
150
                  state_icon = enum_imgCritical
151
                Case enumPKG_STATE_MINOR
152
                  state_icon = enum_imgWarning
153
                Case enumPKG_STATE_MAJOR_READY
154
                  state_icon = enum_imgCReady
155
                Case enumPKG_STATE_MINOR_READY
156
                  state_icon = enum_imgWReady
157
                Case enumPKG_NOT_FOUND
158
                  state_icon = enum_imgNotFound
159
                Case enumPKG_STATE_NEW_PATCH
160
                  state_icon = enum_imgPatchAvailable
161
                Case enumPKG_ADVISORY_RIPPLE
162
                  state_icon = enum_imgAR
163
                Case enumPKG_ADVISORY_RIPPLE_DEPENDENT
164
                  state_icon = enum_imgARD
5080 dpurdie 165
                Case enumPKG_SDK_IMPORT
166
                  state_icon = enum_imgSdkImport
167
                Case enumPKG_SDK_DEPENDENCY
168
                  state_icon = enum_imgSdkDep
183 brianf 169
              End Select
4617 dpurdie 170
                Response.write "<td>"
171
                Response.write state_icon
172
                Response.write "</td>"
183 brianf 173
            End If
174
 
5098 dpurdie 175
            ' Package peg status
176
            ' Not done as a part of pkg_state some states are not mutually exclusive
177
            If pkgInfoHash.Item ("is_pegged") Then
178
                Response.write "<td>"
179
                Response.write enum_imgGreenPin
180
                Response.write "</td>"
181
            End If
183 brianf 182
 
5898 dpurdie 183
            'build_type', and a value of 'M' = manual and 'A' = auto , 'U' = UnBuildable
183 brianf 184
            If pkgInfoHash.Item("build_type") = "M" Then
4617 dpurdie 185
                Response.write "<td>"
5898 dpurdie 186
                Response.write "<img src='icons/i_manual.gif' width='12' height='14' border='0' title='Manually built package'>"
4617 dpurdie 187
                Response.write "</td>"
5898 dpurdie 188
            ElseIf pkgInfoHash.Item("build_type") = "U" Then
189
                Response.write "<td>"
5901 dpurdie 190
                Response.write enum_imgUnBuildable
5898 dpurdie 191
                Response.write "</td>"
183 brianf 192
            End If
193
 
194
            ' check if a daemon instruction exists for this package
6185 dpurdie 195
            If pkgInfoHash.Item("hasRippleInstr") Then
4617 dpurdie 196
                Response.write "<td>"
6186 dpurdie 197
                Response.write "<img src='images/Cascade.gif' width='17' height='17' border='0' title='Ripple Build Request." & "&#13;" & "Click to view details." & "' onClick=""location.href='build_status.asp?rtag_id=" & irtag_id & "';"" >"
4617 dpurdie 198
                Response.write "</td>"
183 brianf 199
            End If
200
 
6185 dpurdie 201
            If pkgInfoHash.Item("hasTestInstr") <> "" Then
202
                Response.write "<td>"
6187 dpurdie 203
                Response.write "<img src='images/Test.gif' width='17' height='17' border='0' title='Test Build Request." & "&#13;" & "Click to view details." & "' onClick=""location.href='build_status.asp?rtag_id=" & irtag_id & "';"" >"
6185 dpurdie 204
                Response.write "</td>"
205
            End If
206
 
207
 
183 brianf 208
            ' check if this package has a build failure file
209
            If pkgInfoHash("has_build_failure") Then
4617 dpurdie 210
                Response.write "<td>"
211
                Response.write "<img src='icons/i_build_failure.gif' width='19' height='17' border='0' title='Package build failure." & "&#13;" & "Click to view details." &"' onClick=""location.href='build_status.asp?rtag_id=" & irtag_id & "';"" >"
212
                Response.write "</td>"
183 brianf 213
            ElseIf pkgInfoHash("is_excluded") Then
214
            ' check if this package has been excluded from the build
4617 dpurdie 215
                Response.write "<td>"
216
                Response.write "<img src='icons/i_build_exclusion.gif' width='19' height='17' border='0' title='Package excluded from build." & "&#13;" & "Click to view details." &"' onClick=""location.href='build_status.asp?rtag_id=" & irtag_id & "';"" >"
217
                Response.write "</td>"
183 brianf 218
            End If
219
 
4617 dpurdie 220
            ' Warn if the package is not in the package archive
4710 dpurdie 221
            ' Use http access for package test as this does not require AD authentication
6176 dpurdie 222
             If (pkgInfoHash.Item ("dlocked") = "Y") OR pkgInfoHash.Item("build_type") = "M" Then
223
                 If NOT pkgInfoHash.Item ("isInArchive") Then
4710 dpurdie 224
                     Response.write "<td>"
225
                     Response.write enum_imgNotInArchive
226
                     Response.write "</td>"
227
                 End If
228
             End If
183 brianf 229
 
4764 dpurdie 230
             ' Warn if the package versionis not in the release
231
             If pkgInfoHash.Exists("notInRelease")  Then
232
                     Response.write "<td>"
5846 dpurdie 233
                     If pkgInfoHash.Exists("pv_id_InRelease") Then Response.write "<a href="& scriptName & "?pv_id=" & pkgInfoHash.Item("pv_id_InRelease") &"&rtag_id="&irtag_id&">"
4764 dpurdie 234
                     Response.write enum_imgNotInRelease
5846 dpurdie 235
                     If pkgInfoHash.Exists("pv_id_InRelease") Then Response.write "</a>"
4764 dpurdie 236
                     Response.write "</td>"
237
             End If
238
 
183 brianf 239
            Response.write "</tr>"
240
            Response.write "</table>"
241
 
141 ghuddy 242
         End If
243
         %>
183 brianf 244
 
141 ghuddy 245
      </td>
246
   </tr>
247
   <tr>
183 brianf 248
      <td style=color:Red>
249
      </td>
147 ghuddy 250
   </tr>
183 brianf 251
   </table>
119 ghuddy 252
<%
253
End Sub
254
 
255
'-----------------------------------------------------------------------------------------------------------------------------
183 brianf 256
Sub RenderStatus(irtag_id,ipv_id)
119 ghuddy 257
%>
4687 dpurdie 258
   <table width="100%" border="0" cellspacing="0" cellpadding="0">
183 brianf 259
   <tr>
185 brianf 260
     <td width="100%">
183 brianf 261
       <!-- PACKAGE PROPERTIES ----------------------------  -->
262
       <%
263
         If ipv_id <> "" Then
264
           Call RenderPackageProperties (irtag_id)
265
         End If
266
       %>
267
     </td>
185 brianf 268
   </tr>
269
   </table>
270
<%
271
End Sub
272
 
273
'-----------------------------------------------------------------------------------------------------------------------------
274
Sub RenderDaemonBar(irtag_id,ipv_id)
275
%>
4687 dpurdie 276
   <!-- Daemon Bar ----------------------------  -->
5009 dpurdie 277
   <table border="0" cellspacing="0" cellpadding="0">
185 brianf 278
   <tr>
279
     <td valign=bottom>
183 brianf 280
       <%
281
         If irtag_id<>"" Then
282
           Dim objDmSts: Set objDmSts = New DaemonStatus
283
       %>
5009 dpurdie 284
           <fieldset style="margin:0px;padding:2px;">
183 brianf 285
               <%Call objDmSts.RenderDaemonStatusForRelease(irtag_id,16)%>
286
           </fieldset>
287
       <%
288
           Set objDmSts = Nothing
289
         End If
290
       %>
291
     </td>
292
   </tr>
293
   </table>
294
<%
295
End Sub
296
 
297
'-----------------------------------------------------------------------------------------------------------------------------
185 brianf 298
Sub RenderActionBar(irtag_id,ipv_id)
299
   Response.write("<table border=0 cellpadding=0 cellspacing=0>")
300
   Response.write("  <tr>")
4703 dpurdie 301
   Response.write("    <td width='99%'>")
185 brianf 302
   If Not ((ipv_id = "") or (IsNull(ipv_id))) Then
303
     Call RenderActionButtons
304
   End If
305
   Response.write("    </td>")
4082 dpurdie 306
 
185 brianf 307
   Response.write("    <td width='1%'>")
308
   Call RenderDaemonBar(irtag_id,ipv_id)
309
   Response.write("    </td>")
310
   Response.write("  </tr>")
311
   Response.write("</table>")
312
End Sub
313
'-----------------------------------------------------------------------------------------------------------------------------
183 brianf 314
%>