Subversion Repositories DevTools

Rev

Rev 133 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 133 Rev 143
Line 3... Line 3...
3
'            Package Action Buttons
3
'            Package Action Buttons
4
'=====================================================
4
'=====================================================
5
%>
5
%>
6
 
6
 
7
<%
7
<%
-
 
8
Sub ActivateButtonAccordingToReleaseModeAndPermissions( NNbutton, NNpermission)
-
 
9
   If ( ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE) OR ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE ) Then
-
 
10
      If objAccessControl.IsActive(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
End Sub
-
 
21
 
-
 
22
 
-
 
23
 
8
'--Determine whether the release has an associated MASS_REF
24
'--Determine whether the release has an associated MASS_REF
9
Dim rsAssoc, AssocMASSREF, AssocMASSREFValue, StatesUsed
25
Dim rsAssoc, AssocMASSREF, AssocMASSREFValue, StatesUsed
10
If Request("rtag_id") <> "" Then
26
If Request("rtag_id") <> "" Then
11
   Set rsAssoc = OraDatabase.DbCreateDynaset( "SELECT ASSOC_MASS_REF, PRODUCT_STATE_USED FROM RELEASE_TAGS WHERE RTAG_ID="&Request("rtag_id"), cint(0))
27
   Set rsAssoc = OraDatabase.DbCreateDynaset( "SELECT ASSOC_MASS_REF, PRODUCT_STATE_USED FROM RELEASE_TAGS WHERE RTAG_ID="&Request("rtag_id"), cint(0))
12
   AssocMASSREFValue = rsAssoc("ASSOC_MASS_REF")
28
   AssocMASSREFValue = rsAssoc("ASSOC_MASS_REF")
Line 67... Line 83...
67
 
83
 
68
            End If
84
            End If
69
 
85
 
70
         ElseIf objAccessControl.IsActive("EditCriticalInfoForLockedPackage") Then
86
         ElseIf objAccessControl.IsActive("EditCriticalInfoForLockedPackage") Then
71
            ' For Packages in Release
87
            ' For Packages in Release
72
            aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnMakePending", "btnApprovePackage", "btnApproveMerge", "btnMakeRelease", "btnRejectPackage", "btnMakeUnrelease", "width=20", _
88
            aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnMakePending", "btnApprovePackage", "btnApproveMerge", "btnMakeRelease", "btnRejectPackage", "btnRejectAutobuildPackage", "btnMakeUnrelease", "width=20", _
73
                          "btnMoveToView", "btnReversionPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
89
                          "btnMoveToView", "btnReversionPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
74
         Else
90
         Else
75
            ' For Packages in Release
91
            ' For Packages in Release
76
            aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnMakePending", "btnApprovePackage", "btnApproveMerge", "btnMakeRelease", "btnRejectPackage", "width=20", _
92
            aTabBtnsDef = Array("btnNewVersion", "btnVersionHistory", "btnRemovePackage", "width=20", "btnMakePending", "btnApprovePackage", "btnApproveMerge", "btnMakeRelease", "btnRejectPackage", "btnRejectAutobuildPackage", "width=20", _
77
                          "btnMoveToView", "btnReversionPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
93
                          "btnMoveToView", "btnReversionPackage", "width=20", "btnStickyNotes", "btnDeprecation", "btnUnDeprecation")
78
         End If
94
         End If
79
      Else
95
      Else
80
         ' Non-Editable Packages in Release
96
         ' Non-Editable Packages in Release
81
         If AssocMASSREF Then
97
         If AssocMASSREF Then
Line 110... Line 126...
110
 
126
 
111
'--- Set button conditions ---
127
'--- Set button conditions ---
112
objBtnControl.IsReadonlyAction = Eval( ReleaseMode = enumDB_RELEASE_IN_CLOSED_MODE )
128
objBtnControl.IsReadonlyAction = Eval( ReleaseMode = enumDB_RELEASE_IN_CLOSED_MODE )
113
 
129
 
114
 
130
 
-
 
131
' NOTE: At this point, all buttons are Active and Visible and must now be configured
-
 
132
'       as appropriate by statements that follow.
-
 
133
 
115
 
134
 
116
'--- Set default button settings ---
135
'--- Set default button settings ---
117
Call objBtnControl.Visible ( "btnNewVersion", "N" )
136
Call objBtnControl.Visible ( "btnNewVersion", "N" )
118
Call objBtnControl.Visible ( "btnNewVersion-MASSREF", "N")
137
Call objBtnControl.Visible ( "btnNewVersion-MASSREF", "N")
119
Call objBtnControl.Visible ( "btnMakePending", "N" )
138
Call objBtnControl.Visible ( "btnMakePending", "N" )
Line 121... Line 140...
121
Call objBtnControl.Visible ( "btnApprovePackage", "N" )
140
Call objBtnControl.Visible ( "btnApprovePackage", "N" )
122
Call objBtnControl.Visible ( "btnMakeRelease", "N" )
141
Call objBtnControl.Visible ( "btnMakeRelease", "N" )
123
'Call objBtnControl.Active ( "btnMakeRelease", "N" )
142
'Call objBtnControl.Active ( "btnMakeRelease", "N" )
124
Call objBtnControl.Active  ( "btnRejectPackage", "N" )
143
Call objBtnControl.Active  ( "btnRejectPackage", "N" )
125
Call objBtnControl.Visible ( "btnRejectPackage", "N" )
144
Call objBtnControl.Visible ( "btnRejectPackage", "N" )
-
 
145
Call objBtnControl.Active  ( "btnRejectAutobuildPackage", "N" )
-
 
146
Call objBtnControl.Visible ( "btnRejectAutobuildPackage", "N" )
126
Call objBtnControl.Active  ( "btnMakeUnrelease", "N" )
147
Call objBtnControl.Active  ( "btnMakeUnrelease", "N" )
127
Call objBtnControl.Active  ( "btnReversionPackage", "N" )
148
Call objBtnControl.Active  ( "btnReversionPackage", "N" )
128
Call objBtnControl.Visible ( "btnObsoletePatch", "N" )
149
Call objBtnControl.Visible ( "btnObsoletePatch", "N" )
129
Call objBtnControl.Visible ( "btnUnobsoletePatch", "N" )
150
Call objBtnControl.Visible ( "btnUnobsoletePatch", "N" )
130
Call objBtnControl.Visible ( "btnDeprecation", "N" )
151
Call objBtnControl.Visible ( "btnDeprecation", "N" )
Line 132... Line 153...
132
Call objBtnControl.Active  ( "btnApproveMerge", "N" )
153
Call objBtnControl.Active  ( "btnApproveMerge", "N" )
133
Call objBtnControl.Visible ( "btnApproveMerge", "N" )
154
Call objBtnControl.Visible ( "btnApproveMerge", "N" )
134
 
155
 
135
 
156
 
136
 
157
 
-
 
158
 
137
If objAccessControl.IsDataActive ("PROJECTS", DB_PROJ_ID, "EditProjects") Then
159
If objAccessControl.IsDataActive ("PROJECTS", DB_PROJ_ID, "EditProjects") Then
138
   '-- Change button setting on conditions ---
160
   '-- Change button setting on conditions ---
139
   If ( pkgInfoHash.Item ("build_type") = "A" ) Then
161
   If ( pkgInfoHash.Item ("build_type") = "A" ) Then
140
      ' For automatic build
162
      ' For automatic build
141
      Call objBtnControl.Visible ( "btnMakePending", "Y" )
163
      Call objBtnControl.Visible ( "btnMakePending", "Y" )
Line 164... Line 186...
164
      If ( ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE) OR ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE ) Then
186
      If ( ReleaseMode = enumDB_RELEASE_IN_RESTRICTIVE_MODE) OR ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE ) Then
165
 
187
 
166
         Call objBtnControl.Visible ( "btnMakePending", "Y" )
188
         Call objBtnControl.Visible ( "btnMakePending", "Y" )
167
 
189
 
168
         If ( ( pkgInfoHash.Item ("dlocked") = "N" ) OR ( pkgInfoHash.Item ("dlocked") = "R" ) ) _
190
         If ( ( pkgInfoHash.Item ("dlocked") = "N" ) OR ( pkgInfoHash.Item ("dlocked") = "R" ) ) _
169
            AND ( IsNull(pkgInfoHash.Item("is_patch")) ) _
191
            AND ( IsNull(pkgInfoHash.Item("is_patch")) ) Then
170
         Then Call objBtnControl.Active ( "btnMakeRelease", "N" )
192
            Call objBtnControl.Active ( "btnMakeRelease", "N" )
-
 
193
            Call objBtnControl.Visible ( "btnMakeRelease", "N" )
-
 
194
         End If
171
 
195
 
172
         Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
196
         Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
173
 
197
 
174
         If (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) OR (NOT objAccessControl.IsVisible("AlterReleaseContentsInRestrictiveMode")) Then
198
         If (ReleaseMode = enumDB_RELEASE_IN_CCB_MODE) OR (NOT objAccessControl.IsVisible("AlterReleaseContentsInRestrictiveMode")) Then
175
            Call objBtnControl.Visible ( "btnMakeUnrelease", "N" )
199
            Call objBtnControl.Visible ( "btnMakeUnrelease", "N" )
Line 185... Line 209...
185
 
209
 
186
 
210
 
187
 
211
 
188
'-- Change button setting on conditions ---
212
'-- Change button setting on conditions ---
189
If pkgInfoHash.Item ("dlocked") = "Y" Then
213
If pkgInfoHash.Item ("dlocked") = "Y" Then
190
 
-
 
-
 
214
   ' Package is Released and Locked
191
   Call objBtnControl.Visible ( "btnNewVersion", "Y" )
215
   Call objBtnControl.Visible ( "btnNewVersion", "Y" )
192
 
216
 
193
   If AssocMASSREF Then
217
   If AssocMASSREF Then
194
      Call objBtnControl.Visible ( "btnNewVersion-MASSREF", "Y" )
218
      Call objBtnControl.Visible ( "btnNewVersion-MASSREF", "Y" )
195
   End If
219
   End If
Line 222... Line 246...
222
   ' to either (A)dd or (S)ubtract the version from the release. Such items must be "rejectable" so we need to enable the
246
   ' to either (A)dd or (S)ubtract the version from the release. Such items must be "rejectable" so we need to enable the
223
   ' reject package button.
247
   ' reject package button.
224
   If pkgInfoHash.Item("planned_operation") <> " " Then
248
   If pkgInfoHash.Item("planned_operation") <> " " Then
225
      Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
249
      Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
226
      Call objBtnControl.Active ( "btnRejectPackage", "Y" )
250
      Call objBtnControl.Active ( "btnRejectPackage", "Y" )
-
 
251
   Else
-
 
252
      Call objBtnControl.Visible ( "btnRejectPackage", "N" )
227
   End If
253
   End If
228
 
254
 
-
 
255
   Call objBtnControl.Visible ( "btnMakePending", "N" )
-
 
256
   Call objBtnControl.Visible ( "btnMakeRelease", "N" )
-
 
257
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
-
 
258
 
-
 
259
 
229
ElseIf pkgInfoHash.Item ("dlocked") = "P" Then
260
ElseIf pkgInfoHash.Item ("dlocked") = "P" Then
-
 
261
   ' In Pending
-
 
262
   Call objBtnControl.Visible ( "btnMakePending", "N" )
230
 
263
 
231
   Call objBtnControl.Active ( "btnMakePending", "N" )
-
 
232
   Call objBtnControl.Active ( "btnApprovePackage", "Y" )
264
   Call ActivateButtonAccordingToReleaseModeAndPermissions("btnApprovePackage", "ApproveForAutoBuild")
-
 
265
 
233
   Call objBtnControl.Active ( "btnRejectPackage", "Y" )
266
   Call ActivateButtonAccordingToReleaseModeAndPermissions("btnRejectPackage", "RejectPackageFromPending")
234
 
267
 
235
ElseIf pkgInfoHash.Item ("dlocked") = "A" Then
268
ElseIf pkgInfoHash.Item ("dlocked") = "A" Then
-
 
269
   ' In Pending, Approved For Autobuild
-
 
270
   Call objBtnControl.Visible ( "btnMakePending", "N" )
236
   Call objBtnControl.Active ( "btnMakePending", "N" )
271
   Call objBtnControl.Active ( "btnMakePending", "N" )
-
 
272
 
-
 
273
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
237
   Call objBtnControl.Active ( "btnApprovePackage", "N" )
274
   Call objBtnControl.Active ( "btnApprovePackage", "N" )
-
 
275
 
238
   Call objBtnControl.Visible ( "btnRejectPackage", "N" )
276
   Call objBtnControl.Visible ( "btnRejectPackage", "N" )
-
 
277
   Call objBtnControl.Active ( "btnRejectPackage", "N" )
239
 
278
 
240
   Call objBtnControl.Visible ( "btnMakeUnrelease", "Y" )
279
   Call objBtnControl.Visible ( "btnMakeUnrelease", "Y" )
241
   Call objBtnControl.Active ( "btnMakeUnrelease", "N" )
-
 
242
   If pkgInfoHash.Item("can_unofficial") = "true" OR objAccessControl.IsActive("EditCriticalInfoForLockedPackage") Then
280
   If pkgInfoHash.Item("can_unofficial") = "true" OR objAccessControl.IsActive("EditCriticalInfoForLockedPackage") Then
243
      Call objBtnControl.Active ( "btnMakeUnrelease", "Y" )
281
      Call objBtnControl.Active ( "btnMakeUnrelease", "Y" )
-
 
282
   Else
-
 
283
      Call objBtnControl.Active ( "btnMakeUnrelease", "N" )
-
 
284
   End If
-
 
285
 
-
 
286
   '--- Allow failed auto-builds to be rejected back to WIP, conditions allowing.
-
 
287
   If pkgInfoHash.Item("build_type") = "A" AND Request("rtag_id") <> "" Then
-
 
288
      If isInDoNotRippleTable( Request("rtag_id"), pkgInfoHash.Item("pv_id") ) = TRUE Then
-
 
289
 
-
 
290
         Call objBtnControl.Visible ( "btnRejectAutobuildPackage", "Y" )
-
 
291
         Call ActivateButtonAccordingToReleaseModeAndPermissions("btnRejectAutobuildPackage", "RejectPackageFromPending")
-
 
292
      End If
244
   End If
293
   End If
245
 
294
 
246
Else
295
Else
247
   ' Unlocked or rejected packages
296
   ' Unlocked or rejected packages (dlocked = N or R)
248
   Call objBtnControl.Active ( "btnReversionPackage", "Y" )
297
   Call objBtnControl.Active ( "btnReversionPackage", "Y" )
249
   Call objBtnControl.Active ( "btnMakePending", "Y" )
298
   Call objBtnControl.Active ( "btnMakePending", "Y" )
250
 
299
 
-
 
300
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
-
 
301
   Call objBtnControl.Visible ( "btnRejectPackage", "N" )
-
 
302
 
251
End If
303
End If
252
 
304
 
253
 
305
 
254
If IsNull(pkgInfoHash.Item ("is_obsolete")) Then
306
If IsNull(pkgInfoHash.Item ("is_obsolete")) Then
255
   Call objBtnControl.Visible ( "btnObsoletePatch", "Y" )
307
   Call objBtnControl.Visible ( "btnObsoletePatch", "Y" )
Line 260... Line 312...
260
If objAccessControl.IsVisible("DestroyPackage") Then
312
If objAccessControl.IsVisible("DestroyPackage") Then
261
   Call objBtnControl.Visible ( "btnRecycleBin", "Y" )
313
   Call objBtnControl.Visible ( "btnRecycleBin", "Y" )
262
End If
314
End If
263
 
315
 
264
'--- Access Control Action Relationships ---
316
'--- Access Control Action Relationships ---
265
If ( ReleaseMode = enumDB_RELEASE_IN_OPEN_MODE ) AND pkgInfoHash.Item("build_type") = "A" Then
-
 
266
   Call objBtnControl.Visible ( "btnApprovePackage", "Y" )
-
 
-
 
317
 
267
Else
318
 
268
   Call objBtnControl.SetRelationship ( "btnApprovePackage", "ApproveForAutoBuild" )
-
 
269
End If
319
 
-
 
320
 
270
 
321
 
271
' DEVI-45275 - Merges now occur via the Pending tab. Merge candidates are marked with a (planned) operation
322
' DEVI-45275 - Merges now occur via the Pending tab. Merge candidates are marked with a (planned) operation
272
' of "A" for add, or "S" for subtract. If the package version is one of these (within the context of the
323
' of "A" for add, or "S" for subtract. If the package version is one of these (within the context of the
273
' release ofcoarse), manipulate the MakeRelease button (of which there are now 3 types) accordingly.
324
' release ofcoarse), manipulate the MakeRelease button (of which there are now 3 types) accordingly.
274
If ( pkgInfoHash.Item ("planned_operation") = "A" OR pkgInfoHash.Item ("planned_operation") = "S") Then
325
If ( pkgInfoHash.Item ("planned_operation") = "A" OR pkgInfoHash.Item ("planned_operation") = "S") Then
275
 
326
 
276
   ' always enable the reject button for pending merge operations
327
   ' always enable the reject button for pending merge operations
277
   Call objBtnControl.Active ( "btnRejectPackage", "Y" )
-
 
278
   Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
328
   Call objBtnControl.Visible ( "btnRejectPackage", "Y" )
279
 
329
 
280
   ' disable the other two types of MakeRelease button
330
   ' disable the other two types of MakeRelease button
281
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
331
   Call objBtnControl.Visible ( "btnApprovePackage", "N" )
282
   Call objBtnControl.Active ( "btnApprovePackage", "N" )
-
 
283
   Call objBtnControl.Visible ( "btnMakeRelease", "N" )
332
   Call objBtnControl.Visible ( "btnMakeRelease", "N" )
284
   Call objBtnControl.Active ( "btnMakeRelease", "N" )
-
 
285
 
333
 
286
   ' make the approve merge button variant visible
334
   ' make the approve merge button variant visible
287
   Call objBtnControl.Visible ( "btnApproveMerge", "Y" )
335
   Call objBtnControl.Visible ( "btnApproveMerge", "Y" )
288
 
336
 
289
   ' These conditions match those used in Diff.asp that control whether the Merge button is visible or not.
337
   ' These conditions match those used in Diff.asp that control whether the Merge button is visible or not.
290
   ' Use them to enable or disable the approve merge button
338
   ' Use them to enable or disable the approve merge button
291
   If ( ReleaseMode <> enumDB_RELEASE_IN_CLOSED_MODE AND ReleaseMode <> enumDB_RELEASE_IN_CCB_MODE AND objAccessControl.IsActive("MergeRelease") ) _
339
   If ( ReleaseMode <> enumDB_RELEASE_IN_CLOSED_MODE AND ReleaseMode <> enumDB_RELEASE_IN_CCB_MODE AND objAccessControl.IsActive("MergeRelease") ) _
292
      OR ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE AND objAccessControl.IsActive("MergeReleaseForCCB") ) Then
340
      OR ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE AND objAccessControl.IsActive("MergeReleaseForCCB") ) Then
293
 
341
 
294
      Call objBtnControl.Active ( "btnApproveMerge", "Y" )
342
      Call objBtnControl.Active ( "btnApproveMerge", "Y" )
-
 
343
      Call objBtnControl.Active ( "btnRejectPackage", "Y" )
295
   Else
344
   Else
296
      Call objBtnControl.Active ( "btnApproveMerge", "N" )
345
      Call objBtnControl.Active ( "btnApproveMerge", "N" )
-
 
346
      Call objBtnControl.Active ( "btnRejectPackage", "N" )
297
   End If
347
   End If
298
End If
348
End If
299
 
349
 
300
 
350
 
301
'--- Other Access Control Action Relationships ---
351
'--- Other Access Control Action Relationships ---
302
'Call objBtnControl.SetRelationship ( "btnRejectPackage", "ApproveForAutoBuild" )
-
 
303
If ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE )  Then Call objBtnControl.SetRelationship ( "btnMakeRelease", "ApprovePackageReleaseForRestrictiveMode" )
352
If ( ReleaseMode = enumDB_RELEASE_IN_CCB_MODE )  Then Call objBtnControl.SetRelationship ( "btnMakeRelease", "ApprovePackageReleaseForRestrictiveMode" )
304
Call objBtnControl.SetRelationship ( "btnRejectPackage", "RejectPackageFromPending" )
-
 
305
 
353
 
306
 
354
 
307
Call objBtnControl.SetRelationship ( "btnPendingIntegration", "ApproveForPendingIntegration" )
355
Call objBtnControl.SetRelationship ( "btnPendingIntegration", "ApproveForPendingIntegration" )
308
Call objBtnControl.SetRelationship ( "btnPendingTest", "ApproveForPendingTest" )
356
Call objBtnControl.SetRelationship ( "btnPendingTest", "ApproveForPendingTest" )
309
Call objBtnControl.SetRelationship ( "btnPendingDeployment", "ApproveForPendingDeployment" )
357
Call objBtnControl.SetRelationship ( "btnPendingDeployment", "ApproveForPendingDeployment" )