Subversion Repositories DevTools

Rev

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