Subversion Repositories DevTools

Rev

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