Subversion Repositories DevTools

Rev

Rev 5964 | Rev 6031 | 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
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
 
5983 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
 
5983 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
 
5983 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
 
5983 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
 
5983 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
 
5983 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")
119 ghuddy 85
 
5983 dpurdie 86
                End If
119 ghuddy 87
 
5983 dpurdie 88
             ElseIf canActionControlInProject("EditCriticalInfoForLockedPackage") Then
89
                ' For Packages in Release
90
                aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "width=20", "btnDestroyWip" ,"btnRemovePackage", "btnMoveWIPToRelease",  "width=20", _
91
                                    "btnAddDaemonInstTestBuildPackage", "btnMakePending", "btnApprovePackage", "btnApproveMerge", "btnMakeRelease", "btnRejectPackage", "btnRejectAutobuildPackage", "btnMakeUnrelease", "width=20", _
92
                                    "btnMoveToView", "btnReversionPackage","btnLockPackage","btnUnLockPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation", "btnAddDaemonInstRipplePackage")
93
             Else
94
                ' For Packages in Release
95
                aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "width=20", "btnDestroyWip","btnRemovePackage", "btnMoveWIPToRelease", "width=20", _
96
                                    "btnAddDaemonInstTestBuildPackage", "btnMakePending", "btnApprovePackage", "btnApproveMerge", "btnMakeRelease", "btnRejectPackage", "btnRejectAutobuildPackage", "width=20", _
97
                                    "btnMoveToView", "btnReversionPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation", "btnAddDaemonInstRipplePackage")
98
             End If
99
          Else
100
             ' Non-Editable Packages in Release
101
             If AssocMASSREF Then
102
                aTabBtnsDef = Array("btnNewVersion-MASSREF", "btnVersionHistory", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
103
             Else
104
                aTabBtnsDef = Array("btnVersionHistory", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
105
             End If
106
          End If
119 ghuddy 107
 
5983 dpurdie 108
        Else
109
          ' For standalone Packages(Not viewed in project release)
110
          aTabBtnsDef = Array("btnVersionHistory", "btnRecycleBin", "btnReversionPackage", "width=20", "btnStickyNotes")
111
        End If
119 ghuddy 112
 
5983 dpurdie 113
    Else
114
       ' For Patches
115
        aTabBtnsDef = Array("btnMakeRelease", "btnMakeUnrelease", "width=20", _
116
                        "btnReversionPackage", "width=20", "btnObsoletePatch", "btnUnobsoletePatch", "width=20","btnStickyNotes")
119 ghuddy 117
 
5983 dpurdie 118
    End If
119 ghuddy 119
 
5983 dpurdie 120
    ' Load action buttons from database
121
    Call objBtnControl.LoadActionButtons(aTabBtnsDef, OraDatabase)
119 ghuddy 122
 
5983 dpurdie 123
    ' Set spacing to minimum between buttons
124
    objBtnControl.ButtonSpacer = 0
125
    objBtnControl.ImageHspace = 2
119 ghuddy 126
 
5983 dpurdie 127
    '--- Set button conditions ---
128
    objBtnControl.IsReadonlyAction = releaseIsClosed(ReleaseMode)
129
    objBtnControl.setClosed        = releaseIsClosed(ReleaseMode)
119 ghuddy 130
 
5983 dpurdie 131
    ' NOTE: At this point, all buttons are Active and Visible and must now be configured
132
    '       as appropriate by statements that follow.
119 ghuddy 133
 
5983 dpurdie 134
    '--- Set default button settings ---
135
    Call objBtnControl.Visible("btnNewVersion", "N")
136
    Call objBtnControl.Visible("btnNewVersion-MASSREF", "N")
137
    Call objBtnControl.Visible("btnMakePending", "N")
138
    Call objBtnControl.Active ("btnMakePending", "N")
139
    Call objBtnControl.Visible("btnApprovePackage", "N")
140
    Call objBtnControl.Visible("btnMakeRelease", "N")
141
    'Call objBtnControl.Active("btnMakeRelease", "N")
142
    Call objBtnControl.Active ("btnRejectPackage", "N")
143
    Call objBtnControl.Visible("btnRejectPackage", "N")
144
    Call objBtnControl.Active ("btnRejectAutobuildPackage", "N")
145
    Call objBtnControl.Visible("btnRejectAutobuildPackage", "N")
146
    Call objBtnControl.Active ("btnMakeUnrelease", "N")
147
    Call objBtnControl.Active ("btnReversionPackage", "N")
148
    Call objBtnControl.Visible("btnObsoletePatch", "N")
149
    Call objBtnControl.Visible("btnUnobsoletePatch", "N")
150
    Call objBtnControl.Visible("btnDeprecation", "N")
151
    Call objBtnControl.Visible("btnUnDeprecation", "N")
152
    Call objBtnControl.Active ("btnApproveMerge", "N")
153
    Call objBtnControl.Visible("btnApproveMerge", "N")
154
    Call objBtnControl.Active ("btnAddDaemonInstRipplePackage", "N")
155
    Call objBtnControl.Visible("btnAddDaemonInstRipplePackage", "N")
156
    Call objBtnControl.Active ("btnAddDaemonInstTestBuildPackage", "N")
157
    Call objBtnControl.Visible("btnAddDaemonInstTestBuildPackage", "N")
158
    Call objBtnControl.Active ("btnMoveWIPToRelease", "N")
159
    Call objBtnControl.Visible("btnMoveWIPToRelease", "N")
160
    Call objBtnControl.Active ("btnDestroyWip", "N")
161
    Call objBtnControl.Visible("btnDestroyWip", "N")
119 ghuddy 162
 
5983 dpurdie 163
    If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
164
       '-- Change button setting on conditions ---
165
        If (pkgInfoHash.Item("build_type") <> "M") Then
166
          ' For automatic build
167
          Call objBtnControl.Visible("btnMakePending", "Y")
119 ghuddy 168
 
5983 dpurdie 169
          Call objBtnControl.Visible("btnApprovePackage", "Y")
170
          Call objBtnControl.Active ("btnApprovePackage", "N")
119 ghuddy 171
 
5983 dpurdie 172
          Call objBtnControl.Visible("btnMakeUnrelease", "N")
173
          Call objBtnControl.Visible("btnRejectPackage", "Y")
174
        Else
175
          ' For Manual Build
176
          If (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) Then
177
              If Not canShowControlInProject("ApproveForManualBuild") Then
178
             Call objBtnControl.Visible("btnMakeRelease", "N")
179
          Else
180
             Call objBtnControl.Visible("btnMakeRelease", "Y")
181
             Call objBtnControl.Visible("btnMakeUnrelease", "N")
182
          End If
183
        End If
143 ghuddy 184
 
5983 dpurdie 185
      If (pkgInfoHash.Item("is_patch")) <> "" Then
186
         If canShowControlInProject("ReleasePatch") Then
187
            Call objBtnControl.Visible("btnMakeRelease", "Y")
188
         Else
189
            Call objBtnControl.Visible("btnMakeRelease", "N")
190
         End If
133 ghuddy 191
      End If
119 ghuddy 192
 
5983 dpurdie 193
          If (ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE) OR(ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) Then
119 ghuddy 194
 
5983 dpurdie 195
             Call objBtnControl.Visible("btnMakePending", "Y")
119 ghuddy 196
 
5983 dpurdie 197
             If ((pkgInfoHash.Item("dlocked") = "N") OR(pkgInfoHash.Item("dlocked") = "R")) _
198
                AND(IsNull(pkgInfoHash.Item("is_patch"))) Then
199
                Call objBtnControl.Active ("btnMakeRelease", "N")
200
                Call objBtnControl.Visible("btnMakeRelease", "N")
201
             End If
119 ghuddy 202
 
5983 dpurdie 203
             Call objBtnControl.Visible("btnRejectPackage", "Y")
119 ghuddy 204
 
5983 dpurdie 205
             If (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) OR(NOT canShowControlInProject("AlterReleaseContentsInRestrictiveMode")) Then
206
                Call objBtnControl.Visible("btnMakeUnrelease", "N")
207
                Call objBtnControl.Visible("btnRemovePackage", "N")
208
             End If
209
          End If
119 ghuddy 210
 
5983 dpurdie 211
        If (ReleaseMode = enumDB_RELEASE_IN_OPEN_MODE) Then
212
             Call objBtnControl.Active("btnMakeRelease", "Y")
213
             Call objBtnControl.Visible("btnMakeRelease", "Y")
214
        End If
119 ghuddy 215
 
5983 dpurdie 216
        End If
5097 dpurdie 217
    End If
218
 
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
229
          Call objBtnControl.Visible("btnNewVersion-MASSREF", "Y")
230
        End If
119 ghuddy 231
 
5983 dpurdie 232
        If (parRtag_id > 0) AND canShowControlInProject("DeprecatePackage") Then
233
          If (pkgInfoHash.Item("is_deprecated")) Then
234
             Call objBtnControl.Visible("btnDeprecation", "Y")
235
          Else
236
             Call objBtnControl.Visible("btnUnDeprecation", "Y")
237
          End If
238
        Else
239
        Call objBtnControl.Active("btnDeprecation",  "N")
240
        Call objBtnControl.Visible("btnDeprecation",  "Y")
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
247
          Call objBtnControl.Visible("btnMakeUnrelease", "Y")
248
          Call objBtnControl.Active("btnMakeUnrelease", "Y")
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
255
          Call objBtnControl.Visible("btnRejectPackage", "Y")
256
          Call objBtnControl.Active("btnRejectPackage", "Y")
257
        Else
258
          Call objBtnControl.Visible("btnRejectPackage", "N")
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
 
5983 dpurdie 295
       '--- Allow failed auto-builds to be rejected back to WIP, conditions allowing.
296
        If pkgInfoHash.Item("build_type") = "A" AND parRtag_id > 0 Then
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
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
317
          Call objBtnControl.Active ("btnAddDaemonInstTestBuildPackage", "Y")
318
          Call objBtnControl.Active ("btnMoveWIPToRelease", "Y")
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
 
335
 
5983 dpurdie 336
    If IsNull(pkgInfoHash.Item("is_obsolete")) Then
337
        Call objBtnControl.Visible("btnObsoletePatch", "Y")
338
    Else
339
        Call objBtnControl.Visible("btnUnobsoletePatch", "Y")
340
    End If
119 ghuddy 341
 
5983 dpurdie 342
    If NOT(parRtag_id > 0) Then
343
        ' Not shown in the context of a Release
344
        ' Determine if the package can be reversioned or destroyed
5929 dpurdie 345
 
5983 dpurdie 346
        Call objBtnControl.Visible("btnRecycleBin", "Y")
347
        Call objBtnControl.Visible("btnReversionPackage" , "Y")
348
        Call objBtnControl.ReadOnly("btnReversionPackage" , "Y")
5929 dpurdie 349
 
5983 dpurdie 350
        If canShowControlInProject("DestroyPackage") Then
351
           Call objBtnControl.Visible("btnRecycleBin", "Y")
352
        ElseIf (objAccessControl.UserId = pkgInfoHash.Item("creator_id")) OR(objAccessControl.UserId = pkgInfoHash.Item("owner_id")) Then
353
            'If aVersions(rsVB.FieldIndex("inuse"), i) = 0 Then
354
                'If aVersions(rsVB.FieldIndex("age") , i) < 1000 Then
355
                    If pkgInfoHash.Item("dlocked") <> "Y" Then
356
                        'If pkgInfoHash.Item("dlocked") <> "A" Then
357
                            Call objBtnControl.Active("btnRecycleBin", "Y")
358
                        'End If
359
                    End If
360
                'End If
5929 dpurdie 361
            'End If
5983 dpurdie 362
        End If
5929 dpurdie 363
 
5983 dpurdie 364
        ' Only if Unlocked or Rejected
365
        If pkgInfoHash.Item("dlocked") = "N" OR pkgInfoHash.Item("dlocked") = "R" Then 
366
            Call objBtnControl.Active("btnReversionPackage" , "Y")
367
        End If
5929 dpurdie 368
    End If
119 ghuddy 369
 
5983 dpurdie 370
    '--- Access Control Action Relationships ---
119 ghuddy 371
 
5983 dpurdie 372
    ' DEVI-45275 - Merges now occur via the Pending tab. Merge candidates are marked with a(planned) operation
373
    ' of "A" for add, or "S" for subtract. If the package version is one of these(within the context of the
374
    ' release of coarse), manipulate the MakeRelease button(of which there are now 3 types) accordingly.
375
    If (pkgInfoHash.Item("planned_operation") = "A" OR pkgInfoHash.Item("planned_operation") = "S") Then
119 ghuddy 376
 
5983 dpurdie 377
       ' always enable the reject button for pending merge operations
378
        Call objBtnControl.Visible("btnRejectPackage", "Y")
119 ghuddy 379
 
5983 dpurdie 380
       ' disable the other two types of MakeRelease button
381
        Call objBtnControl.Visible("btnApprovePackage", "N")
382
        Call objBtnControl.Visible("btnMakeRelease", "N")
119 ghuddy 383
 
5983 dpurdie 384
       ' make the approve merge button variant visible
385
        Call objBtnControl.Visible("btnApproveMerge", "Y")
119 ghuddy 386
 
5983 dpurdie 387
       ' These conditions match those used in Diff.asp that control whether the Merge button is visible or not.
388
       ' Use them to enable or disable the approve merge button
389
        If releaseIsMergable(ReleaseMode) Then
390
          Call objBtnControl.Active("btnApproveMerge", "Y")
391
          Call objBtnControl.Active("btnRejectPackage", "Y")
392
        Else
393
          Call objBtnControl.Active("btnApproveMerge", "N")
394
          Call objBtnControl.Active("btnRejectPackage", "N")
395
        End If
396
    End If
119 ghuddy 397
 
5983 dpurdie 398
    If (pkgInfoHash.Item("build_type") = "U") Then
399
      Call objBtnControl.Active("btnMakeRelease", "N")
400
      Call objBtnControl.Active("btnApprovePackage", "N")
401
      Call objBtnControl.Active("btnMakeUnrelease", "N")
402
      Call objBtnControl.Active("btnAddDaemonInstTestBuildPackage", "N")
403
      Call objBtnControl.Active("btnMakePending", "N")
404
      Call objBtnControl.Active("btnApproveMerge",  "N")
405
    End If
5898 dpurdie 406
 
5983 dpurdie 407
    '--- Disable if the user is not logged in
408
    If (NOT objAccessControl.UserLogedIn) Then
409
        Call objBtnControl.Active("btnRemovePackage", "N")
410
        Call objBtnControl.Active("btnMakeRelease", "N")
411
        Call objBtnControl.Active("btnMoveToView", "N")
412
        Call objBtnControl.Active("btnReversionPackage", "N")
413
        Call objBtnControl.Active("btnMoveWIPToRelease", "N")
414
        Call objBtnControl.Active("btnAddDaemonInstTestBuildPackage", "N")
415
        Call objBtnControl.Active("btnMakeUnrelease", "N")
416
        Call objBtnControl.Active("btnMakePending", "N")
417
        Call objBtnControl.Active("btnNewVersion", "N")
418
        Call objBtnControl.Active("btnRecycleBin", "N")
419
    End If
4670 dpurdie 420
 
5983 dpurdie 421
    '-- Disable if the Package is imported as a part of an SDK
422
    '   Or as part of a linked Release
423
    If (pkgInfoHash.Item("can_edit_in_project") <> "1") Then
424
        Call objBtnControl.Active("btnNewVersion", "N")
425
        Call objBtnControl.Active("btnDestroyWip" , "N")
426
        Call objBtnControl.Active("btnRemovePackage",  "N")
427
        Call objBtnControl.Active("btnAddDaemonInstTestBuildPackage",  "N")
428
        Call objBtnControl.Active("btnMakePending",  "N")
429
        Call objBtnControl.Active("btnApprovePackage",  "N")
430
        Call objBtnControl.Active("btnApproveMerge",  "N")
431
        Call objBtnControl.Active("btnMakeRelease",  "N")
432
        Call objBtnControl.Active("btnRejectPackage",  "N")
433
        Call objBtnControl.Active("btnRejectAutobuildPackage",  "N")
434
        Call objBtnControl.Active("btnMakeUnrelease", "N")
435
        Call objBtnControl.Active("btnMoveToView",  "N")
436
        Call objBtnControl.Active("btnMoveWIPToRelease",  "N")
437
        Call objBtnControl.Active("btnDeprecation",  "N")
438
        Call objBtnControl.Active("btnUnDeprecation",  "N")
439
        Call objBtnControl.Active("btnAddDaemonInstRipplePackage", "N")
440
    End If
4670 dpurdie 441
 
5983 dpurdie 442
    If (pkgInfoHash.Item("base_view_id") = "") Then
443
        Call objBtnControl.Active("btnMoveToView",  "N")
444
    End IF
5590 dpurdie 445
 
5983 dpurdie 446
    '--- Other Access Control Action Relationships ---
447
    If (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE)  Then Call objBtnControl.SetRelationship("btnMakeRelease", "ApprovePackageReleaseForRestrictiveMode")
119 ghuddy 448
 
5983 dpurdie 449
    Call objBtnControl.SetRelationship("btnPendingIntegration", "ApproveForPendingIntegration")
450
    Call objBtnControl.SetRelationship("btnPendingTest", "ApproveForPendingTest")
451
    Call objBtnControl.SetRelationship("btnPendingDeployment", "ApproveForPendingDeployment")
452
    Call objBtnControl.SetRelationship("btnRejectProduct", "RejectProduct")
453
    Call objBtnControl.SetRelationship("btnPendingIntegrateAndDeploy", "ApprovePendingIntegrateAndDeploy")
119 ghuddy 454
 
5983 dpurdie 455
    '---------------------------------------------------------------------------
456
    ' Unlock Package
457
    ' Note: Unlocking of a Package or Patch is intended for the administrators
119 ghuddy 458
 
5983 dpurdie 459
    Call objBtnControl.Visible("btnUnLockPackage", "N")
460
    Call objBtnControl.Visible("btnLockPackage", "N")
461
    Call objBtnControl.Active("btnLockPackage", "N")
462
    Call objBtnControl.Active("btnUnLockPackage", "N")
5086 dpurdie 463
 
5983 dpurdie 464
    If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
465
        Dim bucan_unlock
466
        bucan_unlock = pkgInfoHash("is_released") AND canActionControlInProject("EditCriticalInfoForLockedPackage")
5086 dpurdie 467
 
5983 dpurdie 468
        If bucan_unlock  Then
469
          If (pkgInfoHash.Item("dlocked") = "Y") Then
470
           ' Unlock patch or package.
471
            Call objBtnControl.Visible("btnUnLockPackage", "Y")
472
            Call objBtnControl.Active("btnUnLockPackage", "Y")
473
          ElseIf (pkgInfoHash.Item("dlocked") = "N") Then
474
            ' lock patch or package.
475
            Call objBtnControl.Visible("btnLockPackage", "Y")
476
            Call objBtnControl.Active("btnLockPackage", "Y")
477
          End If
478
        End if
479
    Else
480
        Call objBtnControl.Visible("btnUnLockPackage", "Y")
5086 dpurdie 481
    End if
183 brianf 482
 
5983 dpurdie 483
    '---------------------------------------------------------------------------
484
    ' -- Render Buttons
485
    Call objBtnControl.Render (aTabBtnsDef, objAccessControl)
185 brianf 486
End Sub
119 ghuddy 487
%>