Subversion Repositories DevTools

Rev

Rev 6080 | Rev 6185 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6080 Rev 6176
Line 59... Line 59...
59
                                           "width=20", "btnMoveToView", "btnStickyNotes")
59
                                           "width=20", "btnMoveToView", "btnStickyNotes")
60
 
60
 
61
                    ElseIf pkgInfoHash.Item("product_state") = 3 or pkgInfoHash.Item("product_state") = 4 Then
61
                    ElseIf pkgInfoHash.Item("product_state") = 3 or pkgInfoHash.Item("product_state") = 4 Then
62
                        'For Products that have been approved for Pending Deployment
62
                        'For Products that have been approved for Pending Deployment
63
                        aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnRejectPackage", "width=20", _
63
                        aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnRejectPackage", "width=20", _
64
                                            "btnMoveToView", "btnReversionPackage", "width=20", "btnMoveToView", "btnStickyNotes")
64
                                            "btnMoveToView", "btnReversionPackage", "width=20", "btnStickyNotes")
65
 
65
 
66
                    ElseIf pkgInfoHash.Item("product_state") = 5 Then
66
                    ElseIf pkgInfoHash.Item("product_state") = 5 Then
67
                        'For Products that have been approved for Pending Integration and Deployment
67
                        'For Products that have been approved for Pending Integration and Deployment
68
                        aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingDeployment", "width=20", _
68
                        aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingDeployment", "width=20", _
69
                                            "width=20", "btnMoveToView", "btnStickyNotes")
69
                                            "width=20", "btnMoveToView", "btnStickyNotes")
70
 
70
 
71
                    ElseIf IsNull(pkgInfoHash.Item("product_state")) Then
71
                    ElseIf IsNull(pkgInfoHash.Item("product_state")) Then
72
                        If canShowControlInProject("ApprovePendingIntegrateAndDeploy") Then
72
                       If canShowControlInProject("ApprovePendingIntegrateAndDeploy") Then
73
                            'For Products that have have not yet been approved for Pending Integration
73
                            'For Products that have have not yet been approved for Pending Integration
74
                            aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingIntegration", "btnPendingIntegrateAndDeploy", "btnRejectProduct", "width=20", "btnRemovePackage", _
74
                            aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnPendingIntegration", "btnPendingIntegrateAndDeploy", "btnRejectProduct", "width=20", "btnRemovePackage", _
75
                                                 "btnMoveToView", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
75
                                                 "btnMoveToView", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
76
                        Else
76
                        Else
77
                            'For Products that have have not yet been approved for Pending Integration
77
                            'For Products that have have not yet been approved for Pending Integration
Line 79... Line 79...
79
                                                "width=20", "btnMoveToView", "btnStickyNotes")
79
                                                "width=20", "btnMoveToView", "btnStickyNotes")
80
                        End If
80
                        End If
81
                    Else
81
                    Else
82
                       ' For Packages Not In Release(Bug Fix From Deployment Manager)
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", _
83
                       aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnMakePending", "btnApprovePackage", "btnMakeRelease", "btnRejectPackage", "width=20", _
84
                                           "btnMoveToView", "btnReversionPackage", "width=20", "btnMoveToView", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
84
                                           "btnMoveToView", "btnReversionPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
85
                    End If
85
                    End If
86
 
86
 
87
                ElseIf canActionControlInProject("EditCriticalInfoForLockedPackage") Then
87
                ElseIf canActionControlInProject("EditCriticalInfoForLockedPackage") Then
88
                    ' For Packages in Release
88
                    ' For Packages in Release
89
                    aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "width=20", "btnDestroyWip" ,"btnRemovePackage", "btnMoveWIPToRelease",  "width=20", _
89
                    aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "width=20", "btnDestroyWip" ,"btnRemovePackage", "btnMoveWIPToRelease",  "width=20", _
Line 135... Line 135...
135
    Call objBtnControl.Visible("btnNewVersion-MASSREF", "N")
135
    Call objBtnControl.Visible("btnNewVersion-MASSREF", "N")
136
    Call objBtnControl.Visible("btnMakePending", "N")
136
    Call objBtnControl.Visible("btnMakePending", "N")
137
    Call objBtnControl.Active ("btnMakePending", "N")
137
    Call objBtnControl.Active ("btnMakePending", "N")
138
    Call objBtnControl.Visible("btnApprovePackage", "N")
138
    Call objBtnControl.Visible("btnApprovePackage", "N")
139
    Call objBtnControl.Visible("btnMakeRelease", "N")
139
    Call objBtnControl.Visible("btnMakeRelease", "N")
140
    'Call objBtnControl.Active("btnMakeRelease", "N")
140
    Call objBtnControl.Active ("btnMakeRelease", "N")
141
    Call objBtnControl.Active ("btnRejectPackage", "N")
141
    Call objBtnControl.Active ("btnRejectPackage", "N")
142
    Call objBtnControl.Visible("btnRejectPackage", "N")
142
    Call objBtnControl.Visible("btnRejectPackage", "Y")
143
    Call objBtnControl.Active ("btnRejectAutobuildPackage", "N")
143
    Call objBtnControl.Active ("btnRejectAutobuildPackage", "N")
144
    Call objBtnControl.Visible("btnRejectAutobuildPackage", "N")
144
    Call objBtnControl.Visible("btnRejectAutobuildPackage", "N")
-
 
145
    Call objBtnControl.Visible("btnMakeUnrelease", "N")
145
    Call objBtnControl.Active ("btnMakeUnrelease", "N")
146
    Call objBtnControl.Active ("btnMakeUnrelease", "N")
146
    Call objBtnControl.Active ("btnReversionPackage", "N")
147
    Call objBtnControl.Active ("btnReversionPackage", "N")
147
    Call objBtnControl.Visible("btnObsoletePatch", "N")
148
    Call objBtnControl.Visible("btnObsoletePatch", "N")
148
    Call objBtnControl.Visible("btnUnobsoletePatch", "N")
149
    Call objBtnControl.Visible("btnUnobsoletePatch", "N")
149
    Call objBtnControl.Visible("btnDeprecation", "N")
150
    Call objBtnControl.Visible("btnDeprecation", "N")
Line 156... Line 157...
156
    Call objBtnControl.Visible("btnAddDaemonInstTestBuildPackage", "N")
157
    Call objBtnControl.Visible("btnAddDaemonInstTestBuildPackage", "N")
157
    Call objBtnControl.Active ("btnMoveWIPToRelease", "N")
158
    Call objBtnControl.Active ("btnMoveWIPToRelease", "N")
158
    Call objBtnControl.Visible("btnMoveWIPToRelease", "N")
159
    Call objBtnControl.Visible("btnMoveWIPToRelease", "N")
159
    Call objBtnControl.Active ("btnDestroyWip", "N")
160
    Call objBtnControl.Active ("btnDestroyWip", "N")
160
    Call objBtnControl.Visible("btnDestroyWip", "N")
161
    Call objBtnControl.Visible("btnDestroyWip", "N")
-
 
162
    Call objBtnControl.Visible("btnUnLockPackage", "N")
-
 
163
    Call objBtnControl.Active ("btnUnLockPackage", "N")
-
 
164
    Call objBtnControl.Visible("btnLockPackage", "N")
-
 
165
    Call objBtnControl.Active ("btnLockPackage", "N")
161
 
166
 
162
    If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
167
    ' -- Change visible buttons for Auto: Manual built packages
163
 
-
 
164
        '-- Change button setting on conditions ---
168
    '    Manually build packages are very rare. Possibly just DataBase patches
-
 
169
    '
165
        If (pkgInfoHash.Item("build_type") <> "M") Then
170
    If (pkgInfoHash.Item("build_type") <> "M") Then
166
            ' For automatic build
171
        ' For automatic build
167
            Call objBtnControl.Visible("btnMakePending", "Y")
-
 
168
 
-
 
169
            Call objBtnControl.Visible("btnApprovePackage", "Y")
172
        Call objBtnControl.Visible("btnApprovePackage", "Y")
170
            Call objBtnControl.Active ("btnApprovePackage", "N")
173
        Call objBtnControl.Active ("btnApprovePackage", "N")
171
 
-
 
172
            Call objBtnControl.Visible("btnMakeUnrelease", "N")
-
 
173
            Call objBtnControl.Visible("btnRejectPackage", "Y")
-
 
174
        Else
-
 
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
-
 
186
 
-
 
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
-
 
194
 
-
 
195
            If (ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE) OR (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) Then
-
 
196
 
-
 
197
                Call objBtnControl.Visible("btnMakePending", "Y")
-
 
198
 
-
 
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
-
 
204
 
-
 
205
                Call objBtnControl.Visible("btnRejectPackage", "Y")
-
 
206
 
174
 
-
 
175
    Else
207
                If (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) OR(NOT canShowControlInProject("AlterReleaseContentsInRestrictiveMode")) Then
176
        ' For Manual Build
208
                   Call objBtnControl.Visible("btnMakeUnrelease", "N")
177
        Call objBtnControl.Visible("btnMakeRelease", "Y")
209
                   Call objBtnControl.Visible("btnRemovePackage", "N")
178
        Call objBtnControl.Active ("btnMakeRelease", "Y")
210
                End If
-
 
211
            End If
-
 
212
 
179
 
213
            If (ReleaseMode = enumDB_RELEASE_IN_OPEN_MODE) Then
-
 
214
                Call objBtnControl.Active("btnMakeRelease", "Y")
-
 
215
                Call objBtnControl.Visible("btnMakeRelease", "Y")
-
 
216
            End If
180
    End If
217
        End If  ' Manual Build
-
 
218
    End If ' Can edit package
-
 
219
 
181
 
220
    '-- Change button setting on conditions ---
182
    '-- Change button setting the current state of the package
-
 
183
    '       Release and Locked
-
 
184
    '       Pending Approval
-
 
185
    '       Approved Waiting auto build
-
 
186
    '       Rejected or Unlcoked
-
 
187
    '
221
    If pkgInfoHash.Item("dlocked") = "Y" Then
188
    If pkgInfoHash.Item("dlocked") = "Y" Then
222
       ' Package is Released and Locked
189
       ' Package is Released and Locked
223
        Call objBtnControl.Visible("btnNewVersion", "Y")
190
        Call objBtnControl.Visible("btnNewVersion", "Y")
224
        If Not canActionControlInProject("CreateNewVersion") Then
191
        If Not canActionControlInProject("CreateNewVersion") Then
225
            Call objBtnControl.Active("btnNewVersion", "N")
192
            Call objBtnControl.Active("btnNewVersion", "N")
Line 262... Line 229...
262
        Call objBtnControl.Visible("btnMakeRelease", "N")
229
        Call objBtnControl.Visible("btnMakeRelease", "N")
263
        Call objBtnControl.Visible("btnApprovePackage", "N")
230
        Call objBtnControl.Visible("btnApprovePackage", "N")
264
        Call objBtnControl.Visible("btnAddDaemonInstRipplePackage", "Y")
231
        Call objBtnControl.Visible("btnAddDaemonInstRipplePackage", "Y")
265
        Call ActivateButtonAccordingToReleaseModeAndPermissions("btnAddDaemonInstRipplePackage", "ApproveForAutoBuild")
232
        Call ActivateButtonAccordingToReleaseModeAndPermissions("btnAddDaemonInstRipplePackage", "ApproveForAutoBuild")
266
 
233
 
-
 
234
        ' Unlock patch or package.
-
 
235
        Call objBtnControl.Visible("btnUnLockPackage", "Y")
-
 
236
        Call objBtnControl.Active ("btnUnLockPackage", "Y")
267
 
237
 
268
    ElseIf pkgInfoHash.Item("dlocked") = "P" Then
238
    ElseIf pkgInfoHash.Item("dlocked") = "P" Then
269
        ' In Pending
239
        ' In Pending
270
        Call objBtnControl.Visible("btnMakePending", "N")
240
        Call objBtnControl.Visible("btnMakePending", "N")
271
        Call ActivateButtonAccordingToReleaseModeAndPermissions("btnApprovePackage", "ApproveForAutoBuild")
241
        Call ActivateButtonAccordingToReleaseModeAndPermissions("btnApprovePackage", "ApproveForAutoBuild")
-
 
242
        Call ActivateButtonAccordingToReleaseModeAndPermissions("btnMakeRelease",    "ApproveForManualBuild")
272
        Call ActivateButtonAccordingToReleaseModeAndPermissions("btnRejectPackage", "RejectPackageFromPending")
243
        Call ActivateButtonAccordingToReleaseModeAndPermissions("btnRejectPackage",  "RejectPackageFromPending")
273
 
244
 
274
        Call objBtnControl.Active ("btnRemovePackage", "N")
245
        Call objBtnControl.Active ("btnRemovePackage", "N")
275
        Call objBtnControl.Visible("btnRemovePackage", "N")
246
        Call objBtnControl.Visible("btnRemovePackage", "N")
276
 
247
 
-
 
248
 
277
    ElseIf pkgInfoHash.Item("dlocked") = "A" Then
249
    ElseIf pkgInfoHash.Item("dlocked") = "A" Then
278
       ' In Pending, Approved For Autobuild
250
       ' In Pending, Approved For Autobuild
279
        Call objBtnControl.Visible("btnMakePending", "N")
251
        Call objBtnControl.Visible("btnMakePending", "N")
280
        Call objBtnControl.Active("btnMakePending", "N")
252
        Call objBtnControl.Active("btnMakePending", "N")
281
 
253
 
Line 283... Line 255...
283
        Call objBtnControl.Active("btnApprovePackage", "N")
255
        Call objBtnControl.Active("btnApprovePackage", "N")
284
 
256
 
285
        Call objBtnControl.Visible("btnRejectPackage", "N")
257
        Call objBtnControl.Visible("btnRejectPackage", "N")
286
        Call objBtnControl.Active("btnRejectPackage", "N")
258
        Call objBtnControl.Active("btnRejectPackage", "N")
287
 
259
 
288
        Call objBtnControl.Visible("btnMakeUnrelease", "Y")
260
        Call objBtnControl.Active ("btnRemovePackage", "N")
289
        If pkgInfoHash.Item("can_unofficial") = "true" OR canActionControlInProject("EditCriticalInfoForLockedPackage") Then
261
        Call objBtnControl.Visible("btnRemovePackage", "N")
-
 
262
 
290
          Call objBtnControl.Active("btnMakeUnrelease", "Y")
263
        Call objBtnControl.Visible("btnRejectAutobuildPackage", "Y")
291
        Else
-
 
292
          Call objBtnControl.Active("btnMakeUnrelease", "N")
264
        Call objBtnControl.Active ("btnRejectAutobuildPackage", "N")
293
        End If
-
 
294
 
265
 
-
 
266
        If parRtag_id > 0 Then
295
        '--- Allow failed auto-builds to be rejected back to WIP, conditions allowing.
267
            '--- Allow failed auto-builds to be rejected back to WIP, conditions allowing.
-
 
268
            '    Can reject if:
-
 
269
            '       Manual Package and a suitable user
-
 
270
            '       Auto Package and 
-
 
271
            '           The release has no active daemons OR the packahe has failed to build
296
        If pkgInfoHash.Item("build_type") = "A" AND parRtag_id > 0 Then
272
            If pkgInfoHash.Item("build_type") = "A" Then
297
            If isInDoNotRippleTable(parRtag_id, pkgInfoHash.Item("pv_id")) = TRUE Then
273
                If activeDaemonCount(parRtag_id) = 0 OR isInDoNotRippleTable(parRtag_id, pkgInfoHash.Item("pv_id")) = TRUE Then
-
 
274
                    Call ActivateButtonAccordingToReleaseModeAndPermissions("btnRejectAutobuildPackage", "RejectPackageFromPending")
-
 
275
                End If
-
 
276
            Else
-
 
277
                '    Manual Package should not be in this state
298
                Call objBtnControl.Visible("btnRejectAutobuildPackage", "Y")
278
                If canActionControlInProject("EditCriticalInfoForLockedPackage") Then
299
                Call ActivateButtonAccordingToReleaseModeAndPermissions("btnRejectAutobuildPackage", "RejectPackageFromPending")
279
                    Call objBtnControl.Active ("btnRejectAutobuildPackage", "Y")
-
 
280
                End If
300
            End If
281
            End If
301
        End If
282
        End If
302
 
283
 
303
        Call objBtnControl.Active ("btnRemovePackage", "N")
-
 
304
        Call objBtnControl.Visible("btnRemovePackage", "N")
-
 
305
 
284
 
306
    Else
285
    Else
307
       ' Unlocked or rejected packages(dlocked = N or R)
286
       ' Unlocked or rejected packages(dlocked = N or R)
308
        Call objBtnControl.Active("btnReversionPackage", "Y")
287
        Call objBtnControl.Active ("btnReversionPackage", "Y")
-
 
288
        Call objBtnControl.Visible("btnReversionPackage", "Y")
309
        Call objBtnControl.Active("btnMakePending", "Y")
289
        Call objBtnControl.Visible("btnMakePending", "Y")
310
 
-
 
311
        Call objBtnControl.Visible("btnApprovePackage", "N")
290
        Call objBtnControl.Active ("btnMakePending", "Y")
312
        Call objBtnControl.Visible("btnRejectPackage", "N")
291
        Call objBtnControl.Visible("btnRejectPackage", "N")
313
 
292
 
-
 
293
        ' Patches (which are Manual) can be directly released
-
 
294
        If NOT IsNull(pkgInfoHash.Item("is_patch")) Then
-
 
295
            Call objBtnControl.Visible("btnApprovePackage", "N")
-
 
296
            Call objBtnControl.Visible("btnMakeRelease", "Y")
-
 
297
            Call objBtnControl.Visible("btnMakeUnrelease", "Y")
-
 
298
            If NOT canShowControlInProject("ReleasePatch") Then
-
 
299
                Call objBtnControl.Active("btnMakeRelease", "N")
-
 
300
            End If
-
 
301
 
-
 
302
        Else
-
 
303
            Call objBtnControl.Visible("btnApprovePackage", "N")
-
 
304
            Call objBtnControl.Visible("btnMakeRelease", "N")
-
 
305
        End If
-
 
306
 
314
        Call objBtnControl.Visible("btnMoveWIPToRelease", "Y")
307
        Call objBtnControl.Visible("btnMoveWIPToRelease", "Y")
-
 
308
        Call objBtnControl.Active ("btnMoveWIPToRelease", "Y")
315
        Call objBtnControl.Visible("btnAddDaemonInstTestBuildPackage", "Y")
309
        Call objBtnControl.Visible("btnAddDaemonInstTestBuildPackage", "Y")
316
        If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
-
 
317
            Call objBtnControl.Active ("btnAddDaemonInstTestBuildPackage", "Y")
310
        Call objBtnControl.Active ("btnAddDaemonInstTestBuildPackage", "Y")
318
            Call objBtnControl.Active ("btnMoveWIPToRelease", "Y")
-
 
319
        End If
-
 
320
 
311
 
321
        Call objBtnControl.Visible("btnDestroyWip", "Y")
312
        Call objBtnControl.Visible("btnDestroyWip", "Y")
322
        If (objAccessControl.UserLogedIn) Then
-
 
323
            If ((objAccessControl.UserName = pkgInfoHash.Item("creator")) OR(canActionControlInProject("DestroyPackageFromRelease"))) Then
313
        If ((objAccessControl.UserName = pkgInfoHash.Item("creator")) OR (canActionControlInProject("DestroyPackageFromRelease"))) Then
324
                Call objBtnControl.Active ("btnDestroyWip", "Y")
314
            Call objBtnControl.Active ("btnDestroyWip", "Y")
325
            End If
-
 
326
        End If
315
        End If
327
 
316
 
328
        If pkgInfoHash.Item("is_wip")  Then
317
        If pkgInfoHash.Item("is_wip")  Then
329
            Call objBtnControl.Active ("btnRemovePackage", "N")
318
            Call objBtnControl.Active ("btnRemovePackage", "N")
330
            Call objBtnControl.Visible("btnRemovePackage", "N")
319
            Call objBtnControl.Visible("btnRemovePackage", "N")
331
        End If
320
        End If
332
 
321
 
-
 
322
        ' lock patch or package.
-
 
323
        Call objBtnControl.Visible("btnLockPackage", "Y")
-
 
324
        Call objBtnControl.Active( "btnLockPackage", "Y")
-
 
325
 
333
    End If
326
    End If
334
 
327
 
-
 
328
    '------------------------------------------------
-
 
329
    '   Various other tweaks
-
 
330
    '
335
    If IsNull(pkgInfoHash.Item("is_obsolete")) Then
331
    If IsNull(pkgInfoHash.Item("is_obsolete")) Then
336
        Call objBtnControl.Visible("btnObsoletePatch", "Y")
332
        Call objBtnControl.Visible("btnObsoletePatch", "Y")
337
    Else
333
    Else
338
        Call objBtnControl.Visible("btnUnobsoletePatch", "Y")
334
        Call objBtnControl.Visible("btnUnobsoletePatch", "Y")
339
    End If
335
    End If
340
 
336
 
341
    If NOT(parRtag_id > 0) Then
337
    If NOT(parRtag_id > 0) Then
342
        ' Not shown in the context of a Release
338
        ' Not shown in the context of a Release
343
        ' Determine if the package can be reversioned or destroyed
339
        ' Determine if the package can be destroyed
344
 
-
 
345
        Call objBtnControl.Visible("btnRecycleBin", "Y")
-
 
346
        Call objBtnControl.Visible("btnReversionPackage" , "Y")
-
 
347
        Call objBtnControl.ReadOnly("btnReversionPackage" , "Y")
-
 
348
 
340
 
349
        If canShowControlInProject("DestroyPackage") Then
341
        If canShowControlInProject("DestroyPackage") Then
350
           Call objBtnControl.Visible("btnRecycleBin", "Y")
342
           Call objBtnControl.Visible("btnRecycleBin", "Y")
351
        ElseIf (objAccessControl.UserId = pkgInfoHash.Item("creator_id")) OR(objAccessControl.UserId = pkgInfoHash.Item("owner_id")) Then
343
        ElseIf (objAccessControl.UserId = pkgInfoHash.Item("creator_id")) OR(objAccessControl.UserId = pkgInfoHash.Item("owner_id")) Then
352
            'If aVersions(rsVB.FieldIndex("inuse"), i) = 0 Then
344
            'If aVersions(rsVB.FieldIndex("inuse"), i) = 0 Then
Line 358... Line 350...
358
                    End If
350
                    End If
359
                'End If
351
                'End If
360
            'End If
352
            'End If
361
        End If
353
        End If
362
 
354
 
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
-
 
367
    End If
355
    End If
368
 
356
 
369
    '--- Access Control Action Relationships ---
357
    '--- Access Control Action Relationships ---
370
 
358
 
371
    ' DEVI-45275 - Merges now occur via the Pending tab. Merge candidates are marked with a(planned) operation
359
    ' DEVI-45275 - Merges now occur via the Pending tab. Merge candidates are marked with a(planned) operation
Line 392... Line 380...
392
            Call objBtnControl.Active("btnApproveMerge", "N")
380
            Call objBtnControl.Active("btnApproveMerge", "N")
393
            Call objBtnControl.Active("btnRejectPackage", "N")
381
            Call objBtnControl.Active("btnRejectPackage", "N")
394
        End If
382
        End If
395
    End If
383
    End If
396
 
384
 
-
 
385
    '   Have now set visible button based on the current state of the package
-
 
386
    '   No deactivate buttons based on the Release Mode and users permissions
-
 
387
    '       Users should be able to see what 'could' be done, even if they don't have permission
-
 
388
    '
-
 
389
    If (ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE) OR (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) Then
-
 
390
 
-
 
391
        Dim canAddRemove, canRelease, canAlter
-
 
392
        canAddRemove = canActionControlInProject("AddDeletePackageInRestrictiveMode")
-
 
393
        canRelease   = canActionControlInProject("ApprovePackageReleaseForRestrictiveMode")
-
 
394
        canAlter     = canActionControlInProject("AlterReleaseContentsInRestrictiveMode")
-
 
395
 
-
 
396
        ' If in CCB mode then we must also be able to 'Alter Release Contents) 
-
 
397
        '
-
 
398
        If (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) AND (NOT canAlter) Then
-
 
399
            canAddRemove = False
-
 
400
            canRelease = False
-
 
401
        End If
-
 
402
 
-
 
403
        ' Disable Package Release Actions - unless allowed
-
 
404
        '   ApprovePackage ( for autobuild )
-
 
405
        '   MakeRelease ( for Manual Build )
-
 
406
        '   ApproveMerge
-
 
407
        '   
-
 
408
        If NOT (canRelease) Then
-
 
409
            Call objBtnControl.Active("btnApprovePackage", "N")
-
 
410
            Call objBtnControl.Active("btnMakeRelease", "N")
-
 
411
            Call objBtnControl.Active("btnApproveMerge", "N")
-
 
412
            Call objBtnControl.Active("btnRejectPackage", "N")
-
 
413
            
-
 
414
        End If
-
 
415
 
-
 
416
        ' Disable Release Modification Actions - Unless allowed
-
 
417
        '   Create New version of a package
-
 
418
        '   Remove a package
-
 
419
        '
-
 
420
        If NOT (canAddRemove ) Then
-
 
421
            Call objBtnControl.Active("btnNewVersion", "N")
-
 
422
            Call objBtnControl.Active("btnRemovePackage", "N")
-
 
423
        End If
-
 
424
 
-
 
425
    End If
-
 
426
 
-
 
427
    '---------------------------------------------------------------------------
-
 
428
    ' Unlock Package
-
 
429
    ' Note: Unlocking of a Package or Patch is intended for the administrators
-
 
430
    '
-
 
431
    If NOT (pkgInfoHash("is_released") AND canActionControlInProject("EditCriticalInfoForLockedPackage")) Then
-
 
432
        Call objBtnControl.Active ("btnUnLockPackage", "N")
-
 
433
        Call objBtnControl.Active( "btnLockPackage", "N")
-
 
434
    End If
-
 
435
 
-
 
436
    ' Unbuildable packages
-
 
437
    '   Spontaneously generated package - by Deployment Manager
397
    If (pkgInfoHash.Item("build_type") = "U") Then
438
    If (pkgInfoHash.Item("build_type") = "U") Then
398
        Call objBtnControl.Active("btnMakeRelease", "N")
439
        Call objBtnControl.Active("btnMakeRelease", "N")
399
        Call objBtnControl.Active("btnApprovePackage", "N")
440
        Call objBtnControl.Active("btnApprovePackage", "N")
-
 
441
        Call objBtnControl.Active("btnMakeRelease", "N")
400
        Call objBtnControl.Active("btnMakeUnrelease", "N")
442
        Call objBtnControl.Active("btnMakeUnrelease", "N")
401
        Call objBtnControl.Active("btnAddDaemonInstTestBuildPackage", "N")
443
        Call objBtnControl.Active("btnAddDaemonInstTestBuildPackage", "N")
402
        Call objBtnControl.Active("btnMakePending", "N")
444
        Call objBtnControl.Active("btnMakePending", "N")
403
        Call objBtnControl.Active("btnApproveMerge",  "N")
445
        Call objBtnControl.Active("btnApproveMerge",  "N")
-
 
446
        Call objBtnControl.Active("btnUnLockPackage",  "N")
-
 
447
        Call objBtnControl.Active("btnLockPackage",  "N")
404
    End If
448
    End If
405
 
449
 
-
 
450
    ' Manual Packages
406
    If (pkgInfoHash.Item("build_type") = "M") Then
451
    If (pkgInfoHash.Item("build_type") = "M") Then
-
 
452
        ' Cannot be rippled or test built
407
        Call objBtnControl.Active("btnAddDaemonInstTestBuildPackage", "N")
453
        Call objBtnControl.Active("btnAddDaemonInstTestBuildPackage", "N")
-
 
454
        Call objBtnControl.Active("btnAddDaemonInstRipplePackage", "N")
-
 
455
 
-
 
456
        ' Cannot be Released, unless in the archive 
-
 
457
        If Not pkgInfoHash.Item("isInArchive") AND NOT canActionControlInProject("EditCriticalInfoForLockedPackage") Then
-
 
458
            Call objBtnControl.Active("btnMakeRelease", "N")
408
    End If
459
        End If
409
 
460
 
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
461
    End If
423
 
462
 
424
    '-- Disable if the Package is imported as a part of an SDK
463
    '-- Disable if the Package is imported as a part of an SDK
425
    '   Or as part of a linked Release
464
    '   Or as part of a linked Release
-
 
465
    '   Or the user is not logged in
-
 
466
    '   Or user cannot edit in this project
426
    If (pkgInfoHash.Item("can_edit_in_project") <> "1") Then
467
    If (pkgInfoHash.Item("can_edit_in_project") <> "1") OR (NOT objAccessControl.UserLogedIn) OR (NOT canActionInProject() ) Then
427
        Call objBtnControl.Active("btnNewVersion", "N")
468
        Call objBtnControl.Active("btnNewVersion", "N")
428
        Call objBtnControl.Active("btnDestroyWip" , "N")
469
        Call objBtnControl.Active("btnDestroyWip" , "N")
429
        Call objBtnControl.Active("btnRemovePackage",  "N")
470
        Call objBtnControl.Active("btnRemovePackage",  "N")
430
        Call objBtnControl.Active("btnAddDaemonInstTestBuildPackage",  "N")
471
        Call objBtnControl.Active("btnAddDaemonInstTestBuildPackage",  "N")
431
        Call objBtnControl.Active("btnMakePending",  "N")
472
        Call objBtnControl.Active("btnMakePending",  "N")
-
 
473
        Call objBtnControl.Active("btnMakeRelease",  "N")
432
        Call objBtnControl.Active("btnApprovePackage",  "N")
474
        Call objBtnControl.Active("btnApprovePackage",  "N")
433
        Call objBtnControl.Active("btnApproveMerge",  "N")
475
        Call objBtnControl.Active("btnApproveMerge",  "N")
434
        Call objBtnControl.Active("btnMakeRelease",  "N")
-
 
435
        Call objBtnControl.Active("btnRejectPackage",  "N")
476
        Call objBtnControl.Active("btnRejectPackage",  "N")
436
        Call objBtnControl.Active("btnRejectAutobuildPackage",  "N")
477
        Call objBtnControl.Active("btnRejectAutobuildPackage",  "N")
437
        Call objBtnControl.Active("btnMakeUnrelease", "N")
478
        Call objBtnControl.Active("btnMakeUnrelease", "N")
438
        Call objBtnControl.Active("btnMoveToView",  "N")
479
        Call objBtnControl.Active("btnMoveToView",  "N")
439
        Call objBtnControl.Active("btnMoveWIPToRelease",  "N")
480
        Call objBtnControl.Active("btnMoveWIPToRelease",  "N")
440
        Call objBtnControl.Active("btnDeprecation",  "N")
481
        Call objBtnControl.Active("btnDeprecation",  "N")
441
        Call objBtnControl.Active("btnUnDeprecation",  "N")
482
        Call objBtnControl.Active("btnUnDeprecation",  "N")
442
        Call objBtnControl.Active("btnAddDaemonInstRipplePackage", "N")
483
        Call objBtnControl.Active("btnAddDaemonInstRipplePackage", "N")
-
 
484
        Call objBtnControl.Active ("btnUnLockPackage", "N")
-
 
485
        Call objBtnControl.Active ("btnLockPackage", "N")
-
 
486
    End If
-
 
487
 
-
 
488
    If (NOT objAccessControl.UserLogedIn) OR (NOT canActionInProject() ) Then
-
 
489
        Call objBtnControl.Active("btnReversionPackage", "N")
443
    End If
490
    End If
444
 
491
 
445
    If (pkgInfoHash.Item("base_view_id") = "") Then
492
    If (pkgInfoHash.Item("base_view_id") = "") Then
446
        Call objBtnControl.Active("btnMoveToView",  "N")
493
        Call objBtnControl.Active("btnMoveToView",  "N")
447
    End IF
494
    End IF
Line 454... Line 501...
454
    Call objBtnControl.SetRelationship("btnPendingDeployment", "ApproveForPendingDeployment")
501
    Call objBtnControl.SetRelationship("btnPendingDeployment", "ApproveForPendingDeployment")
455
    Call objBtnControl.SetRelationship("btnRejectProduct", "RejectProduct")
502
    Call objBtnControl.SetRelationship("btnRejectProduct", "RejectProduct")
456
    Call objBtnControl.SetRelationship("btnPendingIntegrateAndDeploy", "ApprovePendingIntegrateAndDeploy")
503
    Call objBtnControl.SetRelationship("btnPendingIntegrateAndDeploy", "ApprovePendingIntegrateAndDeploy")
457
 
504
 
458
    '---------------------------------------------------------------------------
505
    '---------------------------------------------------------------------------
459
    ' Unlock Package
-
 
460
    ' Note: Unlocking of a Package or Patch is intended for the administrators
-
 
461
 
-
 
462
    Call objBtnControl.Visible("btnUnLockPackage", "N")
-
 
463
    Call objBtnControl.Visible("btnLockPackage", "N")
-
 
464
    Call objBtnControl.Active("btnLockPackage", "N")
-
 
465
    Call objBtnControl.Active("btnUnLockPackage", "N")
-
 
466
 
-
 
467
    If (pkgInfoHash.Item("can_edit_in_project") = "1") Then
-
 
468
        Dim bucan_unlock
-
 
469
        bucan_unlock = pkgInfoHash("is_released") AND canActionControlInProject("EditCriticalInfoForLockedPackage")
-
 
470
 
-
 
471
        If bucan_unlock  Then
-
 
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
-
 
481
        End if
-
 
482
    Else
-
 
483
        Call objBtnControl.Visible("btnUnLockPackage", "Y")
-
 
484
    End if
-
 
485
 
-
 
486
    '---------------------------------------------------------------------------
-
 
487
    ' -- Render Buttons
506
    ' -- Render Buttons
488
    Call objBtnControl.Render (aTabBtnsDef, objAccessControl)
507
    Call objBtnControl.Render (aTabBtnsDef, objAccessControl)
489
End Sub
508
End Sub
490
%>
509
%>