Subversion Repositories DevTools

Rev

Rev 6688 | 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
7022 dpurdie 129
            ElseIf (pkgInfoHash.Item ("dlocked") = "A") Then
130
                lState = "<img src='icons/i_approved.gif' width='11' height='17' border='0' title='Approved to Build" & "&#13;" & "Click to view details." & "' onClick=""location.href='build_status.asp?rtag_id=" & irtag_id & "';"" >"
141 ghuddy 131
            End If
4617 dpurdie 132
            If NOT isEmpty(lState) Then Response.write "<td>" & lState & "</td>"
183 brianf 133
 
134
            If pkgInfoHash.Item ("product_state") = 4 Then
4617 dpurdie 135
                Response.write "<td>" & enum_imgProductRejected & "</td>"
183 brianf 136
            End If
137
 
138
            Dim state_icon
139
            If Not IsNull(pkgInfoHash.Item ("deprecated_state")) Then
140
              Select Case CInt(pkgInfoHash.Item ("deprecated_state"))
141
                Case enumPKG_STATE_DEPRECATED
142
                  state_icon = enum_imgDeprecated
143
                Case enumPKG_STATE_DEPRECATED_DEPENDENT
144
                  state_icon = enum_imgDeprecatedDependent
145
              End Select
4617 dpurdie 146
              If NOT isEmpty(state_icon) Then Response.write "<td>" & state_icon & "</td>"
183 brianf 147
            End If
148
 
149
            If Not (IsNull(pkgInfoHash.Item ("pkg_state")) or pkgInfoHash.Item ("pkg_state") = 0) Then
150
              Select Case CInt(pkgInfoHash.Item ("pkg_state"))
151
                Case enumPKG_STATE_MAJOR
152
                  state_icon = enum_imgCritical
153
                Case enumPKG_STATE_MINOR
154
                  state_icon = enum_imgWarning
155
                Case enumPKG_STATE_MAJOR_READY
156
                  state_icon = enum_imgCReady
157
                Case enumPKG_STATE_MINOR_READY
158
                  state_icon = enum_imgWReady
159
                Case enumPKG_NOT_FOUND
160
                  state_icon = enum_imgNotFound
161
                Case enumPKG_STATE_NEW_PATCH
162
                  state_icon = enum_imgPatchAvailable
163
                Case enumPKG_ADVISORY_RIPPLE
164
                  state_icon = enum_imgAR
165
                Case enumPKG_ADVISORY_RIPPLE_DEPENDENT
166
                  state_icon = enum_imgARD
5080 dpurdie 167
                Case enumPKG_SDK_IMPORT
168
                  state_icon = enum_imgSdkImport
169
                Case enumPKG_SDK_DEPENDENCY
170
                  state_icon = enum_imgSdkDep
183 brianf 171
              End Select
4617 dpurdie 172
                Response.write "<td>"
173
                Response.write state_icon
174
                Response.write "</td>"
183 brianf 175
            End If
176
 
5098 dpurdie 177
            ' Package peg status
178
            ' Not done as a part of pkg_state some states are not mutually exclusive
179
            If pkgInfoHash.Item ("is_pegged") Then
180
                Response.write "<td>"
181
                Response.write enum_imgGreenPin
182
                Response.write "</td>"
183
            End If
183 brianf 184
 
5898 dpurdie 185
            'build_type', and a value of 'M' = manual and 'A' = auto , 'U' = UnBuildable
183 brianf 186
            If pkgInfoHash.Item("build_type") = "M" Then
4617 dpurdie 187
                Response.write "<td>"
5898 dpurdie 188
                Response.write "<img src='icons/i_manual.gif' width='12' height='14' border='0' title='Manually built package'>"
4617 dpurdie 189
                Response.write "</td>"
5898 dpurdie 190
            ElseIf pkgInfoHash.Item("build_type") = "U" Then
191
                Response.write "<td>"
5901 dpurdie 192
                Response.write enum_imgUnBuildable
5898 dpurdie 193
                Response.write "</td>"
183 brianf 194
            End If
195
 
196
            ' check if a daemon instruction exists for this package
6185 dpurdie 197
            If pkgInfoHash.Item("hasRippleInstr") Then
4617 dpurdie 198
                Response.write "<td>"
6186 dpurdie 199
                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 200
                Response.write "</td>"
183 brianf 201
            End If
202
 
6185 dpurdie 203
            If pkgInfoHash.Item("hasTestInstr") <> "" Then
204
                Response.write "<td>"
6187 dpurdie 205
                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 206
                Response.write "</td>"
207
            End If
208
 
7022 dpurdie 209
            If pkgInfoHash.Item("hasFutureBuild") <> "" Then
210
                Response.write "<td>"
211
                Response.write "<img src='images/future.png' width='17' height='17' border='0' title='Scheduled Build" & "&#13;" & "Click to view details." & "' onClick=""location.href='build_status.asp?rtag_id=" & irtag_id & "';"" >"
212
                Response.write "</td>"
213
            End If
6185 dpurdie 214
 
7022 dpurdie 215
            If pkgInfoHash.Item("isBuilding") Then
216
                Response.write "<td>"
217
                Response.write "<img src='images/compile.png' width='17' height='17' border='0' title='Package is currently building" & "&#13;" & "Click to view details." & "' onClick=""location.href='build_status.asp?rtag_id=" & irtag_id & "';"" >"
218
                Response.write "</td>"
219
            End If
220
 
183 brianf 221
            ' check if this package has a build failure file
222
            If pkgInfoHash("has_build_failure") Then
4617 dpurdie 223
                Response.write "<td>"
224
                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 & "';"" >"
225
                Response.write "</td>"
183 brianf 226
            ElseIf pkgInfoHash("is_excluded") Then
227
            ' check if this package has been excluded from the build
4617 dpurdie 228
                Response.write "<td>"
229
                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 & "';"" >"
230
                Response.write "</td>"
183 brianf 231
            End If
232
 
4617 dpurdie 233
            ' Warn if the package is not in the package archive
4710 dpurdie 234
            ' Use http access for package test as this does not require AD authentication
6176 dpurdie 235
             If (pkgInfoHash.Item ("dlocked") = "Y") OR pkgInfoHash.Item("build_type") = "M" Then
236
                 If NOT pkgInfoHash.Item ("isInArchive") Then
4710 dpurdie 237
                     Response.write "<td>"
238
                     Response.write enum_imgNotInArchive
239
                     Response.write "</td>"
240
                 End If
241
             End If
183 brianf 242
 
7022 dpurdie 243
             ' Warn if the package has hit a ripple stop and is waiting for the user
6440 dpurdie 244
             If (pkgInfoHash.Item ("ripple_stop") = "w") Then
245
                 Response.write "<td>"
246
                 Response.write enum_imgRippleStop
247
                 Response.write "</td>"
248
             ElseIf (pkgInfoHash.Item ("ripple_stop") = "g") Then
249
                 Response.write "<td>"
250
                 Response.write enum_imgRippleGo
251
                 Response.write "</td>"
252
             End If
253
 
254
 
7022 dpurdie 255
             ' Warn if the package version is not in the release
4764 dpurdie 256
             If pkgInfoHash.Exists("notInRelease")  Then
257
                     Response.write "<td>"
6688 dpurdie 258
 
259
                     If pkgInfoHash.Exists("pv_id_InRelease") Then Response.write "<a href=gotoLatestInRelease.asp?pv_id=" & pkgInfoHash.Item("pv_id") & "&rtag_id="&irtag_id & "&page=" & scriptName & ">"
4764 dpurdie 260
                     Response.write enum_imgNotInRelease
5846 dpurdie 261
                     If pkgInfoHash.Exists("pv_id_InRelease") Then Response.write "</a>"
6688 dpurdie 262
 
4764 dpurdie 263
                     Response.write "</td>"
264
             End If
265
 
6688 dpurdie 266
            Response.write "<td class=pointer onClick='showmenu(event,copyPackageMenu)' onmouseout='delayhidemenu()'>"
6591 dpurdie 267
            Response.Write enum_imgClipBoard
6688 dpurdie 268
            Response.write "</td>"
6591 dpurdie 269
 
183 brianf 270
            Response.write "</tr>"
271
            Response.write "</table>"
272
 
141 ghuddy 273
         End If
274
         %>
183 brianf 275
 
141 ghuddy 276
      </td>
277
   </tr>
278
   <tr>
183 brianf 279
      <td style=color:Red>
280
      </td>
147 ghuddy 281
   </tr>
183 brianf 282
   </table>
119 ghuddy 283
<%
284
End Sub
285
 
286
'-----------------------------------------------------------------------------------------------------------------------------
183 brianf 287
Sub RenderStatus(irtag_id,ipv_id)
119 ghuddy 288
%>
4687 dpurdie 289
   <table width="100%" border="0" cellspacing="0" cellpadding="0">
183 brianf 290
   <tr>
185 brianf 291
     <td width="100%">
183 brianf 292
       <!-- PACKAGE PROPERTIES ----------------------------  -->
293
       <%
294
         If ipv_id <> "" Then
295
           Call RenderPackageProperties (irtag_id)
296
         End If
297
       %>
298
     </td>
185 brianf 299
   </tr>
300
   </table>
301
<%
302
End Sub
303
 
304
'-----------------------------------------------------------------------------------------------------------------------------
305
Sub RenderDaemonBar(irtag_id,ipv_id)
306
%>
4687 dpurdie 307
   <!-- Daemon Bar ----------------------------  -->
5009 dpurdie 308
   <table border="0" cellspacing="0" cellpadding="0">
185 brianf 309
   <tr>
310
     <td valign=bottom>
183 brianf 311
       <%
312
         If irtag_id<>"" Then
313
           Dim objDmSts: Set objDmSts = New DaemonStatus
314
       %>
5009 dpurdie 315
           <fieldset style="margin:0px;padding:2px;">
183 brianf 316
               <%Call objDmSts.RenderDaemonStatusForRelease(irtag_id,16)%>
317
           </fieldset>
318
       <%
319
           Set objDmSts = Nothing
320
         End If
321
       %>
322
     </td>
323
   </tr>
324
   </table>
325
<%
326
End Sub
327
 
328
'-----------------------------------------------------------------------------------------------------------------------------
185 brianf 329
Sub RenderActionBar(irtag_id,ipv_id)
330
   Response.write("<table border=0 cellpadding=0 cellspacing=0>")
331
   Response.write("  <tr>")
4703 dpurdie 332
   Response.write("    <td width='99%'>")
185 brianf 333
   If Not ((ipv_id = "") or (IsNull(ipv_id))) Then
334
     Call RenderActionButtons
335
   End If
336
   Response.write("    </td>")
4082 dpurdie 337
 
185 brianf 338
   Response.write("    <td width='1%'>")
339
   Call RenderDaemonBar(irtag_id,ipv_id)
340
   Response.write("    </td>")
341
   Response.write("  </tr>")
342
   Response.write("</table>")
343
End Sub
344
'-----------------------------------------------------------------------------------------------------------------------------
183 brianf 345
%>