Subversion Repositories DevTools

Rev

Rev 33 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
33 ghuddy 1
<!-- #INCLUDE FILE="..\common\adovbs.inc" -->
13 rsolanki 2
<%
3
'=============================================================
4
'//
5
'//						Action Button Control
6
'//
7
'// version: 		1.2
8
'//	last modified: 	11-Aug-2004 14:08 by Sasha Vukovic
9
'=============================================================
10
%>
11
<%
12
'--------------- Global Constants ----------------
13
Const enumABTNCTRL_ON_READONLY_HIDE = 1
14
Const enumABTNCTRL_ON_READONLY_DISABLE = 2
15
'-------------------------------------------------
16
 
17
Class ActionButtonControl
33 ghuddy 18
 
13 rsolanki 19
	Private mArrAbtnDef()
20
	Private mobjNameDefMap			' Item can be accesed by name. Must be unique within one page
21
	Private mobjIdDefMap			' Item can be accesed by id. Must be unique within one page. If NULL, ubound is assigned to it
22
	Private mobjSeparator			' Has a name of item after separator is applied
33 ghuddy 23
 
13 rsolanki 24
	Private mnButtonSpacer
25
	Private mnButtonTextSpace
33 ghuddy 26
 
13 rsolanki 27
	Private mNumOfProperties
28
	Private mLastPropertyInx
33 ghuddy 29
 
13 rsolanki 30
	Private mbDisableAll
33 ghuddy 31
 
13 rsolanki 32
	Private mbIsReadonly
33
	Private mReadonlyActionBehaviour
33 ghuddy 34
 
13 rsolanki 35
	Private InxID
36
	Private InxName
37
	Private InxTxt
38
	Private InxLink
39
	Private InxEventHandler
40
	Private InxImg
41
	Private InxImgOff
42
	Private InxHint
43
	Private InxVisible
44
	Private InxActive
45
	Private InxIsReadonlyAction
33 ghuddy 46
 
47
 
48
 
13 rsolanki 49
	Public Property Let AllActive ( cActive )
50
		If cActive = enumDB_NO Then
51
			mbDisableAll = TRUE
52
		Else
53
			mbDisableAll = FALSE
54
		End If
33 ghuddy 55
 
13 rsolanki 56
	End Property
33 ghuddy 57
 
13 rsolanki 58
	Public Property Let ButtonSpacer ( nWidth )
59
		mnButtonSpacer = nWidth
60
	End Property
33 ghuddy 61
 
13 rsolanki 62
	Public Property Let ButtonTextSpacer ( nWidth )
63
		mnButtonTextSpace = nWidth
64
	End Property
33 ghuddy 65
 
13 rsolanki 66
	Public Property Let IsReadonlyAction ( IsReadonly )
67
		If IsReadonly = enumDB_YES Then
68
			mbIsReadonly = TRUE
33 ghuddy 69
 
13 rsolanki 70
		ElseIf IsReadonly = enumDB_NO Then
71
			mbIsReadonly = FALSE
72
		Else
73
			mbIsReadonly = IsReadonly
33 ghuddy 74
 
13 rsolanki 75
		End If
33 ghuddy 76
 
13 rsolanki 77
	End Property
33 ghuddy 78
 
13 rsolanki 79
	Public Property Let ReadonlyActionBehaviour ( nEnum )
80
		mReadonlyActionBehaviour = nEnum
81
	End Property
33 ghuddy 82
 
13 rsolanki 83
	'-----------------------------------------------------------------------------------------------------------------
84
	Private Sub SetItemPropertyByIndex ( nInx, nProperty, Value )
33 ghuddy 85
		If nInx = ""  OR  nProperty = ""  OR  Value = "" Then Err.Raise 8, "Method SetItemPropertyByIndex", "Empty parameters found. nInx="& nInx &", nProperty="& nProperty &", Value="& Value
86
 
13 rsolanki 87
		mArrAbtnDef ( nProperty, nInx ) = Value
33 ghuddy 88
 
13 rsolanki 89
		'Response.write "mArrAbtnDef ( "& nProperty &", "& nInx &" ) = "& Value &"<br>"
90
	End Sub
91
	'-----------------------------------------------------------------------------------------------------------------
92
	Private Function LastItemInx ()
93
		 LastItemInx = UBound ( mArrAbtnDef, 2 )
94
	End Function
95
	'-----------------------------------------------------------------------------------------------------------------
96
	Public Sub AddActionButton ( sItemName, nItemID )
97
		Dim newArrayDim
33 ghuddy 98
 
13 rsolanki 99
		If InStr( sItemName, " " ) > 0 Then	Err.Raise 8, "Method AddActionButton", "Item Name '"& sItemName &"' cannot have spaces."
33 ghuddy 100
 
101
 
102
 
13 rsolanki 103
		If NOT mobjNameDefMap.Exists (CStr( sItemName )) Then
33 ghuddy 104
 
13 rsolanki 105
			newArrayDim = LastItemInx() + 1
33 ghuddy 106
 
13 rsolanki 107
			ReDim Preserve mArrAbtnDef( mNumOfProperties, newArrayDim )
33 ghuddy 108
 
13 rsolanki 109
			' Store name
110
			Call SetItemPropertyByIndex ( newArrayDim, InxName, sItemName )
111
			mobjNameDefMap.Add Cstr( sItemName ), CStr( newArrayDim )
33 ghuddy 112
 
13 rsolanki 113
			If Not IsNull(nItemID) Then
114
				' Store ID
115
				Call SetItemPropertyByIndex ( newArrayDim, InxdbID, nItemID )
116
				mobjIdDefMap.Add Cstr( nItemID ), CStr( newArrayDim )
117
			End If
33 ghuddy 118
 
13 rsolanki 119
			' Set Defaults
120
			Call SetItemDefaults ( sItemName )
121
		Else
33 ghuddy 122
 
13 rsolanki 123
			Err.Raise 8, "Method AddActionButton", "Item Name '"& sItemName &"' has been already defined."
33 ghuddy 124
 
13 rsolanki 125
		End If
33 ghuddy 126
 
13 rsolanki 127
	End Sub
128
	'-----------------------------------------------------------------------------------------------------------------
129
	Public Sub Render ( aAbtnList )
130
		Dim itemInx, itemName, nLastItemInx, btnImage, ButtonStr, ButtonStrDisabled
131
		Response.write "<table cellpadding='0' cellspacing='0' width='1'><tr>"
33 ghuddy 132
 
13 rsolanki 133
		For Each itemName in aAbtnList
33 ghuddy 134
 
13 rsolanki 135
			itemInx = mobjNameDefMap.Item (Cstr(itemName))
136
			'If itemInx = "" Then 	Err.Raise 8, "Method Render", "Definition for item name '"& itemName &"' not found."
33 ghuddy 137
 
138
 
13 rsolanki 139
			'-- Define Image
140
			btnImage = "<img src='images/spacer.gif' width='"& mnButtonSpacer &"' height='1' align='absmiddle' border='0'>"
141
			If (mArrAbtnDef( InxImg, itemInx ) <> "") Then
142
				btnImage = "<img src='"& mArrAbtnDef( InxImg, itemInx ) &"' hspace='"& mnButtonTextSpace &"' border='0' align='absmiddle'>"
143
			End If
33 ghuddy 144
 
13 rsolanki 145
			'-- Define Button
146
			ButtonStr = _
147
				"<td nowrap>"&_
148
				"<a id='"& mArrAbtnDef( InxName, itemInx ) &"' "&_
149
				" name='"& mArrAbtnDef( InxName, itemInx ) &"' href='"& Eval( mArrAbtnDef( InxLink, itemInx ) ) &"' "&_
150
				" "& Eval( mArrAbtnDef( InxEventHandler, itemInx ) ) &" class='menu_link' title='"& mArrAbtnDef( InxHint, itemInx )  &"'>"&_
151
				btnImage & mArrAbtnDef( InxTxt, itemInx ) &"</a>"&_
152
				"</td>"
33 ghuddy 153
 
154
 
13 rsolanki 155
			'-- Define Disabled Button
156
			ButtonStrDisabled = _
157
				"<td nowrap>"&_
158
				"<img src='"& mArrAbtnDef( InxImgOff, itemInx ) &"' hspace='"& mnButtonTextSpace &"' border='0' align='absmiddle'>"&_
159
				"<label class='menu_txt'>"& mArrAbtnDef( InxTxt, itemInx ) &"</label>"&_
160
				"</td>"
33 ghuddy 161
 
162
 
163
 
13 rsolanki 164
			If mArrAbtnDef( InxVisible, itemInx ) = enumDB_YES Then
165
				' --- Display if Visible ---
33 ghuddy 166
 
13 rsolanki 167
				If  ( mbDisableAll OR ( mArrAbtnDef( InxActive, itemInx ) = enumDB_NO ) ) AND ( itemInx <> "" )  Then
168
					' --- Display DISABLED Button Item ---
169
					Response.write ButtonStrDisabled
33 ghuddy 170
 
13 rsolanki 171
					If mnButtonSpacer > 0 Then
172
						Response.write "<td><img src='images/spacer.gif' width='"& mnButtonSpacer &"' height='1' align='absmiddle'></td>"
173
					End If
33 ghuddy 174
 
13 rsolanki 175
				Else
33 ghuddy 176
 
13 rsolanki 177
					' --- Display Action Button Item ---
178
					If	( NOT mbIsReadonly )  OR _
179
					   	( mbIsReadonly  AND  mArrAbtnDef( InxIsReadonlyAction, itemInx ) = enumDB_YES ) Then
33 ghuddy 180
 
13 rsolanki 181
						If InStr( itemName, "width=" ) > 0 Then
182
							Response.write "<td><img src='images/spacer.gif' "& itemName &" height='1' align='absmiddle'></td>"
33 ghuddy 183
 
13 rsolanki 184
						ElseIf InStr( itemName, "height=" ) > 0 Then
185
							Response.write "<td><img src='images/bg_bage_2.gif' width='1' "& itemName &" align='absmiddle' hspace='4'></td>"
33 ghuddy 186
 
13 rsolanki 187
						Else
188
							'/* It is a button, i.e. Display Button */
189
							Response.write ButtonStr
33 ghuddy 190
 
13 rsolanki 191
							If mnButtonSpacer > 0 Then
192
								Response.write "<td><img src='images/spacer.gif' width='"& mnButtonSpacer &"' height='1' align='absmiddle'></td>"
193
							End If
33 ghuddy 194
 
13 rsolanki 195
						End If
33 ghuddy 196
 
197
 
13 rsolanki 198
					ElseIf ( mbIsReadonly  AND  mArrAbtnDef( InxIsReadonlyAction, itemInx ) = enumDB_NO ) Then
33 ghuddy 199
 
200
 
201
 
13 rsolanki 202
						If mReadonlyActionBehaviour = enumABTNCTRL_ON_READONLY_DISABLE Then
203
							Response.write ButtonStrDisabled
204
						End If
33 ghuddy 205
 
206
 
207
 
13 rsolanki 208
					End If
33 ghuddy 209
 
13 rsolanki 210
				End If
33 ghuddy 211
 
13 rsolanki 212
			End If
33 ghuddy 213
 
214
 
215
 
216
 
13 rsolanki 217
			' --- Separators added manually using  method AddSeparator or AddSeparatorAfter ---
218
			If mobjSeparator.Exists ( Cstr(mArrAbtnDef( InxName, itemInx )) ) Then
219
				Response.write "<td><img src='images/spacer.gif' width='"& mobjSeparator.Item ( Cstr(mArrAbtnDef( InxName, itemInx )) ) &"' height='1'></td>"
33 ghuddy 220
 
13 rsolanki 221
			End If
33 ghuddy 222
 
223
 
13 rsolanki 224
		Next
33 ghuddy 225
 
13 rsolanki 226
		Response.write "</tr></table>"
227
	End Sub
228
	'-----------------------------------------------------------------------------------------------------------------
33 ghuddy 229
   ' Return true if required_abtnName is one of the strings in the aAbtnList string array, else return false
230
   Private Function isAbtnRequired (aAbtnList, required_abtnName)
231
 
232
      Dim this_abtnName
233
 
234
      isAbtnRequired = FALSE
235
 
236
      For Each this_abtnName in aAbtnList
237
         If 0 = StrComp(this_abtnName, required_abtnName) Then
238
            isAbtnRequired = TRUE
239
            Exit Function
240
         End If
241
      Next
242
   End Function
243
	'-----------------------------------------------------------------------------------------------------------------
13 rsolanki 244
	Public Sub LoadActionButtons ( aAbtnList, ByRef objOraDatabase )
33 ghuddy 245
 
246
      ' The following code is now used in place of the earlier code to acquire action button records.
247
      '
248
      ' This code exploits the fact that in ADO 2.8 onwards, you can create ADO DB record sets
249
      ' without a connection to an actual database. So, to rid ourselves of the need for a DEF_ACTION_BUTTONS
250
      ' table in the database, we can simply take all of the table's rows and reproduce them here in row
251
      ' creation and field assignment statements. The rest of the website code will be ignorant of the fact
252
      ' that the data has not come from the actual database.
253
      '
254
      ' Complicating factors:
255
      ' 1) Some action button fields (action_link and event_handler) are to be EVAL'ed later on when used
256
      '    to render the HTML page. This can lead to some very complex looking strings that are difficult to
257
      '    understand. EVAL allows things like parRtag_id used in a string to be converted to an actual
258
      '    number (in string form) at time of HTML rendering. We have to use EVAL. There is no other option.
259
      '
260
      ' 2) The strings from the database must also be represented as VBScript strings in the assignments
261
      '    below. This means that where a string needs to have an embedded " char, two such chars must be
262
      '    used, and remember about EVAL mentioned above, meaning that sometimes """" has to be used to
263
      '    give a single " to the resulting string that pops out from EVAL.
264
      '    Remember also that whilst HTML doesn't care whether you use single or double quotes, javascript
265
      '    does (it must use single quotes) and VBScript does (it must use double quotes)
266
      '
267
      ' Possible Future Roadmap
268
      ' 1) Rid the code of ABTN_ID - I dont think we need this field now that we are free of the database
269
      ' 2) Given that DeploymentManager and ProductionManager shared the same database, some action buttons
270
      '    may well only be used by one of the two tools. We can remove those used by ProductionManager only,
271
      '    once we know which ones they are.
272
      '
273
      Dim rsQry
274
      Dim varFields
275
      Dim varValues
276
 
277
      ' Create the object and configure some of its properties
278
      Set rsQry = Server.CreateObject("ADODB.Recordset")
279
      rsQry.CursorLocation = adUseClient
280
      rsQry.CursorType = adOpenKeyset
281
      rsQry.LockType = adLockOptimistic
282
 
283
      ' Based upon the original DEF_ACTION_BUTTONS table DDL, define the fields (ie. table columns) being simulated
284
      rsQry.Fields.Append "ABTN_ID",               adInteger
285
      rsQry.Fields.Append "ABTN_NAME",             adVarChar,   64
286
      rsQry.Fields.Append "TEXT",                  adVarChar,  128, adFldIsNullable
287
      rsQry.Fields.Append "ACTION_LINK",           adVarChar,  512, adFldIsNullable
288
      rsQry.Fields.Append "EVENT_HANDLER",         adVarChar,  512, adFldIsNullable
289
      rsQry.Fields.Append "IMG_ENABLED",           adVarChar,  128, adFldIsNullable
290
      rsQry.Fields.Append "IMG_DISABLED",          adVarChar,  128, adFldIsNullable
291
      rsQry.Fields.Append "HINT",                  adVarChar,  256, adFldIsNullable
292
      rsQry.Fields.Append "VISIBLE",               adChar,       1
293
      rsQry.Fields.Append "ACTIVE",                adChar,       1
294
      rsQry.Fields.Append "IS_READONLY_ACTION",    adChar,       1
295
 
296
      ' open the record set for updating
297
      rsQry.Open
298
 
299
      ' Specify the field order that we are going to use in our row creation statements
300
      varFields = Array("ABTN_ID", "ABTN_NAME", "TEXT",_
301
                        "ACTION_LINK",_
302
                        "EVENT_HANDLER",_
303
                        "IMG_ENABLED",_
304
                        "IMG_DISABLED",_
305
                        "HINT",_
306
                        "VISIBLE",_
307
                        "ACTIVE",_
308
                        "IS_READONLY_ACTION")
309
 
310
      ' Add the rows to the record set, but only for buttons specifed in the list supplied by the caller
311
 
312
      ' Remember, Field Ordering is... ID, name, text, link, event handler, en-img, dis-img, hint, visible, active, is readonly action
313
 
314
      If isAbtnRequired(aAbtnList, "abtnNew") Then
315
         varValues = Array(  1, "abtnNew", null,_
316
                             """javascript:;""",_
317
                             """onClick=""""ToggleDisplay('divMenuOptionsABTNnew');""""""",_
318
                             "icons/abtn_add_with_option.gif",_
319
                             "icons/abtn_add_with_option_off.gif",_
320
                             "New...",_
321
                             "Y",_
322
                             "Y",_
323
                             "N")
324
         rsQry.AddNew varFields, varValues
325
      End If
326
 
327
      If isAbtnRequired(aAbtnList, "abtnNodeProperties") Then
328
         varValues = Array(  2, "abtnNodeProperties", null,_
329
                             """javascript:;""",_
330
                             """onClick=""""MM_openBrWindow('wEditNode.asp?node_id_list=""& objNodeCollector.Item(""node_id"") &""&rfile=""& SCRIPT_NAME & objPMod.ComposeURLWithout(""rfile"") &""','EditNode','scrollbars=yes,resizable=yes,width=600,height=350');""""""",_
331
                             "icons/abtn_properties.gif",_
332
                             "icons/abtn_properties_off.gif",_
333
                             "Edit Network Node properties",_
334
                             "Y",_
335
                             "Y",_
336
                             "N")
337
         rsQry.AddNew varFields, varValues
338
      End If
339
 
340
      If isAbtnRequired(aAbtnList, "abtnNodeRemove") Then
341
         varValues = Array(  3, "abtnNodeRemove", null,_
342
                             """_DestroyNode.asp?rfile=BomDefault.asp&node_id_list=""& dbPARnode_id & objPMod.ComposeURLWithout(""node_id,rfile"")",_
343
                             """onClick=""""return confirmAction('Remove \'""& objNodeCollector.Item(""node_name"") &""\' from this BOM?');""""""",_
344
                             "icons/abtn_remove.gif",_
345
                             "icons/abtn_remove_off.gif",_
346
                             "Remove Network Node from this BOM",_
347
                             "Y",_
348
                             "Y",_
349
                             "N")
350
         rsQry.AddNew varFields, varValues
351
      End If
352
 
353
      If isAbtnRequired(aAbtnList, "abtnBomProperties") Then
354
         varValues = Array(  4, "abtnBomProperties", null,_
355
                             """javascript:;""",_
356
                             """onClick=""""MM_openBrWindow('wEditBom.asp?bom_id_list=""& Request(""bom_id"") &""&rfile=""& SCRIPT_NAME & objPMod.ComposeURLWithout(""rfile"") &""','EditBom','scrollbars=yes,resizable=yes,width=600,height=350');""""""",_
357
                             "icons/abtn_properties.gif",_
358
                             "icons/abtn_properties_off.gif",_
359
                             "Edit Bom properties",_
360
                             "Y",_
361
                             "Y",_
362
                             "N")
363
         rsQry.AddNew varFields, varValues
364
      End If
365
 
366
      ' NOTE: I do not think this one is ever used
367
      If isAbtnRequired(aAbtnList, "abtnNodeRemoveBulk") Then
368
         varValues = Array(  5, "abtnNodeRemoveBulk", null,_
369
                             """javascript:;""",_
370
                             """onClick=""""MM_openBrWindow('wRemoveBulkNodes.asp?rfile=BomDefault.asp&""& objPMod.ComposeURL() &""','RemoveBulkNodes','scrollbars=yes,resizable=yes,width=600,height=350');""""""",_
371
                             "icons/abtn_remove.gif",_
372
                             "icons/abtn_remove_off.gif",_
373
                             "Remove Network Nodes from this BOM",_
374
                             "Y",_
375
                             "Y",_
376
                             "N")
377
         rsQry.AddNew varFields, varValues
378
      End If
379
 
380
      If isAbtnRequired(aAbtnList, "btnAddProd") Then
381
         varValues = Array(  6, "btnAddProd", "Add Product",_
382
                             """javascript:;""",_
383
                             """onClick=""""MM_openBrWindow('wAddProd.asp?rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','AddProd','scrollbars=yes,resizable=yes,width=600,height=500');""""""",_
384
                             "icons/btn_add.gif",_
385
                             null,_
386
                             null,_
387
                             "Y",_
388
                             "Y",_
389
                             "N")
390
         rsQry.AddNew varFields, varValues
391
      End If
392
 
393
      If isAbtnRequired(aAbtnList, "btnAddOs") Then
394
         varValues = Array(  7, "btnAddOs", "Add OS",_
395
                             """javascript:;""",_
396
                             """onClick=""""MM_openBrWindow('wEditOs.asp?rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','EditOs','scrollbars=yes,resizable=yes,width=600,height=350');""""""",_
397
                             "icons/btn_add.gif",_
398
                             null,_
399
                             "Add Operating System",_
400
                             "Y",_
401
                             "Y",_
402
                             "N")
403
         rsQry.AddNew varFields, varValues
404
      End If
405
 
406
      If isAbtnRequired(aAbtnList, "btnCopyOs") Then
407
         varValues = Array(  8, "btnCopyOs", "Copy",_
408
                             """javascript:go_submit( document.FormName, """"btnCopyOs"""" );ShowProgress();""",_
409
                             null,_
410
                             "icons/btn_copy.gif",_
411
                             null,_
412
                             "Select and Copy Operating Systems",_
413
                             "Y",_
414
                             "Y",_
415
                             "Y")
416
         rsQry.AddNew varFields, varValues
417
      End If
418
 
419
      If isAbtnRequired(aAbtnList, "btnPasteOs") Then
420
         varValues = Array(  9, "btnPasteOs", "Paste",_
421
                             """javascript:;""",_
422
                             """onClick=""""MM_openBrWindow('wPasteItems.asp?copy_type=os_id_list&rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','PasteItems','scrollbars=yes,resizable=yes,width=400,height=500');""""""",_
423
                             "icons/btn_paste.gif",_
424
                             "icons/btn_paste_off.gif",_
425
                             "Paste Operating Systems here",_
426
                             "Y",_
427
                             "Y",_
428
                             "N")
429
         rsQry.AddNew varFields, varValues
430
      End If
431
 
432
      ' NOTE: I do not think this one is ever used
433
      If isAbtnRequired(aAbtnList, "btnMoveUpProd") Then
434
         varValues = Array( 10, "btnMoveUpProd", "Move Up",_
435
                            """javascript:go_submit( document.FormName, """"btnMoveUpProd"""" );ShowProgress();""",_
436
                            null,_
437
                            "icons/btn_move_up.gif",_
438
                            null,_
439
                            "Select Product(s) and Move Install Order Up",_
440
                            "Y",_
441
                            "Y",_
442
                            "N")
443
         rsQry.AddNew varFields, varValues
444
      End If
445
 
446
      ' NOTE: I do not think this one is ever used
447
      If isAbtnRequired(aAbtnList, "btnMoveDownProd") Then
448
         varValues = Array( 11, "btnMoveDownProd", null,_
449
                            """javascript:go_submit( document.FormName, """"btnMoveDownProd"""" );ShowProgress();""",_
450
                            null,_
451
                            "icons/btn_move_down.gif",_
452
                            null,_
453
                            "Select Product(s) and Move Install Order Down",_
454
                            "Y",_
455
                            "Y",_
456
                            "N")
457
         rsQry.AddNew varFields, varValues
458
      End If
459
 
460
      If isAbtnRequired(aAbtnList, "abtnSyncProdLatest") Then
461
         varValues = Array( 12, "abtnSyncProdLatest", "Update Products",_
462
                            """javascript:;""",_
463
                            """onClick=""""MM_openBrWindow('wSyncProducts.asp?rfile=Bom_AllProducts.asp&""& objPMod.ComposeURL() &""','SyncProducts','scrollbars=yes,resizable=yes,width=1000,height=700');""""""",_
464
                            "icons/btn_sync.gif",_
465
                            "icons/btn_sync_off.gif",_
466
                            "Update Products from Release Manager...",_
467
                            "Y",_
468
                            "Y",_
469
                            "N")
470
         rsQry.AddNew varFields, varValues
471
      End If
472
 
473
      If isAbtnRequired(aAbtnList, "abtnAcceptRejectProd") Then
474
         varValues = Array( 13, "abtnAcceptRejectProd", null,_
475
                            """_AcceptRejectProd.asp?prod_id_list=""& Request(""prod_id"") &""&rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL()",_
476
                            null,_
477
                            "icons/abtn_accept_reject_product.gif",_
478
                            "icons/abtn_accept_reject_product_off.gif",_
479
                            "Toggle Accept / Reject Product State",_
480
                            "Y",_
481
                            "Y",_
482
                            "Y")
483
         rsQry.AddNew varFields, varValues
484
      End If
485
 
486
      If isAbtnRequired(aAbtnList, "btnAcceptRejectProd") Then
487
         varValues = Array( 14, "btnAcceptRejectProd", "Accept / Reject",_
488
                            """javascript:go_submit( document.FormName, """"btnAcceptRejectProd"""" );ShowProgress();""",_
489
                            null,_
490
                            "icons/btn_accept_reject_product.gif",_
491
                            "icons/btn_accept_reject_product_off.gif",_
492
                            "Accept / Reject Products",_
493
                            "Y",_
494
                            "Y",_
495
                            "Y")
496
         rsQry.AddNew varFields, varValues
497
      End If
498
 
499
      If isAbtnRequired(aAbtnList, "abtnProdProperties") Then
500
         varValues = Array( 15, "abtnProdProperties", null,_
501
                            """javascript:;""",_
502
                            """onClick=""""MM_openBrWindow('wEditProd.asp?prod_id_list=""& Request(""prod_id"") &""&rfile=""& SCRIPT_NAME & objPMod.ComposeURLWithout(""rfile"") &""','EditProd','scrollbars=yes,resizable=yes,width=700,height=500');""""""",_
503
                            "icons/abtn_properties.gif",_
504
                            "icons/abtn_properties_off.gif",_
505
                            "Edit Product properties",_
506
                            "Y",_
507
                            "Y",_
508
                            "N")
509
         rsQry.AddNew varFields, varValues
510
      End If
511
 
512
      If isAbtnRequired(aAbtnList, "abtnProdRemove") Then
513
         varValues = Array( 16, "abtnProdRemove", null,_
514
                            """_RemoveProductFromOs.asp?rfile=""& SCRIPT_NAME &""&prod_id_list=""& dbPARprod_id & objPMod.ComposeURLWithout(""prod_id"")",_
515
                            """onClick=""""return confirmAction('Remove \'""& objProdCollector.Item(""pkg_name"") &"" ""& objProdCollector.Item(""pkg_version"") &""\' from this OS?');""""""",_
516
                            "icons/abtn_remove.gif",_
517
                            "icons/abtn_remove_off.gif",_
518
                            "Remove Product from this Operating System",_
519
                            "Y",_
520
                            "Y",_
521
                            "N")
522
         rsQry.AddNew varFields, varValues
523
      End If
524
 
525
      If isAbtnRequired(aAbtnList, "abtnOSProperties") Then
526
         varValues = Array( 17, "abtnOSProperties", null,_
527
                            """javascript:;""",_
528
                            """onClick=""""MM_openBrWindow('wEditOS.asp?os_id_list=""& dbPARos_id &""&rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','EditOS','scrollbars=yes,resizable=yes,width=600,height=350');""""""",_
529
                            "icons/abtn_properties.gif",_
530
                            "icons/abtn_properties_off.gif",_
531
                            "Edit Operating System properties",_
532
                            "Y",_
533
                            "Y",_
534
                            "N")
535
         rsQry.AddNew varFields, varValues
536
      End If
537
 
538
      If isAbtnRequired(aAbtnList, "abtnOSRemove") Then
539
         varValues = Array( 18, "abtnOSRemove", null,_
540
                            """_DestroyOs.asp?rfile=""& SCRIPT_NAME &""&node_id=""& dbPARnode_id &""&os_id_list=""& dbPARos_id & objPMod.ComposeURLWithout(""os_id"")",_
541
                            """onClick=""""return confirmAction('Remove \'""& objOsCollector.Item(""os_name"") &""\' from this Network Node?');""""""",_
542
                            "icons/abtn_remove.gif",_
543
                            "icons/abtn_remove_off.gif",_
544
                            "Remove Operating System from this Network Node",_
545
                            "Y",_
546
                            "Y",_
547
                            "N")
548
         rsQry.AddNew varFields, varValues
549
      End If
550
 
551
      If isAbtnRequired(aAbtnList, "btnCopyProd") Then
552
         varValues = Array( 19, "btnCopyProd", "Copy",_
553
                            """javascript:go_submit( document.FormName, """"btnCopyProd"""" );ShowProgress();""",_
554
                            null,_
555
                            "icons/btn_copy.gif",_
556
                            null,_
557
                            "Select and Copy Product",_
558
                            "Y",_
559
                            "Y",_
560
                            "Y")
561
         rsQry.AddNew varFields, varValues
562
      End If
563
 
564
      If isAbtnRequired(aAbtnList, "btnPasteProd") Then
565
         varValues = Array( 20, "btnPasteProd", "Paste",_
566
                            """javascript:;""",_
567
                            """onClick=""""MM_openBrWindow('wPasteItems.asp?copy_type=prod_id_list&rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','PasteItems','scrollbars=yes,resizable=yes,width=400,height=500');""""""",_
568
                            "icons/btn_paste.gif",_
569
                            "icons/btn_paste_off.gif",_
570
                            "Paste Product here",_
571
                            "Y",_
572
                            "Y",_
573
                            "N")
574
         rsQry.AddNew varFields, varValues
575
      End If
576
 
577
      If isAbtnRequired(aAbtnList, "btnEditProd") Then
578
         varValues = Array( 21, "btnEditProd", null,_
579
                            """javascript:;""",_
580
                            """onClick=""""MM_openBrWindow('wEditProd.asp?prod_id_list=""& ProdId &""&rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','EditProd','scrollbars=yes,resizable=yes,width=700,height=500');""""""",_
581
                            "icons/i_edit.gif",_
582
                            "icons/i_edit_off.gif",_
583
                            "Edit this entry",_
584
                            "Y",_
585
                            "Y",_
586
                            "N")
587
         rsQry.AddNew varFields, varValues
588
      End If
589
 
590
      If isAbtnRequired(aAbtnList, "btnRemoveProd") Then
591
         varValues = Array( 22, "btnRemoveProd", null,_
592
                            """_RemoveProductFromOs.asp?rfile=""& SCRIPT_NAME &""&prod_id_list=""& ProdId &""&""& objPMod.ComposeURL()",_
593
                            """onClick=""""return confirmAction('Remove \'""& ProdName &"" ""& ProdVersion &""\' from this list?');""""""",_
594
                            "icons/i_remove.gif",_
595
                            "icons/i_remove_off.gif",_
596
                            "Remove this entry",_
597
                            "Y",_
598
                            "Y",_
599
                            "N")
600
         rsQry.AddNew varFields, varValues
601
      End If
602
 
603
      If isAbtnRequired(aAbtnList, "btnRemoveOS") Then
604
         varValues = Array( 23, "btnRemoveOS", null,_
605
                            """_DestroyOs.asp?rfile=""& SCRIPT_NAME &""&os_id_list=""& OsId &""&""& objPMod.ComposeURL()",_
606
                            """onClick=""""return confirmAction('Remove \'""& OsName &""\' from this list?');""""""",_
607
                            "icons/i_remove.gif",_
608
                            "icons/i_remove_off.gif",_
609
                            "Remove this entry",_
610
                            "Y",_
611
                            "Y",_
612
                            "N")
613
         rsQry.AddNew varFields, varValues
614
      End If
615
 
616
      If isAbtnRequired(aAbtnList, "btnEditOS") Then
617
         varValues = Array( 24, "btnEditOS", null,_
618
                            """javascript:;""",_
619
                            """onClick=""""MM_openBrWindow('wEditOS.asp?os_id_list=""& OsId &""&rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','EditOS','scrollbars=yes,resizable=yes,width=600,height=350');""""""",_
620
                            "icons/i_edit.gif",_
621
                            "icons/i_edit_off.gif",_
622
                            "Edit this entry",_
623
                            "Y",_
624
                            "Y",_
625
                            "N")
626
         rsQry.AddNew varFields, varValues
627
      End If
628
 
629
      If isAbtnRequired(aAbtnList, "btnAddBaseEnv") Then
630
         varValues = Array( 25, "btnAddBaseEnv", "Add Base Configuration",_
631
                            """javascript:;""",_
632
                            """onClick=""""MM_openBrWindow('wEditBaseEnv.asp?rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','EditBaseEnv','scrollbars=yes,resizable=yes,width=600,height=300');""""""",_
633
                            "icons/btn_add.gif",_
634
                            null,_
635
                            "Add Base Configuration",_
636
                            "Y",_
637
                            "Y",_
638
                            "N")
639
         rsQry.AddNew varFields, varValues
640
      End If
641
 
642
      If isAbtnRequired(aAbtnList, "btnDestroyBaseEnv") Then
643
         varValues = Array( 26, "btnDestroyBaseEnv", "Destroy Base Configuration",_
644
                            """_DestroyBaseEnv.asp?rfile=""& SCRIPT_NAME &""&base_env_id=""& BaseEnvId &""&""& objPMod.ComposeURL()",_
645
                            """onClick=""""return confirmAction('Remove \'""& BaseEnvName &""\' from this BOM?');""""""",_
646
                            "icons/btn_remove.gif",_
647
                            "icons/btn_remove_off.gif",_
648
                            "Destroy Base Configuration",_
649
                            "Y",_
650
                            "Y",_
651
                            "N")
652
         rsQry.AddNew varFields, varValues
653
      End If
654
 
655
      ' NOTE: I do not think this one is ever used
656
      If isAbtnRequired(aAbtnList, "btnBomHistory") Then
657
         varValues = Array( 27, "btnBomHistory", "History",_
658
                            """BomAllHistory.asp?""& objPMod.ComposeURL()",_
659
                            null,_
660
                            "icons/btn_history.gif",_
661
                            null,_
662
                            "History of All BOMs",_
663
                            "Y",_
664
                            "Y",_
665
                            "Y")
666
         rsQry.AddNew varFields, varValues
667
      End If
668
 
669
      If isAbtnRequired(aAbtnList, "btnRemoveProdBulk") Then
670
         varValues = Array( 28, "btnRemoveProdBulk", null,_
671
                            """javascript:go_submit( document.FormName, """"btnRemoveProdBulk"""" );ShowProgress();""",_
672
                            """onClick=""""return confirmAction('Remove selected Products from this OS?');""""""",_
673
                            "icons/btn_remove.gif",_
674
                            "icons/btn_remove_off.gif",_
675
                            "Remove selected Products from this OS",_
676
                            "Y",_
677
                            "Y",_
678
                            "N")
679
         rsQry.AddNew varFields, varValues
680
      End If
681
 
682
      If isAbtnRequired(aAbtnList, "btnRemoveOsBulk") Then
683
         varValues = Array( 29, "btnRemoveOsBulk", null,_
684
                            """javascript:go_submit( document.FormName, """"btnRemoveOsBulk"""" );ShowProgress();""",_
685
                            """onClick=""""return confirmAction('Remove selected OS from this Network Node?');""""""",_
686
                            "icons/btn_remove.gif",_
687
                            "icons/btn_remove_off.gif",_
688
                            "Remove selected OS from this Network Node",_
689
                            "Y",_
690
                            "Y",_
691
                            "N")
692
         rsQry.AddNew varFields, varValues
693
      End If
694
 
695
      If isAbtnRequired(aAbtnList, "btnPropertiesBaseEnv") Then
696
         varValues = Array( 30, "btnPropertiesBaseEnv", "Properties",_
697
                            """javascript:;""",_
698
                            """onClick=""""MM_openBrWindow('wEditBaseEnv.asp?base_env_id=""& BaseEnvId &""&rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','EditBaseEnv','scrollbars=yes,resizable=yes,width=600,height=300');""""""",_
699
                            "icons/btn_properties.gif",_
700
                            "icons/btn_properties_off.gif",_
701
                            "Edit Base Configuration Properties",_
702
                            "Y",_
703
                            "Y",_
704
                            "N")
705
         rsQry.AddNew varFields, varValues
706
      End If
707
 
708
      If isAbtnRequired(aAbtnList, "btnEditNode") Then
709
         varValues = Array( 31, "btnEditNode", null,_
710
                            """javascript:;""",_
711
                            """onClick=""""MM_openBrWindow('wEditNode.asp?node_id_list=""& NodeId &""&rfile=""& SCRIPT_NAME & objPMod.ComposeURLWithout(""rfile"") &""','EditNode','scrollbars=yes,resizable=yes,width=600,height=350');""""""",_
712
                            "icons/i_edit.gif",_
713
                            "icons/i_edit_off.gif",_
714
                            "Edit this entry",_
715
                            "Y",_
716
                            "Y",_
717
                            "N")
718
         rsQry.AddNew varFields, varValues
719
      End If
720
 
721
      If isAbtnRequired(aAbtnList, "btnRemoveNode") Then
722
         varValues = Array( 32, "btnRemoveNode", null,_
723
                            """_DestroyNode.asp?rfile=""& SCRIPT_NAME &""&node_id_list=""& NodeId & objPMod.ComposeURLWithout(""node_id,rfile"")",_
724
                            """onClick=""""return confirmAction('Remove \'""& NodeName &""\' from this BOM?');""""""",_
725
                            "icons/i_remove.gif",_
726
                            "icons/i_remove_off.gif",_
727
                            "Remove Network Node from this BOM",_
728
                            "Y",_
729
                            "Y",_
730
                            "N")
731
         rsQry.AddNew varFields, varValues
732
      End If
733
 
734
      If isAbtnRequired(aAbtnList, "btnAddNode") Then
735
         varValues = Array( 33, "btnAddNode", "Add Network Node",_
736
                            """javascript:;""",_
737
                            """onClick=""""MM_openBrWindow('wEditNode.asp?node_id_list=""& NodeId &""&rfile=""& SCRIPT_NAME & objPMod.ComposeURLWithout(""rfile"") &""','EditNode','scrollbars=yes,resizable=yes,width=600,height=350');""""""",_
738
                            "icons/btn_add.gif",_
739
                            null,_
740
                            "Add Network Node",_
741
                            "Y",_
742
                            "Y",_
743
                            "N")
744
         rsQry.AddNew varFields, varValues
745
      End If
746
 
747
      If isAbtnRequired(aAbtnList, "btnRemoveNodeBulk") Then
748
         varValues = Array( 34, "btnRemoveNodeBulk", null,_
749
                            """javascript:go_submit( document.FormName, """"btnRemoveNodeBulk"""" );ShowProgress();""",_
750
                            """onClick=""""return confirmAction('Remove selected Network Node from this BOM?');""""""",_
751
                            "icons/btn_remove.gif",_
752
                            "icons/btn_remove_off.gif",_
753
                            "Remove selected Network Node from this BOM",_
754
                            "Y",_
755
                            "Y",_
756
                            "N")
757
         rsQry.AddNew varFields, varValues
758
      End If
759
 
760
      If isAbtnRequired(aAbtnList, "btnPasteNode") Then
761
         varValues = Array( 35, "btnPasteNode", "Paste",_
762
                            """javascript:;""",_
763
                            """onClick=""""MM_openBrWindow('wPasteItems.asp?copy_type=node_id_list&rfile=""& SCRIPT_NAME & objPMod.ComposeURLWithout(""rfile"") &""','PasteItems','scrollbars=yes,resizable=yes,width=400,height=500');""""""",_
764
                            "icons/btn_paste.gif",_
765
                            "icons/btn_paste_off.gif",_
766
                            "Paste Network Nodes here",_
767
                            "Y",_
768
                            "Y",_
769
                            "N")
770
         rsQry.AddNew varFields, varValues
771
      End If
772
 
773
      If isAbtnRequired(aAbtnList, "btnCopyNode") Then
774
         varValues = Array( 36, "btnCopyNode", "Copy",_
775
                            """javascript:go_submit( document.FormName, """"btnCopyNode"""" );ShowProgress();""",_
776
                            null,_
777
                            "icons/btn_copy.gif",_
778
                            null,_
779
                            "Select and Copy Network Nodes",_
780
                            "Y",_
781
                            "Y",_
782
                            "Y")
783
         rsQry.AddNew varFields, varValues
784
      End If
785
 
786
      If isAbtnRequired(aAbtnList, "btnAddBaseEnvProd") Then
787
         varValues = Array( 37, "btnAddBaseEnvProd", "Add Product",_
788
                            """javascript:;""",_
789
                            """onClick=""""MM_openBrWindow('wAddProd.asp?rfile=""& SCRIPT_NAME &""&base_env_id=""& BaseEnvId &""&""  & objPMod.ComposeURL() &""','AddProd','scrollbars=yes,resizable=yes,width=600,height=500');""""""",_
790
                            "icons/btn_add.gif",_
791
                            null,_
792
                            null,_
793
                            "Y",_
794
                            "Y",_
795
                            "N")
796
         rsQry.AddNew varFields, varValues
797
      End If
798
 
799
      If isAbtnRequired(aAbtnList, "btnEditProdBaseEnv") Then
800
         varValues = Array( 38, "btnEditProdBaseEnv", null,_
801
                            """javascript:;""",_
802
                            """onClick=""""MM_openBrWindow('wEditProd.asp?prod_id_list=""& ProdId &""&base_env_id=""& objOsCollector.Item(""base_env_id"") &""&rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','EditProd','scrollbars=yes,resizable=yes,width=700,height=500');""""""",_
803
                            "icons/i_edit.gif",_
804
                            "icons/i_edit_off.gif",_
805
                            "Edit this entry",_
806
                            "Y",_
807
                            "Y",_
808
                            "N")
809
         rsQry.AddNew varFields, varValues
810
      End If
811
 
812
      If isAbtnRequired(aAbtnList, "btnRemoveProdBaseEnv") Then
813
         varValues = Array( 39, "btnRemoveProdBaseEnv", null,_
814
                            """_RemoveProductFromBaseEnv.asp?rfile=""& SCRIPT_NAME &""&base_env_id=""& BaseEnvId &""&prod_id_list=""& ProdId &""&""& objPMod.ComposeURL()",_
815
                            """onClick=""""return confirmAction('Remove \'""& ProdName &""\' from this list?');""""""",_
816
                            "icons/i_remove.gif",_
817
                            "icons/i_remove_off.gif",_
818
                            "Remove this entry",_
819
                            "Y",_
820
                            "Y",_
821
                            "N")
822
         rsQry.AddNew varFields, varValues
823
      End If
824
 
825
      If isAbtnRequired(aAbtnList, "abtnRMlink") Then
826
         varValues = Array( 40, "abtnRMlink", null,_
827
                            "RELEASE_MANAGER_URL &""/fixed_issues.asp?rtag_id=""& objProdCollector.Item(""rtag_id"") &""&pv_id=""& objProdCollector.Item(""pv_id"")",_
828
                            """target='_blank'""",_
829
                            "icons/abtn_rm_link.gif",_
830
                            null,_
831
                            "Open in Release Manager...",_
832
                            "Y",_
833
                            "Y",_
834
                            "Y")
835
         rsQry.AddNew varFields, varValues
836
      End If
837
 
838
      If isAbtnRequired(aAbtnList, "btnExportNodespec") Then
839
         varValues = Array( 41, "btnExportNodespec", "Export Node Spec",_
840
                            """javascript:;""",_
841
                            """onClick=""""MM_openBrWindow('wNodeSpec.asp?ostab=""&Request(""os_id"")&""&rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','ExportNodeSpec','scrollbars=yes,resizable=yes,width=550,height=450');""""""",_
842
                            "icons/abtn_export_nodespec.gif",_
843
                            null,_
844
                            "Export Node Spec",_
845
                            "Y",_
846
                            "Y",_
847
                            "Y")
848
         rsQry.AddNew varFields, varValues
849
      End If
850
 
851
      If isAbtnRequired(aAbtnList, "btnSortProd") Then
852
         varValues = Array( 42, "btnSortProd", "Sort",_
853
                            """javascript:;""",_
854
                            """onClick=""""MM_openBrWindow('wSortProd.asp?rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','SortProd','scrollbars=yes,resizable=yes,width=500,height=800');""""""",_
855
                            "icons/btn_sort.gif",_
856
                            null,_
857
                            "Sort Products",_
858
                            "Y",_
859
                            "Y",_
860
                            "N")
861
         rsQry.AddNew varFields, varValues
862
      End If
863
 
864
      If isAbtnRequired(aAbtnList, "btnPasteProdToBaseEnv") Then
865
         varValues = Array( 43, "btnPasteProdToBaseEnv", "Paste",_
866
                            """javascript:;""",_
867
                            """onClick=""""MM_openBrWindow('wPasteItems.asp?base_env_id=""& objOsCollector.Item(""base_env_id"") &""&copy_type=prod_id_list&rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','PasteItems','scrollbars=yes,resizable=yes,width=400,height=500');""""""",_
868
                            "icons/btn_paste.gif",_
869
                            "icons/btn_paste_off.gif",_
870
                            "Paste Product here",_
871
                            "Y",_
872
                            "Y",_
873
                            "N")
874
         rsQry.AddNew varFields, varValues
875
      End If
876
 
877
      If isAbtnRequired(aAbtnList, "btnSortNode") Then
878
         varValues = Array( 44, "btnSortNode", "Sort",_
879
                            """javascript:;""",_
880
                            """onClick=""""MM_openBrWindow('wSortNode.asp?rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','SortNode','scrollbars=yes,resizable=yes,width=500,height=800');""""""",_
881
                            "icons/btn_sort.gif",_
882
                            null,_
883
                            "Sort Nodes",_
884
                            "Y",_
885
                            "Y",_
886
                            "N")
887
         rsQry.AddNew varFields, varValues
888
      End If
889
 
890
      If isAbtnRequired(aAbtnList, "btnSortBase") Then
891
         varValues = Array( 45, "btnSortBase", "Sort",_
892
                            """javascript:;""",_
893
                            """onClick=""""MM_openBrWindow('wsortBase.asp?rfile=""& SCRIPT_NAME &""&base_env_id=""& BaseEnvId &""&prod_id_list=""& ProdId &""&""& objPMod.ComposeURL() &""','SortNode','scrollbars=yes,resizable=yes,width=500,height=800');""""""",_
894
                            "icons/btn_sort.gif",_
895
                            null,_
896
                            "Sort Base",_
897
                            "Y",_
898
                            "Y",_
899
                            "N")
900
         rsQry.AddNew varFields, varValues
901
      End If
902
 
903
      ' NOTE: I do not think this one is ever used
904
      If isAbtnRequired(aAbtnList, "btnNewVersion") Then
905
         varValues = Array( 46, "btnNewVersion", null,_
906
                            """javascript:go_submit( document.FormName, """"btnNewVersion"""" );ShowProgress();""",_
907
                            """onClick=""""return confirmAction('Do you really want to add new product version?');""""""",_
908
                            "images/abtn_new_version.gif",_
909
                            null,_
910
                            "Add new version of a product",_
911
                            "Y",_
912
                            "Y",_
913
                            "N")
914
         rsQry.AddNew varFields, varValues
915
      End If
916
 
917
      If isAbtnRequired(aAbtnList, "btnPatchGenerate") Then
918
         varValues = Array( 47, "btnPatchGenerate", "Patch List",_
919
                            """javascript:;""",_
920
                            """onClick=""""MM_openBrWindow('run_patch_GUI.asp?project=""& rsQry(""proj_name"") &""&release=""& rsQry(""branch_name"") &""&sbom=""& rsQry(""sbom_version"") &""&version=""& rsQry(""bom_version"") &""&lifecycle=""& rsQry(""bom_lifecycle"") &""&node="" &rsQry(""node_name"") &""&OS="" &rsQry(""os_name"") &""','PatchGenerator','scrollbars=yes,resizable=yes,width=500,height=600');""""""",_
921
                            "icons/i_patch_small.gif",_
922
                            null,_
923
                            "Displays the patches to be installed for this node",_
924
                            "Y",_
925
                            "Y",_
926
                            "Y")
927
         rsQry.AddNew varFields, varValues
928
      End If
929
 
930
      If isAbtnRequired(aAbtnList, "btnAddProc") Then
931
         varValues = Array( 48, "btnAddProc", "Add Process",_
932
                            """javascript:;""",_
933
                            """onClick=""""MM_openBrWindow('wAddProc.asp?rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','AddProd','scrollbars=yes,resizable=yes,width=800,height=500');""""""",_
934
                            "icons/btn_add.gif",_
935
                            null,_
936
                            null,_
937
                            "Y",_
938
                            "Y",_
939
                            "N")
940
         rsQry.AddNew varFields, varValues
941
      End If
942
 
943
      If isAbtnRequired(aAbtnList, "btnRemoveProc") Then
944
         varValues = Array( 49, "btnRemoveProc", null,_
945
                            """_RemoveProcessFromOs.asp?rfile=""& SCRIPT_NAME &""&pkg_owner=""& Owner &""&run_as=""& RunAs &""&interface=""& Interface &""&proc_name=""& ProcName &""&proc_id_list=""& ProcId &""&""& objPMod.ComposeURL()",_
946
                            """onClick=""""return confirmAction('Remove \'""& ProcName &""\' from this list?');""""""",_
947
                            "icons/i_remove.gif",_
948
                            "icons/i_remove_off.gif",_
949
                            "Remove this entry",_
950
                            "Y",_
951
                            "Y",_
952
                            "N")
953
         rsQry.AddNew varFields, varValues
954
      End If
955
 
956
      If isAbtnRequired(aAbtnList, "btnEditProc") Then
957
         varValues = Array( 50, "btnEditProc", null,_
958
                            """javascript:;""",_
959
                            """onClick=""""MM_openBrWindow('wEditProc.asp?proc_name=""& ProcName &""&proc_id_list=""& ProcId &""&rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','EditProc','scrollbars=yes,resizable=yes,width=700,height=500');""""""",_
960
                            "icons/i_edit.gif",_
961
                            "icons/i_edit_off.gif",_
962
                            "Edit this entry",_
963
                            "Y",_
964
                            "Y",_
965
                            "N")
966
         rsQry.AddNew varFields, varValues
967
      End If
968
 
969
      If isAbtnRequired(aAbtnList, "btnNodeSpec") Then
970
         varValues = Array( 51, "btnNodeSpec", null,_
971
                            """NodeSpecBomGen.asp?bom_id=""&dbPARbom_id&""""",_
972
                            null,_
973
                            "icons/b_nodespec.gif",_
974
                            null,_
975
                            "Generate the node spec files based on the nodespec filename existence.",_
976
                            "Y",_
977
                            "Y",_
978
                            "Y")
979
         rsQry.AddNew varFields, varValues
980
      End If
981
 
982
      If isAbtnRequired(aAbtnList, "btnIsNodeSpec") Then
983
         varValues = Array( 52, "btnIsNodeSpec", null,_
984
                            """javascript:go_submit( document.FormName, """"btnIsNodeSpec"""" );ShowProgress();""",_
985
                            """onClick=""""return confirmAction('Add selected Products from this OS to the Node Spec File?');""""""",_
986
                            "icons/b_nodespec.gif",_
987
                            null,_
988
                            "Include in node spec file.",_
989
                            "Y",_
990
                            "Y",_
991
                            "Y")
992
         rsQry.AddNew varFields, varValues
993
      End If
994
 
995
      If isAbtnRequired(aAbtnList, "abtnUnhideProducts") Then
996
         varValues = Array( 53, "abtnUnhideProducts", "Unhide Products",_
997
                            """javascript:;""",_
998
                            """onClick=""""MM_openBrWindow('wUnhideProducts.asp?rfile=Bom_AllProducts.asp&""& objPMod.ComposeURL() &""','UnhideProducts','scrollbars=yes,resizable=yes,width=1000,height=700');""""""",_
999
                            "icons/bi_cancel.gif",_
1000
                            null,_
1001
                            "Unhide Products that are hidden.",_
1002
                            "Y",_
1003
                            "Y",_
1004
                            "N")
1005
         rsQry.AddNew varFields, varValues
1006
      End If
1007
 
1008
      If isAbtnRequired(aAbtnList, "btnRemoveObsoletePatches") Then
1009
         varValues = Array( 54, "btnRemoveObsoletePatches", "Remove",_
1010
                            """javascript:go_submit( document.FormName, """"btnRemoveObsoletePatches"""" );ShowProgress();""",_
1011
                            """onClick=""""return confirmAction('Remove obsolete patches from this OS?');""""""",_
1012
                            "icons/i_patch_small_obsolete.gif",_
1013
                            null,_
1014
                            null,_
1015
                            "Y",_
1016
                            "Y",_
1017
                            "N")
1018
         rsQry.AddNew varFields, varValues
1019
      End If
1020
 
1021
      ' NOTE: I do not think this one is ever used
1022
      If isAbtnRequired(aAbtnList, "abtnAddPatches") Then
1023
         varValues = Array( 55, "abtnAddPatches", "Add Patches",_
1024
                            """javascript:;""",_
1025
                            """onClick=""""MM_openBrWindow('wSyncProducts.asp?rfile=Bom_AllProducts.asp&""& objPMod.ComposeURL() &""','SyncProducts','scrollbars=yes,resizable=yes,width=1400,height=1000');""""""",_
1026
                            "icons\i_patch_small.gif",_
1027
                            null,_
1028
                            "Add Patches from Deployment Release",_
1029
                            "Y",_
1030
                            "Y",_
1031
                            "N")
1032
         rsQry.AddNew varFields, varValues
1033
      End If
1034
 
1035
      If isAbtnRequired(aAbtnList, "abtnRevertProdLatest") Then
1036
         varValues = Array( 56, "abtnRevertProdLatest", "Revert Products",_
1037
                            """javascript:;""",_
1038
                            """onClick=""""MM_openBrWindow('wRevertProducts.asp?rfile=Bom_AllProducts.asp&""& objPMod.ComposeURL() &""','SyncProducts','scrollbars=yes,resizable=yes,width=1400,height=1000');""""""",_
1039
                            "icons/btn_sync.gif",_
1040
                            "icons/btn_sync_off.gif",_
1041
                            "Update Products from Release Manager...",_
1042
                            "Y",_
1043
                            "Y",_
1044
                            "N")
1045
         rsQry.AddNew varFields, varValues
1046
      End If
1047
 
1048
      If isAbtnRequired(aAbtnList, "btnFTP") Then
1049
         varValues = Array( 57, "btnFTP", "Export FTP script",_
1050
                            """javascript:;""",_
1051
                            """onClick=""""MM_openBrWindow('wFTP.asp?ostab=""&Request(""os_id"")&""&rfile=""& SCRIPT_NAME &""&""& objPMod.ComposeURL() &""','ExportFTP','scrollbars=yes,resizable=yes,width=550,height=450');""""""",_
1052
                            null,_
1053
                            null,_
1054
                            null,_
1055
                            "Y",_
1056
                            "Y",_
1057
                            "Y")
1058
         rsQry.AddNew varFields, varValues
1059
      End If
1060
 
1061
      ' Move cursor to the first record
1062
      rsQry.MoveFirst
1063
 
13 rsolanki 1064
		If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
1065
			Call LoadButtons ( rsQry.GetRows() )
33 ghuddy 1066
 
13 rsolanki 1067
		End If
33 ghuddy 1068
 
13 rsolanki 1069
		rsQry.Close
1070
		Set rsQry = Nothing
1071
	End Sub
1072
	'-----------------------------------------------------------------------------------------------------------------
1073
	Public Sub LoadButtons ( aRows )
1074
		Dim nProperty, newArrayDim, LastRow, rowNum
33 ghuddy 1075
 
13 rsolanki 1076
		LastRow = UBound( aRows, 2 )
33 ghuddy 1077
 
13 rsolanki 1078
		For rowNum = 0 To LastRow
1079
			' Increase array by 1
1080
			newArrayDim = LastRowInx() + 1
1081
			ReDim Preserve mArrAbtnDef( mNumOfProperties, newArrayDim )
33 ghuddy 1082
 
1083
 
13 rsolanki 1084
			mobjNameDefMap.Item ( Cstr( aRows ( InxName, rowNum ) ) ) = newArrayDim
33 ghuddy 1085
 
13 rsolanki 1086
			For nProperty = 0 To mLastPropertyInx
1087
				mArrAbtnDef ( nProperty, newArrayDim ) = aRows ( nProperty, rowNum )
33 ghuddy 1088
 
13 rsolanki 1089
			Next
33 ghuddy 1090
 
13 rsolanki 1091
		Next
33 ghuddy 1092
 
13 rsolanki 1093
	End Sub
1094
	'-----------------------------------------------------------------------------------------------------------------
1095
	Private Function LastRowInx ()
1096
		 LastRowInx = UBound ( mArrAbtnDef, 2 )
1097
	End Function
1098
	'-----------------------------------------------------------------------------------------------------------------
1099
	Public Sub AddSeparatorAfter ( sItemName, sSeparatorWidth )
1100
		If InStr( sItemName, " " ) > 0 Then	Err.Raise 8, "Method AddSeparatorAfter", "Item Name '"& sItemName &"' cannot have spaces."
1101
		mobjSeparator.Add (Cstr(sItemName)), CStr(sSeparatorWidth)
1102
	End Sub
1103
	'-----------------------------------------------------------------------------------------------------------------
1104
	Public Sub AddSeparator ( sSeparatorWidth )
1105
		mobjSeparator.Add ( Cstr(mArrAbtnDef(InxName, LastItemInx())) ), CStr(sSeparatorWidth)
1106
	End Sub
1107
	'-----------------------------------------------------------------------------------------------------------------
1108
	Private Sub SetItemDefaults ( sItemName )
1109
		' Additional default setup
1110
		Call SetItemPropertyByIndex ( mobjNameDefMap.Item (Cstr(sItemName)), InxActive, enumDB_YES )			' Default Active = enumDB_YES
1111
	End Sub
1112
	'-----------------------------------------------------------------------------------------------------------------
1113
	Public Sub Text ( sItemName, Value )
1114
		Call SetItemPropertyByIndex ( mobjNameDefMap.Item (Cstr(sItemName)), InxTxt, Value )
1115
	End Sub
1116
	'-----------------------------------------------------------------------------------------------------------------
1117
	Public Sub ItemID ( sItemName, Value )
1118
		Call SetItemPropertyByIndex ( mobjNameDefMap.Item (Cstr(sItemName)), InxID, Value )
1119
	End Sub
1120
	'-----------------------------------------------------------------------------------------------------------------
1121
	Public Sub Image ( sItemName, Value )
1122
		Call SetItemPropertyByIndex ( mobjNameDefMap.Item (Cstr(sItemName)), InxImg, Value )
1123
		Call SetItemPropertyByIndex ( mobjNameDefMap.Item (Cstr(sItemName)), InxImgOff, Value )			' Default image disable to be the same as image
1124
	End Sub
1125
	'-----------------------------------------------------------------------------------------------------------------
1126
	Public Sub ImageOff ( sItemName, Value )
1127
		Call SetItemPropertyByIndex ( mobjNameDefMap.Item (Cstr(sItemName)), InxImgOff, Value )
1128
	End Sub
1129
	'-----------------------------------------------------------------------------------------------------------------
1130
	Public Sub Link ( sItemName, Value )
1131
		Call SetItemPropertyByIndex ( mobjNameDefMap.Item (Cstr(sItemName)), InxLink, Value )
1132
	End Sub
1133
	'-----------------------------------------------------------------------------------------------------------------
1134
	Public Sub EventHandler ( sItemName, Value )
1135
		Call SetItemPropertyByIndex ( mobjNameDefMap.Item (Cstr(sItemName)), InxEventHandler, Value )
1136
	End Sub
1137
	'-----------------------------------------------------------------------------------------------------------------
1138
	Public Sub Hint ( sItemName, Value )
1139
		Call SetItemPropertyByIndex ( mobjNameDefMap.Item (Cstr(sItemName)), InxHint, Value )
1140
	End Sub
1141
	'-----------------------------------------------------------------------------------------------------------------
1142
	Public Sub Visible ( sItemName, Value )
1143
		'Response.write sItemName &"here"& mobjNameDefMap.Item (Cstr(sItemName))
1144
		Call SetItemPropertyByIndex ( mobjNameDefMap.Item (Cstr(sItemName)), InxVisible, Value )
1145
	End Sub
1146
	'-----------------------------------------------------------------------------------------------------------------
1147
	Public Sub Active ( sItemName, Value )
1148
		'Response.write sItemName &"here"& mobjNameDefMap.Item (Cstr(sItemName))
1149
		Call SetItemPropertyByIndex ( mobjNameDefMap.Item (Cstr(sItemName)), InxActive, Value )
1150
	End Sub
1151
	'-----------------------------------------------------------------------------------------------------------------
1152
	Private Sub Class_Initialize()
1153
		'// Perform action on creation of object. e.g. Set myObj = New ThisClassName
1154
		Set mobjNameDefMap = CreateObject("Scripting.Dictionary")
1155
		Set mobjIdDefMap = CreateObject("Scripting.Dictionary")
1156
		Set mobjSeparator = CreateObject("Scripting.Dictionary")
33 ghuddy 1157
 
13 rsolanki 1158
		'mbIsReadonly = FALSE	' Tell control that it should use only readonly action buttons (i.e. actions which will not alter database )
1159
		mReadonlyActionBehaviour = enumABTNCTRL_ON_READONLY_HIDE		' Tell control what to do by default if mbIsReadonly = TRUE
33 ghuddy 1160
 
13 rsolanki 1161
		mnButtonSpacer = 0
1162
		mnButtonTextSpace = 4
33 ghuddy 1163
 
13 rsolanki 1164
		mNumOfProperties = 11  	' Number of properties in array which define one menu item.
1165
		mLastPropertyInx = mNumOfProperties - 1
33 ghuddy 1166
 
13 rsolanki 1167
		mbDisableAll = FALSE
33 ghuddy 1168
 
13 rsolanki 1169
		ReDim mArrAbtnDef ( mNumOfProperties, -1 )
1170
		InxID					= 0
1171
		InxName					= 1
1172
		InxTxt					= 2
1173
		InxLink					= 3
1174
		InxEventHandler			= 4
1175
		InxImg					= 5
1176
		InxImgOff				= 6
1177
		InxHint					= 7
1178
		InxVisible				= 8
1179
		InxActive				= 9
1180
		InxIsReadonlyAction		= 10
33 ghuddy 1181
 
13 rsolanki 1182
	End Sub
1183
	'-----------------------------------------------------------------------------------------------------------------
1184
	Private Sub Class_Terminate()
1185
		'// Perform action on object disposal. e.g. Set myObj = Nothing
1186
		Set mobjNameDefMap = Nothing
1187
		Set mobjIdDefMap = Nothing
1188
		Set mobjSeparator = Nothing
33 ghuddy 1189
 
1190
 
13 rsolanki 1191
	End Sub
1192
	'-----------------------------------------------------------------------------------------------------------------
1193
End Class
33 ghuddy 1194
%>