Subversion Repositories DevTools

Rev

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

Rev Author Line No. Line
119 ghuddy 1
<%
2
'=====================================================
133 ghuddy 3
'            Package Action Buttons
119 ghuddy 4
'=====================================================
5
%>
6
 
7
<%
143 ghuddy 8
Sub ActivateButtonAccordingToReleaseModeAndPermissions( NNbutton, NNpermission)
5061 dpurdie 9
   If canActionInProject() Then
147 ghuddy 10
      If ( ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE) OR ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE ) Then
5061 dpurdie 11
         If canActionControlInProject(NNpermission) Then
147 ghuddy 12
            Call objBtnControl.Active ( NNbutton, "Y" )
13
         Else
14
            Call objBtnControl.Active ( NNbutton, "N" )
15
         End If
16
      ElseIf ( ReleaseMode = enumDB_RELEASE_IN_OPEN_MODE ) Then
143 ghuddy 17
         Call objBtnControl.Active ( NNbutton, "Y" )
18
      Else
19
         Call objBtnControl.Active ( NNbutton, "N" )
20
      End If
21
   Else
22
      Call objBtnControl.Active ( NNbutton, "N" )
23
   End If
24
End Sub
25
 
185 brianf 26
Sub RenderActionButtons
119 ghuddy 27
'--Determine whether the release has an associated MASS_REF
28
Dim rsAssoc, AssocMASSREF, AssocMASSREFValue, StatesUsed
5929 dpurdie 29
If parRtag_id > 0 Then
30
   Set rsAssoc = OraDatabase.DbCreateDynaset( "SELECT ASSOC_MASS_REF, PRODUCT_STATE_USED FROM RELEASE_TAGS WHERE RTAG_ID="&parRtag_id, cint(0))
133 ghuddy 31
   AssocMASSREFValue = rsAssoc("ASSOC_MASS_REF")
32
   StatesUsed = rsAssoc("PRODUCT_STATE_USED")
33
      If NOT IsNull(rsAssoc("ASSOC_MASS_REF")) Then
34
         AssocMASSREF = True
35
      Else
36
         AssocMASSREF = False
37
      End If
38
   rsAssoc.Close()
39
   Set rsAssoc = nothing
119 ghuddy 40
End If
41
 
42
'-- Define Action buttons on this tab
43
If IsNull(pkgInfoHash.Item("is_patch")) Then
5929 dpurdie 44
   If parRtag_id > 0 Then
133 ghuddy 45
      If (pkgInfoHash.Item("can_edit_in_project") = "1" OR  _
5061 dpurdie 46
         canShowControlInProject("AlterReleaseContentsInRestrictiveMode")) OR (pkgInfoHash.Item("v_ext") = ".mas" AND pkgInfoHash.Item("v_ext") = ".cr" OR NOT AssocMASSREF OR NOT IsNull(pkgInfoHash.Item("v_ext"))  ) _
119 ghuddy 47
 
133 ghuddy 48
      Then
49
         If pkgInfoHash.Item("is_deployable") = "Y" AND pkgInfoHash.Item("dlocked") = "Y" AND StatesUsed = "Y" Then
50
            If pkgInfoHash.Item("product_state") = 1 Then
119 ghuddy 51
 
133 ghuddy 52
            'Response.Write("Pressed")
53
               ' For Products that have been approved for Pending Integration
131 ghuddy 54
               aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingTest", "btnRejectProduct", "width=20", _
133 ghuddy 55
                             "width=20", "btnMoveToView", "btnStickyNotes")
119 ghuddy 56
 
133 ghuddy 57
            ElseIf pkgInfoHash.Item("product_state") = 2 Then
58
               ' For Products that have been approved for Pending Test
131 ghuddy 59
               aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingIntegration", "btnPendingDeployment","btnRejectProduct", "width=20", _
133 ghuddy 60
                             "width=20", "btnMoveToView", "btnStickyNotes")
119 ghuddy 61
 
133 ghuddy 62
            ElseIf pkgInfoHash.Item("product_state") = 3 or pkgInfoHash.Item("product_state") = 4 Then
63
         '      'For Products that have been approved for Pending Deployment
131 ghuddy 64
               aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnRejectPackage", "width=20", _
133 ghuddy 65
                             "btnMoveToView", "btnReversionPackage", "width=20", "btnMoveToView", "btnStickyNotes")
119 ghuddy 66
 
133 ghuddy 67
            ElseIf pkgInfoHash.Item("product_state") = 5 Then
68
         '      'For Products that have been approved for Pending Integration and Deployment
131 ghuddy 69
               aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingDeployment", "width=20", _
133 ghuddy 70
                             "width=20", "btnMoveToView", "btnStickyNotes")
119 ghuddy 71
 
133 ghuddy 72
            ElseIf IsNull(pkgInfoHash.Item("product_state")) Then
5061 dpurdie 73
               If canShowControlInProject("ApprovePendingIntegrateAndDeploy") Then
133 ghuddy 74
                  'For Products that have have not yet been approved for Pending Integration
131 ghuddy 75
                  aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingIntegration", "btnPendingIntegrateAndDeploy", "btnRejectProduct", "width=20", "btnRemovePackage", _
133 ghuddy 76
                                "btnMoveToView", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
77
               Else
78
                  'For Products that have have not yet been approved for Pending Integration
131 ghuddy 79
                  aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingIntegration","btnRemovePackage", "width=20", "btnRejectProduct", "width=20", _
133 ghuddy 80
                                "width=20", "btnMoveToView", "btnStickyNotes")
81
               End If
82
            Else
83
               ' For Packages Not In Release(Bug Fix From Deployment Manager)
131 ghuddy 84
               aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnMakePending", "btnApprovePackage", "btnMakeRelease", "btnRejectPackage", "width=20", _
133 ghuddy 85
                             "btnMoveToView", "btnReversionPackage", "width=20", "btnMoveToView", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
119 ghuddy 86
 
133 ghuddy 87
            End If
119 ghuddy 88
 
5061 dpurdie 89
         ElseIf canActionControlInProject("EditCriticalInfoForLockedPackage") Then
133 ghuddy 90
            ' For Packages in Release
5597 dpurdie 91
            aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "width=20", "btnDestroyWip" ,"btnRemovePackage", "btnMoveWIPToRelease",  "width=20", _
149 ghuddy 92
                                "btnAddDaemonInstTestBuildPackage", "btnMakePending", "btnApprovePackage", "btnApproveMerge", "btnMakeRelease", "btnRejectPackage", "btnRejectAutobuildPackage", "btnMakeUnrelease", "width=20", _
5597 dpurdie 93
                                "btnMoveToView", "btnReversionPackage","btnLockPackage","btnUnLockPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation", "btnAddDaemonInstRipplePackage" )
133 ghuddy 94
         Else
95
            ' For Packages in Release
5597 dpurdie 96
            aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "width=20", "btnDestroyWip","btnRemovePackage", "btnMoveWIPToRelease", "width=20", _
149 ghuddy 97
                                "btnAddDaemonInstTestBuildPackage", "btnMakePending", "btnApprovePackage", "btnApproveMerge", "btnMakeRelease", "btnRejectPackage", "btnRejectAutobuildPackage", "width=20", _
5597 dpurdie 98
                                "btnMoveToView", "btnReversionPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation", "btnAddDaemonInstRipplePackage")
133 ghuddy 99
         End If
100
      Else
101
         ' Non-Editable Packages in Release
102
         If AssocMASSREF Then
131 ghuddy 103
            aTabBtnsDef = Array( "btnNewVersion-MASSREF", "btnVersionHistory", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
133 ghuddy 104
         Else
131 ghuddy 105
            aTabBtnsDef = Array( "btnVersionHistory", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
133 ghuddy 106
         End If
107
      End If
119 ghuddy 108
 
133 ghuddy 109
   Else
5929 dpurdie 110
      ' For standalone Packages (Not viewed in project release)
111
      aTabBtnsDef = Array("btnVersionHistory", "btnRecycleBin", "btnReversionPackage", "width=20", "btnStickyNotes")
133 ghuddy 112
   End If
119 ghuddy 113
 
114
Else
133 ghuddy 115
   ' For Patches
116
   'aTabBtnsDef = Array("btnMakePending", "btnApprovePackage", "btnMakeRelease", "btnMakeUnrelease", "btnRejectPackage", "width=20", _
117
   '                 "btnReversionPackage", "width=20", "btnObsoletePatch", "btnUnobsoletePatch", "width=20","btnStickyNotes")
118
   aTabBtnsDef = Array("btnMakeRelease", "btnMakeUnrelease", "width=20", _
119
                    "btnReversionPackage", "width=20", "btnObsoletePatch", "btnUnobsoletePatch", "width=20","btnStickyNotes")
119 ghuddy 120
 
121
 
122
End If
123
 
124
' Load action buttons from database
125
Call objBtnControl.LoadActionButtons ( aTabBtnsDef, OraDatabase )
126
 
127
' Set spacing to minimum between buttons
128
objBtnControl.ButtonSpacer = 0
129
objBtnControl.ImageHspace = 2
130
 
131
 
132
'--- Set button conditions ---
5178 dpurdie 133
objBtnControl.IsReadonlyAction = releaseIsClosed(ReleaseMode)
134
objBtnControl.setClosed        = releaseIsClosed(ReleaseMode)
119 ghuddy 135
 
136
 
143 ghuddy 137
' NOTE: At this point, all buttons are Active and Visible and must now be configured
138
'       as appropriate by statements that follow.
119 ghuddy 139
 
143 ghuddy 140
 
119 ghuddy 141
'--- Set default button settings ---
142
Call objBtnControl.Visible ( "btnNewVersion", "N" )
143
Call objBtnControl.Visible ( "btnNewVersion-MASSREF", "N")
144
Call objBtnControl.Visible ( "btnMakePending", "N" )
133 ghuddy 145
Call objBtnControl.Active  ( "btnMakePending", "N" )
119 ghuddy 146
Call objBtnControl.Visible ( "btnApprovePackage", "N" )
147
Call objBtnControl.Visible ( "btnMakeRelease", "N" )
148
'Call objBtnControl.Active ( "btnMakeRelease", "N" )
133 ghuddy 149
Call objBtnControl.Active  ( "btnRejectPackage", "N" )
119 ghuddy 150
Call objBtnControl.Visible ( "btnRejectPackage", "N" )
143 ghuddy 151
Call objBtnControl.Active  ( "btnRejectAutobuildPackage", "N" )
152
Call objBtnControl.Visible ( "btnRejectAutobuildPackage", "N" )
133 ghuddy 153
Call objBtnControl.Active  ( "btnMakeUnrelease", "N" )
154
Call objBtnControl.Active  ( "btnReversionPackage", "N" )
119 ghuddy 155
Call objBtnControl.Visible ( "btnObsoletePatch", "N" )
156
Call objBtnControl.Visible ( "btnUnobsoletePatch", "N" )
157
Call objBtnControl.Visible ( "btnDeprecation", "N" )
158
Call objBtnControl.Visible ( "btnUnDeprecation", "N" )
133 ghuddy 159
Call objBtnControl.Active  ( "btnApproveMerge", "N" )
119 ghuddy 160
Call objBtnControl.Visible ( "btnApproveMerge", "N" )
147 ghuddy 161
Call objBtnControl.Active  ( "btnAddDaemonInstRipplePackage", "N" )
162
Call objBtnControl.Visible ( "btnAddDaemonInstRipplePackage", "N" )
151 ghuddy 163
Call objBtnControl.Active  ( "btnAddDaemonInstTestBuildPackage", "N" )
149 ghuddy 164
Call objBtnControl.Visible ( "btnAddDaemonInstTestBuildPackage", "N" )
157 ghuddy 165
Call objBtnControl.Active  ( "btnMoveWIPToRelease", "N" )
166
Call objBtnControl.Visible ( "btnMoveWIPToRelease", "N" )
119 ghuddy 167
 
4670 dpurdie 168
Call objBtnControl.Active  ( "btnDestroyWip", "N" )
169
Call objBtnControl.Visible ( "btnDestroyWip", "N" )
119 ghuddy 170
 
4670 dpurdie 171
If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
133 ghuddy 172
   '-- Change button setting on conditions ---
5898 dpurdie 173
    If ( pkgInfoHash.Item ("build_type") <> "M" ) Then
133 ghuddy 174
      ' For automatic build
175
      Call objBtnControl.Visible ( "btnMakePending", "Y" )
119 ghuddy 176
 
133 ghuddy 177
      Call objBtnControl.Visible ( "btnApprovePackage", "Y" )
178
      Call objBtnControl.Active  ( "btnApprovePackage", "N" )
119 ghuddy 179
 
133 ghuddy 180
      Call objBtnControl.Visible ( "btnMakeUnrelease", "N" )
181
      Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
5898 dpurdie 182
    Else
3959 dpurdie 183
      ' For Manual Build
5097 dpurdie 184
      If ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE ) Then
185
          If Not canShowControlInProject("ApproveForManualBuild") Then
133 ghuddy 186
         Call objBtnControl.Visible ( "btnMakeRelease", "N" )
187
      Else
188
         Call objBtnControl.Visible ( "btnMakeRelease", "Y" )
4670 dpurdie 189
         Call objBtnControl.Visible ( "btnMakeUnrelease", "N" )
133 ghuddy 190
      End If
5898 dpurdie 191
    End If
119 ghuddy 192
 
5898 dpurdie 193
  If (pkgInfoHash.Item("is_patch")) <> "" Then
194
     If canShowControlInProject ("ReleasePatch") Then
195
        Call objBtnControl.Visible ( "btnMakeRelease", "Y" )
196
     Else
197
        Call objBtnControl.Visible ( "btnMakeRelease", "N" )
198
     End If
199
  End If
119 ghuddy 200
 
133 ghuddy 201
      If ( ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE) OR ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE ) Then
119 ghuddy 202
 
133 ghuddy 203
         Call objBtnControl.Visible ( "btnMakePending", "Y" )
119 ghuddy 204
 
133 ghuddy 205
         If ( ( pkgInfoHash.Item ("dlocked") = "N" ) OR ( pkgInfoHash.Item ("dlocked") = "R" ) ) _
143 ghuddy 206
            AND ( IsNull(pkgInfoHash.Item("is_patch")) ) Then
4671 dpurdie 207
            Call objBtnControl.Active  ( "btnMakeRelease", "N" )
143 ghuddy 208
            Call objBtnControl.Visible ( "btnMakeRelease", "N" )
209
         End If
119 ghuddy 210
 
133 ghuddy 211
         Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
119 ghuddy 212
 
5061 dpurdie 213
         If (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) OR (NOT canShowControlInProject("AlterReleaseContentsInRestrictiveMode")) Then
133 ghuddy 214
            Call objBtnControl.Visible ( "btnMakeUnrelease", "N" )
215
            Call objBtnControl.Visible ( "btnRemovePackage", "N" )
216
         End If
217
      End If
119 ghuddy 218
 
5097 dpurdie 219
    If ( ReleaseMode = enumDB_RELEASE_IN_OPEN_MODE) Then
220
         Call objBtnControl.Active ( "btnMakeRelease", "Y" )
221
         Call objBtnControl.Visible ( "btnMakeRelease", "Y" )
222
    End If
223
 
133 ghuddy 224
   End If
119 ghuddy 225
End If
226
 
227
 
228
 
229
'-- Change button setting on conditions ---
230
If pkgInfoHash.Item ("dlocked") = "Y" Then
143 ghuddy 231
   ' Package is Released and Locked
133 ghuddy 232
   Call objBtnControl.Visible ( "btnNewVersion", "Y" )
5061 dpurdie 233
   If Not canActionControlInProject("CreateNewVersion") Then
234
        Call objBtnControl.Active ( "btnNewVersion", "N" )
235
   End If
119 ghuddy 236
 
133 ghuddy 237
   If AssocMASSREF Then
238
      Call objBtnControl.Visible ( "btnNewVersion-MASSREF", "Y" )
239
   End If
119 ghuddy 240
 
5929 dpurdie 241
   If (parRtag_id > 0) AND canShowControlInProject("DeprecatePackage") Then
133 ghuddy 242
      Dim rsDeprecate
243
      If NOT IsNull(pkgInfoHash.Item ("v_ext")) Then
5929 dpurdie 244
         Set rsDeprecate = OraDatabase.DbCreateDynaset("SELECT * FROM DEPRECATED_PACKAGES WHERE RTAG_ID ="& parRtag_id &" AND V_EXT ='"& pkgInfoHash.Item ("v_ext") &"' AND PKG_ID = "& pkgInfoHash.Item ("pkg_id") &"", cint(0))
133 ghuddy 245
      Else
5929 dpurdie 246
         Set rsDeprecate = OraDatabase.DbCreateDynaset("SELECT * FROM DEPRECATED_PACKAGES WHERE RTAG_ID ="& parRtag_id &" AND V_EXT IS NULL AND PKG_ID = "& pkgInfoHash.Item ("pkg_id") &"", cint(0))
133 ghuddy 247
      End If
119 ghuddy 248
 
133 ghuddy 249
      If (rsDeprecate.RecordCount) = 0 Then
250
         Call objBtnControl.Visible ( "btnDeprecation", "Y" )
251
      Else
252
         Call objBtnControl.Visible ( "btnUnDeprecation", "Y" )
253
      End If
254
      rsDeprecate.Close()
255
      Set rsDeprecate = nothing
5169 dpurdie 256
   Else
257
    Call objBtnControl.Active ( "btnDeprecation",  "N")
258
    Call objBtnControl.Visible ( "btnDeprecation",  "Y")
133 ghuddy 259
   End If
5929 dpurdie 260
 
133 ghuddy 261
   Call objBtnControl.Active ( "btnApprovePackage", "N" )
262
   Call objBtnControl.Active ( "btnMakeRelease", "N" )
119 ghuddy 263
 
5061 dpurdie 264
   If pkgInfoHash.Item("can_unofficial") = "true" OR canActionControlInProject("EditCriticalInfoForLockedPackage") Then
133 ghuddy 265
      Call objBtnControl.Visible ( "btnMakeUnrelease", "Y" )
266
      Call objBtnControl.Active ( "btnMakeUnrelease", "Y" )
267
   End If
119 ghuddy 268
 
133 ghuddy 269
   ' DEVI-45275 - We can now merge existing (locked) versions to planned (pending) whilst assigning an operation to them
270
   ' to either (A)dd or (S)ubtract the version from the release. Such items must be "rejectable" so we need to enable the
271
   ' reject package button.
272
   If pkgInfoHash.Item("planned_operation") <> " " Then
273
      Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
274
      Call objBtnControl.Active ( "btnRejectPackage", "Y" )
143 ghuddy 275
   Else
276
      Call objBtnControl.Visible ( "btnRejectPackage", "N" )
133 ghuddy 277
   End If
119 ghuddy 278
 
143 ghuddy 279
   Call objBtnControl.Visible ( "btnMakePending", "N" )
280
   Call objBtnControl.Visible ( "btnMakeRelease", "N" )
281
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
147 ghuddy 282
   Call objBtnControl.Visible ( "btnAddDaemonInstRipplePackage", "Y" )
283
   Call ActivateButtonAccordingToReleaseModeAndPermissions("btnAddDaemonInstRipplePackage", "ApproveForAutoBuild")
143 ghuddy 284
 
285
 
119 ghuddy 286
ElseIf pkgInfoHash.Item ("dlocked") = "P" Then
143 ghuddy 287
   ' In Pending
288
   Call objBtnControl.Visible ( "btnMakePending", "N" )
289
   Call ActivateButtonAccordingToReleaseModeAndPermissions("btnApprovePackage", "ApproveForAutoBuild")
290
   Call ActivateButtonAccordingToReleaseModeAndPermissions("btnRejectPackage", "RejectPackageFromPending")
291
 
119 ghuddy 292
ElseIf pkgInfoHash.Item ("dlocked") = "A" Then
143 ghuddy 293
   ' In Pending, Approved For Autobuild
294
   Call objBtnControl.Visible ( "btnMakePending", "N" )
133 ghuddy 295
   Call objBtnControl.Active ( "btnMakePending", "N" )
143 ghuddy 296
 
297
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
133 ghuddy 298
   Call objBtnControl.Active ( "btnApprovePackage", "N" )
143 ghuddy 299
 
133 ghuddy 300
   Call objBtnControl.Visible ( "btnRejectPackage", "N" )
143 ghuddy 301
   Call objBtnControl.Active ( "btnRejectPackage", "N" )
119 ghuddy 302
 
133 ghuddy 303
   Call objBtnControl.Visible ( "btnMakeUnrelease", "Y" )
5061 dpurdie 304
   If pkgInfoHash.Item("can_unofficial") = "true" OR canActionControlInProject("EditCriticalInfoForLockedPackage") Then
133 ghuddy 305
      Call objBtnControl.Active ( "btnMakeUnrelease", "Y" )
143 ghuddy 306
   Else
307
      Call objBtnControl.Active ( "btnMakeUnrelease", "N" )
133 ghuddy 308
   End If
119 ghuddy 309
 
143 ghuddy 310
   '--- Allow failed auto-builds to be rejected back to WIP, conditions allowing.
5929 dpurdie 311
   If pkgInfoHash.Item("build_type") = "A" AND parRtag_id > 0 Then
312
      If isInDoNotRippleTable( parRtag_id, pkgInfoHash.Item("pv_id") ) = TRUE Then
143 ghuddy 313
         Call objBtnControl.Visible ( "btnRejectAutobuildPackage", "Y" )
314
         Call ActivateButtonAccordingToReleaseModeAndPermissions("btnRejectAutobuildPackage", "RejectPackageFromPending")
315
      End If
316
   End If
317
 
119 ghuddy 318
Else
143 ghuddy 319
   ' Unlocked or rejected packages (dlocked = N or R)
133 ghuddy 320
   Call objBtnControl.Active ( "btnReversionPackage", "Y" )
321
   Call objBtnControl.Active ( "btnMakePending", "Y" )
119 ghuddy 322
 
143 ghuddy 323
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
324
   Call objBtnControl.Visible ( "btnRejectPackage", "N" )
325
 
4670 dpurdie 326
   Call objBtnControl.Visible ( "btnMoveWIPToRelease", "Y" )
327
   Call objBtnControl.Visible ( "btnAddDaemonInstTestBuildPackage", "Y" )
328
   If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
151 ghuddy 329
      Call objBtnControl.Active  ( "btnAddDaemonInstTestBuildPackage", "Y" )
157 ghuddy 330
      Call objBtnControl.Active  ( "btnMoveWIPToRelease", "Y" )
151 ghuddy 331
   End If
4670 dpurdie 332
 
333
   Call objBtnControl.Visible ( "btnDestroyWip", "Y" )
334
   If (objAccessControl.UserLogedIn) Then
5061 dpurdie 335
        If ( (objAccessControl.UserName = pkgInfoHash.Item("creator")) OR (canActionControlInProject("DestroyPackageFromRelease")) ) Then
4670 dpurdie 336
            Call objBtnControl.Active  ( "btnDestroyWip", "Y" )
337
        End If
338
   End If
339
 
119 ghuddy 340
End If
341
 
342
 
343
If IsNull(pkgInfoHash.Item ("is_obsolete")) Then
133 ghuddy 344
   Call objBtnControl.Visible ( "btnObsoletePatch", "Y" )
119 ghuddy 345
Else
133 ghuddy 346
   Call objBtnControl.Visible ( "btnUnobsoletePatch", "Y" )
119 ghuddy 347
End If
348
 
5929 dpurdie 349
If NOT (parRtag_id > 0) Then
350
    ' Not shown in the context of a Release
351
    ' Determine if the package can be reversioned or destroyed
352
 
353
    Call objBtnControl.Visible ( "btnRecycleBin", "Y" )
354
    Call objBtnControl.Visible ( "btnReversionPackage" , "Y")
355
    Call objBtnControl.ReadOnly ( "btnReversionPackage" , "Y")
356
 
357
    If canShowControlInProject("DestroyPackage") Then
358
       Call objBtnControl.Visible ( "btnRecycleBin", "Y" )
359
    ElseIf (objAccessControl.UserId = pkgInfoHash.Item("creator_id") ) OR (objAccessControl.UserId = pkgInfoHash.Item("owner_id")) Then
360
        'If aVersions( rsVB.FieldIndex("inuse"), i ) = 0 Then
361
            'If aVersions( rsVB.FieldIndex("age") , i ) < 1000 Then
362
                If pkgInfoHash.Item ("dlocked") <> "Y" Then
363
                    'If pkgInfoHash.Item ("dlocked") <> "A" Then
364
                        Call objBtnControl.Active ( "btnRecycleBin", "Y" )
365
                    'End If
366
                End If
367
            'End If
368
        'End If
369
    End If
370
 
371
    ' Only if Unlocked or Rejected
372
    If pkgInfoHash.Item ("dlocked") = "N" OR pkgInfoHash.Item ("dlocked") = "R" Then 
373
        Call objBtnControl.Active ( "btnReversionPackage" , "Y")
374
    End If
119 ghuddy 375
End If
376
 
377
'--- Access Control Action Relationships ---
378
 
379
' DEVI-45275 - Merges now occur via the Pending tab. Merge candidates are marked with a (planned) operation
380
' of "A" for add, or "S" for subtract. If the package version is one of these (within the context of the
5178 dpurdie 381
' release of coarse), manipulate the MakeRelease button (of which there are now 3 types) accordingly.
119 ghuddy 382
If ( pkgInfoHash.Item ("planned_operation") = "A" OR pkgInfoHash.Item ("planned_operation") = "S") Then
383
 
133 ghuddy 384
   ' always enable the reject button for pending merge operations
385
   Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
119 ghuddy 386
 
133 ghuddy 387
   ' disable the other two types of MakeRelease button
388
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
389
   Call objBtnControl.Visible ( "btnMakeRelease", "N" )
119 ghuddy 390
 
133 ghuddy 391
   ' make the approve merge button variant visible
392
   Call objBtnControl.Visible ( "btnApproveMerge", "Y" )
119 ghuddy 393
 
133 ghuddy 394
   ' These conditions match those used in Diff.asp that control whether the Merge button is visible or not.
395
   ' Use them to enable or disable the approve merge button
5178 dpurdie 396
   If releaseIsMergable(ReleaseMode) Then
133 ghuddy 397
      Call objBtnControl.Active ( "btnApproveMerge", "Y" )
143 ghuddy 398
      Call objBtnControl.Active ( "btnRejectPackage", "Y" )
133 ghuddy 399
   Else
400
      Call objBtnControl.Active ( "btnApproveMerge", "N" )
143 ghuddy 401
      Call objBtnControl.Active ( "btnRejectPackage", "N" )
133 ghuddy 402
   End If
119 ghuddy 403
End If
404
 
5898 dpurdie 405
If ( pkgInfoHash.Item ("build_type") = "U" ) Then
406
  Call objBtnControl.Active ( "btnMakeRelease", "N" )
407
  Call objBtnControl.Active ( "btnApprovePackage", "N" )
408
  Call objBtnControl.Active ( "btnMakeUnrelease", "N" )
409
  Call objBtnControl.Active ( "btnAddDaemonInstTestBuildPackage", "N" )
410
  Call objBtnControl.Active ( "btnMakePending", "N" )
411
  Call objBtnControl.Active ( "btnApproveMerge",  "N")
412
End If
413
 
4670 dpurdie 414
'--- Disable if the user is not logged in
415
If (NOT objAccessControl.UserLogedIn) Then
416
    Call objBtnControl.Active ( "btnRemovePackage", "N" )
417
    Call objBtnControl.Active ( "btnMakeRelease", "N" )
418
    Call objBtnControl.Active ( "btnMoveToView", "N" )
419
    Call objBtnControl.Active ( "btnReversionPackage", "N" )
420
    Call objBtnControl.Active ( "btnMoveWIPToRelease", "N" )
421
    Call objBtnControl.Active ( "btnAddDaemonInstTestBuildPackage", "N" )
422
    Call objBtnControl.Active ( "btnMakeUnrelease", "N" )
4671 dpurdie 423
    Call objBtnControl.Active ( "btnMakePending", "N" )
424
    Call objBtnControl.Active ( "btnNewVersion", "N" )
5929 dpurdie 425
    Call objBtnControl.Active ( "btnRecycleBin", "N")
4670 dpurdie 426
End If
427
 
5080 dpurdie 428
'-- Disable if the Package is imported as a part of an SDK
429
'   Or as part of a linked Release
430
If (pkgInfoHash.Item("can_edit_in_project") <> "1") Then
431
    Call objBtnControl.Active ( "btnNewVersion", "N" )
432
    Call objBtnControl.Active ( "btnDestroyWip" , "N")
433
    Call objBtnControl.Active ( "btnRemovePackage",  "N")
434
    Call objBtnControl.Active ( "btnAddDaemonInstTestBuildPackage",  "N")
435
    Call objBtnControl.Active ( "btnMakePending",  "N")
436
    Call objBtnControl.Active ( "btnApprovePackage",  "N")
437
    Call objBtnControl.Active ( "btnApproveMerge",  "N")
438
    Call objBtnControl.Active ( "btnMakeRelease",  "N")
439
    Call objBtnControl.Active ( "btnRejectPackage",  "N")
440
    Call objBtnControl.Active ( "btnRejectAutobuildPackage",  "N")
441
    Call objBtnControl.Active ( "btnMakeUnrelease", "N")
442
    Call objBtnControl.Active ( "btnMoveToView",  "N")
443
    Call objBtnControl.Active ( "btnMoveWIPToRelease",  "N")
444
    Call objBtnControl.Active ( "btnDeprecation",  "N")
445
    Call objBtnControl.Active ( "btnUnDeprecation",  "N")
446
    Call objBtnControl.Active ( "btnAddDaemonInstRipplePackage", "N")
447
End If
4670 dpurdie 448
 
5590 dpurdie 449
If (pkgInfoHash.Item("base_view_id") = "") Then
450
    Call objBtnControl.Active ( "btnMoveToView",  "N")
451
End IF
452
 
119 ghuddy 453
'--- Other Access Control Action Relationships ---
454
If ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE )  Then Call objBtnControl.SetRelationship ( "btnMakeRelease", "ApprovePackageReleaseForRestrictiveMode" )
455
 
456
Call objBtnControl.SetRelationship ( "btnPendingIntegration", "ApproveForPendingIntegration" )
457
Call objBtnControl.SetRelationship ( "btnPendingTest", "ApproveForPendingTest" )
458
Call objBtnControl.SetRelationship ( "btnPendingDeployment", "ApproveForPendingDeployment" )
459
Call objBtnControl.SetRelationship ( "btnRejectProduct", "RejectProduct" )
460
Call objBtnControl.SetRelationship ( "btnPendingIntegrateAndDeploy", "ApprovePendingIntegrateAndDeploy" )
461
 
183 brianf 462
'---------------------------------------------------------------------------
463
' Unlock Package
464
' Note: Unlocking of a Package or Patch is intended for the administrators
119 ghuddy 465
 
3959 dpurdie 466
Call objBtnControl.Visible ( "btnUnLockPackage", "N" )
467
Call objBtnControl.Visible ( "btnLockPackage", "N" )
468
Call objBtnControl.Active ( "btnLockPackage", "N" )
469
Call objBtnControl.Active ( "btnUnLockPackage", "N" )
5086 dpurdie 470
 
471
If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
472
    Dim bucan_unlock
473
    bucan_unlock = pkgInfoHash("is_released") AND canActionControlInProject("EditCriticalInfoForLockedPackage")
474
 
475
    If bucan_unlock  Then
476
      If (pkgInfoHash.Item ("dlocked") = "Y") Then
477
       ' Unlock patch or package.
478
        Call objBtnControl.Visible ( "btnUnLockPackage", "Y" )
479
        Call objBtnControl.Active ( "btnUnLockPackage", "Y" )
480
      ElseIf (pkgInfoHash.Item ("dlocked") = "N") Then
481
        ' lock patch or package.
482
        Call objBtnControl.Visible ( "btnLockPackage", "Y" )
483
        Call objBtnControl.Active ( "btnLockPackage", "Y" )
484
      End If
485
    End if
486
Else
3959 dpurdie 487
    Call objBtnControl.Visible ( "btnUnLockPackage", "Y" )
488
End if
183 brianf 489
 
490
'---------------------------------------------------------------------------
119 ghuddy 491
' -- Render Buttons
492
Call objBtnControl.Render  ( aTabBtnsDef, objAccessControl )
185 brianf 493
End Sub
494
 
119 ghuddy 495
%>