| 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
|
|
|
234 |
Call objBtnControl.Visible("btnDeprecation", "Y")
|
|
|
235 |
Else
|
|
|
236 |
Call objBtnControl.Visible("btnUnDeprecation", "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 |
%>
|