Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
119 ghuddy 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
Option explicit
129 ghuddy 4
Response.Expires = 0   ' always load the page, dont store
119 ghuddy 5
%>
6
<%
7
'=====================================================
129 ghuddy 8
'               Package Information
119 ghuddy 9
'=====================================================
10
%>
11
<!--#include file="common/conf.asp"-->
12
<!--#include file="common/globals.asp"-->
13
<!--#include file="common/formating.asp"-->
14
<!--#include file="common/qstr.asp"-->
15
<!--#include file="common/common_subs.asp"-->
16
<!--#include file="common/common_dbedit.asp"-->
17
<!--#include file="common/_popup_window_common.asp"-->
18
<%
19
' Set rfile parameter. This is a return page after Login
20
Call objPMod.StoreParameter ( "rfile", "fixed_issues.asp" )
21
'------------ ACCESS CONTROL ------------------
22
%>
23
<!--#include file="_access_control_login.asp"-->
24
<!--#include file="_access_control_general.asp"-->
25
<!--#include file="_access_control_project.asp"-->
26
<%
27
'------------ Variable Definition -------------
28
Dim parPv_id
29
Dim query
30
Dim rsQry, rsTemp
31
Dim checked
32
Dim FRdeployableYES, FRdeployableNO
33
Dim objFormCollector
34
Dim pageIsEditable, criticalSectionIsEditable
35
Dim disableCriticalSectionEdit
129 ghuddy 36
Dim Query_String
37
Dim parVCSTag
38
Dim parBSName
39
Dim submit_action_url
40
Dim on_submit_validation
119 ghuddy 41
'------------ Constants Declaration -----------
42
'------------ Variable Init -------------------
43
Set objFormCollector = CreateObject("Scripting.Dictionary")
44
parPv_id = QStrPar("pv_id")
129 ghuddy 45
parVCSTag = QStrPar("vcs_tag")
46
parBSName = QStrPar("bs_name")
119 ghuddy 47
'----------------------------------------------
48
%>
49
<%
129 ghuddy 50
Sub MessageBox_BM_Exclusivity()
119 ghuddy 51
%><script language="Javascript">
52
alert("You cannot select Generic with other BUILD MACHINE options!")
53
history.reload()
54
 
129 ghuddy 55
</script>
56
<%
57
End Sub
119 ghuddy 58
 
129 ghuddy 59
Sub MessageBox_RequiredFieldsEmpty()
60
%><script language="Javascript">
61
alert("One or more required fields are still empty!\nFill in and submit, or cancel.")
62
history.reload()
63
 
119 ghuddy 64
</script>
65
<%
66
End Sub
67
 
129 ghuddy 68
Sub MessageBox_Need_A_BuildStandard()
69
%><script language="Javascript">
70
alert("This is an auto-build package version, and so a build standard/environment is required!\nFill in and re-submit, or cancel.")
71
history.reload()
119 ghuddy 72
 
129 ghuddy 73
</script>
74
<%
119 ghuddy 75
End Sub
76
 
77
 
129 ghuddy 78
'----------------------------------------------------------------------------------------------------------------------
79
' Function to get the build standard name (eg. JATS) from a build standard ID
80
Function bs_name_from_bs_id( nBs_Id )
81
   Dim rsTemp, Query_String
119 ghuddy 82
 
129 ghuddy 83
   bs_name_from_bs_id = "NONE"
119 ghuddy 84
 
129 ghuddy 85
   If NOT IsNull(nBs_Id) Then
86
      Query_String = " SELECT * FROM build_standards WHERE bs_id = "& nBs_Id
87
      Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
88
      If (NOT rsTemp.BOF ) AND (NOT rsTemp.EOF) Then
89
         bs_name_from_bs_id = rsTemp("bs_name")
90
      End If
91
   End If
92
End Function
93
'----------------------------------------------------------------------------------------------------------------------
94
' Function to get the build standard ID from a build standard name (eg. JATS)
95
Function bs_id_from_bs_name( nBs_Name )
96
   Dim rsTemp, Query_String
119 ghuddy 97
 
129 ghuddy 98
   bs_id_from_bs_name = 0
119 ghuddy 99
 
129 ghuddy 100
   Query_String = " SELECT * FROM build_standards WHERE bs_name = '"& nBs_Name &"'"
101
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
102
   If (NOT rsTemp.BOF ) AND (NOT rsTemp.EOF) Then
103
      bs_id_from_bs_name = rsTemp("bs_id")
104
   End If
105
End Function
106
'----------------------------------------------------------------------------------------------------------------------
107
' Function to get the Version Control System type ID for ClearCase, based on the assumption that the TAG used for
108
' ClearCase is 'CC'
109
Function get_clearcase_vcs_type_id()
110
   Dim rsTemp, Query_String
119 ghuddy 111
 
129 ghuddy 112
   Query_String = _
113
   " SELECT * FROM VCS_TYPE WHERE tag = 'CC'"
119 ghuddy 114
 
129 ghuddy 115
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
116
   If (NOT rsTemp.BOF ) AND (NOT rsTemp.EOF) Then
117
      get_clearcase_vcs_type_id = rsTemp("vcs_type_id")
118
   Else
119
      Call RaiseErr(enum_MSG_ERROR, "Database is missing a VCS setting for Name: ClearCase, Tag: CC")
120
   End If
121
   rsTemp.Close
122
   Set rsTemp = nothing
123
End Function
124
'----------------------------------------------------------------------------------------------------------------------
125
' Function to get the Version Control System type ID for Uncontrolled, based on the assumption that the TAG used for
126
' ClearCase is 'UC'
127
Function get_uncontrolled_vcs_type_id()
128
   Dim rsTemp, Query_String
119 ghuddy 129
 
129 ghuddy 130
   Query_String = _
131
   " SELECT * FROM VCS_TYPE WHERE tag = 'UC'"
119 ghuddy 132
 
129 ghuddy 133
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
134
   If (NOT rsTemp.BOF ) AND (NOT rsTemp.EOF) Then
135
      get_uncontrolled_vcs_type_id = rsTemp("vcs_type_id")
136
   Else
137
      Call RaiseErr(enum_MSG_ERROR, "Database is missing a VCS setting for Name: Uncontrolled, Tag: UC")
138
   End If
139
   rsTemp.Close
140
   Set rsTemp = nothing
141
End Function
142
'----------------------------------------------------------------------------------------------------------------------
143
Sub Get_Form_Details( nPv_id, ByRef objDetails )
144
   Dim rsTemp, Query_String
119 ghuddy 145
 
129 ghuddy 146
   Dim CC_vcs_type_id
147
   Dim UC_vcs_type_id
119 ghuddy 148
 
129 ghuddy 149
   ' Get VCS type IDs to use when evaluating legacy rows created before the introduction of the VCS tables and logic.
150
   ' These get uses in the query (see below) in the CASE statement.
151
   CC_vcs_type_id = get_clearcase_vcs_type_id()
152
   UC_vcs_type_id = get_uncontrolled_vcs_type_id()
119 ghuddy 153
 
129 ghuddy 154
   Query_String = _
155
   " SELECT pkg.pkg_name, pv.pkg_version, pv.pkg_label, pv.src_path, pv.pv_description,"&_
156
   "        pv.pv_overview, pv.v_ext, is_deployable, is_build_env_required, pv.build_type,"&_
157
   "        pv.bs_id, pv.dlocked,"&_
158
   "        (CASE WHEN pkg_label = 'N/A' AND pv.vcs_type_id IS NULL THEN "& UC_vcs_type_id &_
159
   "              WHEN pv.vcs_type_id IS NULL THEN " & CC_vcs_type_id &_
160
   "              ELSE pv.vcs_type_id END) AS vcs_type_id "&_
161
   "   FROM package_versions pv, packages pkg"&_
162
   "  WHERE pv.pkg_id = pkg.pkg_id"&_
163
   "    AND pv_id = "& nPv_id
119 ghuddy 164
 
165
 
129 ghuddy 166
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
167
   If (NOT rsTemp.BOF ) AND (NOT rsTemp.EOF) Then
168
      objDetails.Item("pkg_name")              = rsTemp("pkg_name")
169
      objDetails.Item("pkg_version")           = rsTemp("pkg_version")
170
      objDetails.Item("pkg_label")             = rsTemp("pkg_label")
171
      objDetails.Item("src_path")              = rsTemp("src_path")
172
      objDetails.Item("pv_description")        = rsTemp("pv_description")
173
      objDetails.Item("pv_overview")           = rsTemp("pv_overview")
174
      objDetails.Item("v_ext")                 = rsTemp("v_ext")
175
      objDetails.Item("is_deployable")         = rsTemp("is_deployable")
176
      objDetails.Item("is_build_env_required") = rsTemp("is_build_env_required")
177
      objDetails.Item("build_type")            = rsTemp("build_type")
178
      objDetails.Item("bs_id")                 = rsTemp("bs_id")
179
      objDetails.Item("dlocked")               = rsTemp("dlocked")
180
      objDetails.Item("vcs_type_id")           = rsTemp("vcs_type_id")
119 ghuddy 181
 
129 ghuddy 182
      rsTemp.Close
119 ghuddy 183
 
129 ghuddy 184
      ' This code allows the form to be altered by the user from the original build std configuration to a new
185
      ' one without having to update the database - we only want to do that when the user hits the
186
      ' submit button. The relevant fields in the objDetails are obtained in different ways accordingly.
187
      If IsNull(parBSName) OR parBSName = "" Then
188
         objDetails.Item("bs_name") = bs_name_from_bs_id( objDetails.Item("bs_id") )
189
      Else
190
         objDetails.Item("bs_id") = bs_id_from_bs_name( parBSName )
191
         objDetails.Item("bs_name") = parBSName
192
      End If
119 ghuddy 193
 
129 ghuddy 194
      ' Re-evaluate the is_build_env_required flag setting based on the possibly updated bs_name
195
      If UCase(objDetails.Item("bs_name")) = "NONE" Then
196
         objDetails.Item("is_build_env_required") = "N"
197
      Else
198
         objDetails.Item("is_build_env_required") = "Y"
199
      End If
119 ghuddy 200
 
129 ghuddy 201
      ' This code allows the form to be altered by the user from the original VCS configuration to a new
202
      ' one without having to update the database - we only want to do that when the user hits the
203
      ' submit button. The relevant fields in the objDetails are obtained in different ways accordingly.
204
      If IsNull(parVCSTag) OR parVCSTag = "" Then
205
         call vcs_info_from_vcs_type_id( objDetails.Item("vcs_type_id"), objDetails )
206
      Else
207
         call vcs_info_from_vcs_tag( parVCSTag, objDetails )
208
      End If
119 ghuddy 209
 
129 ghuddy 210
   End If
119 ghuddy 211
 
129 ghuddy 212
   rsTemp.Close
213
   Set rsTemp = Nothing
214
End Sub
215
'----------------------------------------------------------------------------------------------------------------------
216
' Updates the database, specifically the is_build_env_required flag setting in the package_versions table
217
' The update is only performed if it is needed, ie. if the value is already correct, no update is needed.
218
Sub UpdateIsBuildEnvRequired( nPv_id, nBs_name )
219
   Dim rsTemp, Query_String
119 ghuddy 220
 
129 ghuddy 221
   Query_String = _
222
   " SELECT bs_id, is_build_env_required"&_
223
   " FROM package_versions"&_
224
   " WHERE pv_id = "& nPv_id
119 ghuddy 225
 
129 ghuddy 226
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
119 ghuddy 227
 
129 ghuddy 228
   If (UCase(nBs_name) = "NONE") AND (IsNull(rsTemp("is_build_env_required")) OR (rsTemp("is_build_env_required") <> "N")) Then
229
      rsTemp.Edit
230
      rsTemp.Fields("bs_id").Value = rsTemp("bs_id")
231
      rsTemp.Fields("is_build_env_required").Value = "N"
232
      rsTemp.Update
233
   ElseIf (UCase(nBs_name) <> "NONE") AND (IsNull(rsTemp("is_build_env_required")) OR (rsTemp("is_build_env_required") <> "Y")) Then
234
      rsTemp.Edit
235
      rsTemp.Fields("bs_id").Value = rsTemp("bs_id")
236
      rsTemp.Fields("is_build_env_required").Value = "Y"
237
      rsTemp.Update
238
   End If
119 ghuddy 239
 
129 ghuddy 240
   rsTemp.Close
241
   Set rsTemp = nothing
242
End Sub
243
'----------------------------------------------------------------------------------------------------------------------
244
' Deletes the rows belonging to the current PV_ID, from the package_build_info table.
245
' This is normally done in preparation for updating the package_build_info table based on the latest
246
' (and possibly updated) build standard for the current PV_ID.
247
Sub DeletePackageBuildInfo( nPv_id )
119 ghuddy 248
 
129 ghuddy 249
   On Error Resume Next
250
   objEH.TryORA ( OraSession )
119 ghuddy 251
 
129 ghuddy 252
   OraDatabase.ExecuteSQL _
253
   "DELETE  FROM PACKAGE_BUILD_INFO WHERE PV_ID ="& nPv_id
119 ghuddy 254
 
129 ghuddy 255
   objEH.CatchORA ( OraSession )
119 ghuddy 256
 
129 ghuddy 257
End Sub
258
'----------------------------------------------------------------------------------------------------------------------
259
' Updates the vcs_type_id column for the current PV_ID, in the package_versions table.
260
' The update is only performed if it is necessary, ie. the user has changed the setting via the form, or the existing
261
' value is not yet assigned.
262
Sub UpdateVCS ( nPv_id, nVcs_type_id, nVcs_name, nVcs_tag )
263
   Dim rsTemp, Query_String
264
   Dim new_bs_id
119 ghuddy 265
 
129 ghuddy 266
   Query_String = _
267
   " SELECT vcs_type_id"&_
268
   " FROM package_versions"&_
269
   " WHERE pv_id = "& nPv_id
119 ghuddy 270
 
129 ghuddy 271
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
119 ghuddy 272
 
129 ghuddy 273
   ' compare new bs_id to existing bs_id to see if a change has been requested
274
   If nVcs_type_id <> rsTemp("vcs_type_id") OR IsNull(rsTemp("vcs_type_id")) Then
119 ghuddy 275
 
129 ghuddy 276
      'update fields
277
      rsTemp.Edit
278
      rsTemp.Fields("vcs_type_id").Value = nVcs_type_id
279
      rsTemp.Update
119 ghuddy 280
 
129 ghuddy 281
      Call Log_Action ( nPv_id, "vcs_type_id_update", "VCS Type ID Update: " & nVcs_name )
282
   End If
119 ghuddy 283
 
129 ghuddy 284
   rsTemp.Close
285
   Set rsTemp = nothing
286
End Sub
287
'----------------------------------------------------------------------------------------------------------------------
288
' Updates the bs_id column value for the current PV_ID in the package_versions table.
289
' The update is only performed if it is necessary, ie. the user has changed the setting via the form, or the existing
290
' value is not yet assigned.
291
Sub UpdateBuildStandard ( nPv_id, nBs_name )
292
   Dim rsTemp, Query_String
293
   Dim new_bs_id
119 ghuddy 294
 
129 ghuddy 295
   ' get the new bs_id from the bs_name parameter
296
   new_bs_id = bs_id_from_bs_name(nBs_name)
119 ghuddy 297
 
129 ghuddy 298
   Query_String = _
299
   " SELECT bs_id, is_build_env_required"&_
300
   " FROM package_versions"&_
301
   " WHERE pv_id = "& nPv_id
119 ghuddy 302
 
129 ghuddy 303
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
119 ghuddy 304
 
129 ghuddy 305
   ' compare new bs_id to existing bs_id to see if a change has been requested
306
   If new_bs_id <> rsTemp("bs_id") OR IsNull(rsTemp("bs_id")) Then
119 ghuddy 307
 
129 ghuddy 308
      'update fields
309
      rsTemp.Edit
310
      rsTemp.Fields("bs_id").Value = new_bs_id
119 ghuddy 311
 
129 ghuddy 312
      If UCase(nBs_name) = "NONE" Then
313
         rsTemp.Fields("is_build_env_required").Value = "N"
314
      Else
315
         rsTemp.Fields("is_build_env_required").Value = "Y"
316
      End If
317
      rsTemp.Update
119 ghuddy 318
 
129 ghuddy 319
      ' Clear out the build info table of entries for this PV_ID.
320
      Call DeletePackageBuildInfo(nPv_id)
119 ghuddy 321
 
129 ghuddy 322
      Call Log_Action ( nPv_id, "build_standard_update", "Build Standard Update: " & nBs_name )
323
   End If
119 ghuddy 324
 
129 ghuddy 325
   rsTemp.Close
326
   Set rsTemp = nothing
327
End Sub
328
'----------------------------------------------------------------------------------------------------------------------
329
' Updates the package_build_info table for the current PV_ID, based on the latest build_standard settings made
330
' by the user on the form
331
Sub UpdatePackageBuildInfo( NNpv_id )
332
   '--- Set Build Types ---
333
   Dim aBuildEnvList
334
   Dim OraParameter
335
   Dim nBuildMachine
119 ghuddy 336
 
129 ghuddy 337
   ' Before doing inserts for this PV_ID into the package_build_info table, we need to delete any existing
338
   ' rows for this PV_ID. This may have already been done if the user has changed the build standard, but
339
   ' there is no guarantee at this point that they have done that during this forms display.
340
   Call DeletePackageBuildInfo( NNpv_id )
119 ghuddy 341
 
129 ghuddy 342
   OraDatabase.Parameters.Add "PV_ID",  NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBER
343
   OraDatabase.Parameters.Add "BM_ID",  0,       ORAPARM_INPUT, ORATYPE_NUMBER
344
   OraDatabase.Parameters.Add "BSA_ID", 0,       ORAPARM_INPUT, ORATYPE_NUMBER
119 ghuddy 345
 
129 ghuddy 346
   Set OraParameter = OraDatabase.Parameters
119 ghuddy 347
 
129 ghuddy 348
   aBuildEnvList = Split( Replace( Request("be_id_list"), " ", "" ) , ",")
119 ghuddy 349
 
129 ghuddy 350
   On Error Resume Next
351
   objEH.TryORA ( OraSession )
119 ghuddy 352
 
129 ghuddy 353
   For Each nBuildMachine In aBuildEnvList
119 ghuddy 354
 
129 ghuddy 355
      OraParameter("BM_ID").Value = nBuildMachine
356
      OraParameter("BSA_ID").Value = Request("build_type_comb_"& nBuildMachine)
119 ghuddy 357
 
129 ghuddy 358
      If Err.Number = 0 Then
359
         OraDatabase.ExecuteSQL("begin INSERT INTO PACKAGE_BUILD_INFO ( PV_ID, BM_ID, BSA_ID ) "&_
360
                                " VALUES( :PV_ID, :BM_ID, :BSA_ID ); end;")
361
      End If
362
   Next
119 ghuddy 363
 
129 ghuddy 364
   objEH.CatchORA ( OraSession )
119 ghuddy 365
 
129 ghuddy 366
   OraDatabase.Parameters.Remove "PV_ID"
367
   OraDatabase.Parameters.Remove "BM_ID"
368
   OraDatabase.Parameters.Remove "BSA_ID"
369
End Sub
370
'----------------------------------------------------------------------------------------------------------------------
371
' This is the overall database update function called when the user hits the submit button on the form.
372
' It does some minor updates itself, but most of the work is done in subroutines.
373
' No attempt is made to keep the entire set of updates atomic. There really is no need to do that.
374
Sub Update_Pkg_Info ( NNpv_id, NNdeployable, SSLabel, SSPath, SSdesc, SSoverview )
375
   Dim rsTemp, Query_String
119 ghuddy 376
 
129 ghuddy 377
   On Error Resume Next
119 ghuddy 378
 
129 ghuddy 379
   Query_String = _
380
   " SELECT pkg_label, src_path, pv_description, pv_overview, is_deployable "&_
381
   " FROM package_versions"&_
382
   " WHERE pv_id = "& NNpv_id
119 ghuddy 383
 
129 ghuddy 384
   If SSdesc = "" Then SSdesc = NULL
385
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
119 ghuddy 386
 
129 ghuddy 387
   rsTemp.Edit
119 ghuddy 388
 
129 ghuddy 389
   ' Only update build critical sections (label, source path) if allowed
390
   If criticalSectionIsEditable Then
119 ghuddy 391
 
129 ghuddy 392
      If (objFormCollector.Item("vcs_tag") <> enum_VCS_CLEARCASE_TAG) Then
393
         rsTemp.Fields("pkg_label").Value = "N/A"
394
      Else
395
         rsTemp.Fields("pkg_label").Value = SSLabel
396
      End If
119 ghuddy 397
 
129 ghuddy 398
      rsTemp.Fields("src_path").Value = SSPath
399
   End If
119 ghuddy 400
 
129 ghuddy 401
   ' Update non-build critical sections
402
   rsTemp.Fields("pv_description").Value = SSdesc
403
   rsTemp.Fields("pv_overview").Value = SSoverview
119 ghuddy 404
 
129 ghuddy 405
   If NNdeployable = "1" Then
406
      rsTemp.Fields("is_deployable").Value = "Y"
407
   Else
408
      rsTemp.Fields("is_deployable").Value = NULL
409
   End If
119 ghuddy 410
 
129 ghuddy 411
   rsTemp.Update
119 ghuddy 412
 
129 ghuddy 413
   rsTemp.Close
414
   Set rsTemp = nothing
415
 
416
   ' Only update build critical sections if allowed
417
   If criticalSectionIsEditable Then
418
 
419
      ' Update the VCS if necessary for this PV_ID
420
      Call UpdateVCS( NNpv_id, objFormCollector.Item("vcs_type_id"), objFormCollector.Item("vcs_name"), objFormCollector.Item("vcs_tag") )
421
 
422
      ' Update the build standard if necessary for this PV_ID
423
      Call UpdateBuildStandard( NNpv_id, objFormCollector.Item("bs_name") )
424
 
425
      ' Update the 'is build_env_required' flag for this PV_ID
426
      Call UpdateIsBuildEnvRequired( NNpv_id, objFormCollector.Item("bs_name") )
427
 
428
      ' Update the package_build_info table for this PV_ID
429
      Call UpdatePackageBuildInfo( NNpv_id )
430
   End If
431
End Sub
119 ghuddy 432
'----------------------------------------------------------------------------------------------------------------------
433
Function ShowHideBuildType( sBuildEnvChecked )
434
 
129 ghuddy 435
   ShowHideBuildType = "style='display:none;'"
119 ghuddy 436
 
129 ghuddy 437
   If (sBuildEnvChecked <> "") Then
438
      ShowHideBuildType = "style='display:block;'"
439
   End If
119 ghuddy 440
 
441
End Function
442
'----------------------------------------------------------------------------------------------------------------------
129 ghuddy 443
' Renders the HTML for the build standard addendum drop down list boxes, ie. Prod, Debug, Prod+Debug, Java 1.4, Java 1.5, etc.
119 ghuddy 444
Sub RenderBuildTypeCombo( nBuildAddendum, nBuildMachine, nBuildStandard )
445
 
129 ghuddy 446
   Query_String = "SELECT * FROM build_standards_addendum WHERE bs_id ="& nBuildStandard & " ORDER BY bsa_id DESC"
119 ghuddy 447
 
129 ghuddy 448
   Response.Write "<select name='build_type_comb_"& nBuildMachine &"' class='form_item'"& disableCriticalSectionEdit &">"
119 ghuddy 449
 
129 ghuddy 450
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
451
   While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
119 ghuddy 452
 
129 ghuddy 453
   If nBuildAddendum = rsTemp.Fields("bsa_id") Then
454
      Response.write "<option value='"& rsTemp.Fields("bsa_id") &"' selected>"& rsTemp.Fields("bsa_name") &"</option>"
455
   Else
456
      Response.write "<option value='"& rsTemp.Fields("bsa_id") &"'>"& rsTemp.Fields("bsa_name") &"</option>"
457
   End If
458
   rsTemp.MoveNext
459
   WEnd
460
   Response.Write "</select>"
119 ghuddy 461
 
129 ghuddy 462
   rsTemp.Close()
463
   Set rsTemp = nothing
464
End Sub
465
'----------------------------------------------------------------------------------------------------------------------
466
' Renders the HTML for the Version Control Settings drop down list box
467
Sub RenderVCSCombo(nTag)
119 ghuddy 468
 
129 ghuddy 469
   Query_String = "SELECT * FROM vcs_type ORDER BY name"
119 ghuddy 470
 
129 ghuddy 471
   Response.Write "<select id='vcs_name_combo' name='vcs_name_combo' class='form_item' "& disableCriticalSectionEdit &" onchange='vcs_changed();'>"
472
 
473
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
474
   While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
475
 
476
      If nTag = rsTemp.Fields("tag") Then
477
         Response.write "<option value='"& rsTemp.Fields("name") &"' selected>"& rsTemp.Fields("name") &"</option>"
478
      Else
479
         ' Add item to drop down only if it is not UC (uncontrolled). If it is UC, then only add it if the package
480
         ' version is a manual build type. It is not valid to allow autobuild packages to be uncontrolled (ie. the
481
         ' build (daemon) tool needs a label or something doesn't it?)
482
         If rsTemp.Fields("tag") <> enum_VCS_UNCONTROLLED_TAG OR objFormCollector.Item("build_type") = "M" Then
483
            Response.write "<option value='"& rsTemp.Fields("name") &"'>"& rsTemp.Fields("name") &"</option>"
484
         End If
485
      End If
486
      rsTemp.MoveNext
487
   WEnd
488
   Response.Write "</select>"
489
 
490
   ' Create a hidden combo containing tags instead of names - we can use this to get a tag for a name without
491
   ' doing a database query
492
   Response.Write "<td nowrap background='images/bg_form_lightbluedark.gif'><div id='div_vcs_tag_combo' name='div_vcs_tag_combo' style='visibility:hidden'   >"
493
   Response.Write "<select id='vcs_tag_combo' name='vcs_tag_combo' disabled hidden  class='form_item' "& disableCriticalSectionEdit &">"
494
   rsTemp.MoveFirst
495
   While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
496
      Response.write "<option value='"& rsTemp.Fields("tag") &"'>"& rsTemp.Fields("tag") &"</option>"
497
      rsTemp.MoveNext
498
   WEnd
499
   Response.Write "</select>"
500
   Response.Write "</div></td>"
501
 
502
   rsTemp.Close()
503
   Set rsTemp = nothing
119 ghuddy 504
End Sub
505
'----------------------------------------------------------------------------------------------------------------------
129 ghuddy 506
' Renders the HTML for the build standard drop down list box
507
'
508
' Typically, this drop down would contain ANT, JATS, and NONE, although ofcoarse this is dependant upon what data is
509
' present in the build_standards table of the database
510
Sub RenderBldStdCombo(nBldStdName)
511
 
512
   Query_String = "SELECT * FROM build_standards"
513
 
514
   Response.Write "<select id='bld_std_combo' name='bld_std_combo' class='form_item' "& disableCriticalSectionEdit &" onchange='bld_std_changed();'>"
515
 
516
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
517
   While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
518
 
519
      If nBldStdName = rsTemp.Fields("bs_name") Then
520
         Response.write "<option value='"& rsTemp.Fields("bs_name") &"' selected>"& rsTemp.Fields("bs_name") &"</option>"
521
      Else
522
         Response.write "<option value='"& rsTemp.Fields("bs_name") &"'>"& rsTemp.Fields("bs_name") &"</option>"
523
      End If
524
      rsTemp.MoveNext
525
   WEnd
526
   Response.Write "</select>"
527
   Response.Write "<td nowrap background='images/bg_form_lightbluedark.gif'>&nbsp;</td>"
528
 
529
   rsTemp.Close()
530
   Set rsTemp = nothing
531
End Sub
532
'----------------------------------------------------------------------------------------------------------------------
533
' Figures out what the url should be for when the form is submitted, ensuring that all of the paramters are present if
534
' need be. Note that the VCS and BSName parameters are optional. They will only be present if the user has made modifications
535
' to the respective drop down list boxes before submitting the form.
536
Sub Determine_submit_action_url ()
537
   ' Work out what the reload url should be for when the user hits the submit button
538
   If IsNull(parVCSTag) OR parVCSTag = "" Then
539
      If IsNull(parBSName) OR parBSName = "" Then
540
         submit_action_url = scriptName & "?pv_id=" & parPv_id & "&rtag_id=" & parRtag_id
541
      Else
542
         submit_action_url = scriptName & "?pv_id=" & parPv_id & "&rtag_id=" & parRtag_id & "&bs_name=" & parBSName
543
      End If
544
   Else
545
      If IsNull(parBSName) OR parBSName = "" Then
546
         submit_action_url = scriptName & "?pv_id=" & parPv_id & "&rtag_id=" & parRtag_id & "&vcs_tag=" & parVCSTag
547
      Else
548
         submit_action_url = scriptName & "?pv_id=" & parPv_id & "&rtag_id=" & parRtag_id & "&vcs_tag=" & parVCSTag & "&bs_name=" & parBSName
549
      End If
550
   End If
551
End Sub
552
'----------------------------------------------------------------------------------------------------------------------
553
' This subroutine sets up the on_submit_validation string to be used in the form tag to validate certain fields
554
' in client-side javascript when a user tries to submit the form
555
Sub Determine_On_Submit_Validation
556
   on_submit_validation = ""
557
 
558
   If (objFormCollector.Item("vcs_tag") = enum_VCS_CLEARCASE_TAG) Then
559
      ' Do clearcase path + label validation
560
      on_submit_validation = "onSubmit=""MM_validateForm('FRlabel','Label','RisCCLabel','FRpath','Source Path','RisCCPath' ); return document.MM_returnValue"""
561
   ElseIf (objFormCollector.Item("vcs_tag") = enum_VCS_SUBVERSION_TAG) Then
562
      ' Do subversion tag validation
563
      on_submit_validation = "onSubmit=""MM_validateForm('FRpath','Subversion TAG','RisSVNTag' ); return document.MM_returnValue"""
564
   End If
565
 
566
End Sub
567
'----------------------------------------------------------------------------------------------------------------------
568
' This function obtains a BM_ID (build machine ID) from a buidl machine name by querrying the database
569
Function Get_BM_ID_for_BM_Name(nBm_Name)
570
   Dim rsTemp, Query_String
571
 
572
   Get_BM_ID_for_BM_Name = ""
573
 
574
   Query_String = "SELECT bm_id FROM build_machines bm WHERE bm.bm_name = '" & nBm_Name & "'"
575
 
576
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
577
 
578
   Get_BM_ID_for_BM_Name = ""
579
 
580
   If (NOT rsTemp.BOF ) AND (NOT rsTemp.EOF) Then
581
      Get_BM_ID_for_BM_Name = rsTemp("bm_id")
582
   End If
583
 
584
End Function
585
'----------------------------------------------------------------------------------------------------------------------
119 ghuddy 586
Function GetRowColor( sRowColor )
129 ghuddy 587
   If sRowColor = "#FFFFFF" Then
588
      GetRowColor = "#F5F5F5"
589
   Else
590
      GetRowColor = "#FFFFFF"
591
   End If
119 ghuddy 592
End Function
129 ghuddy 593
'----------------------------------------------------------------------------------------------------------------------
119 ghuddy 594
%>
595
<%
596
'------------------------------- RUN BEFORE PAGE RENDER ----------------------------
129 ghuddy 597
 
598
Call LoadFieldRules ( "'FRlabel','FRpath','pv_description','pv_overview','be_id_list'", objForm )      ' Load Validation Rules
119 ghuddy 599
Call Get_Form_Details( parPv_id, objFormCollector )
600
 
601
 
602
 
129 ghuddy 603
'--- From Validation Rule Changes ----
119 ghuddy 604
 
129 ghuddy 605
' Dont need the label if not using clearcase
606
If (objFormCollector.Item("vcs_tag") <> enum_VCS_CLEARCASE_TAG) Then
607
   objForm.UpdateRules ("id='FRlabel' IsRequired='N'")
608
End If
119 ghuddy 609
 
129 ghuddy 610
' Dont need the path if the package version is uncontrolled
611
If (objFormCollector.Item("vcs_tag") = enum_VCS_UNCONTROLLED_TAG) Then
612
   objForm.UpdateRules ("id='FRpath' IsRequired='N'")
119 ghuddy 613
End If
614
 
129 ghuddy 615
' Dont need the build environment if the is_build_env_required is "N"
616
If objFormCollector.Item("is_build_env_required") = "N" Then
617
   objForm.UpdateRules ("id='be_id_list' IsRequired='N'")
119 ghuddy 618
End If
619
 
620
 
129 ghuddy 621
 
119 ghuddy 622
'--- Access Control Setup ------------
623
pageIsEditable = Is_Page_Editable ( objFormCollector.Item ("dlocked") )
624
criticalSectionIsEditable = Is_Critical_Section_Editable ( objFormCollector.Item("dlocked") )
625
 
626
If criticalSectionIsEditable then
129 ghuddy 627
   disableCriticalSectionEdit = ""
119 ghuddy 628
Else
129 ghuddy 629
   disableCriticalSectionEdit = "disabled"
119 ghuddy 630
End If
631
 
129 ghuddy 632
' Disable "Required" warnings for fields that cannot be edited by the current user at this time
633
If NOT criticalSectionIsEditable Then
634
   objForm.UpdateRules ("id='FRlabel' IsRequired='N'")
635
   objForm.UpdateRules ("id='FRpath' IsRequired='N'")
636
   objForm.UpdateRules ("id='be_id_list' IsRequired='N'")
637
End If
119 ghuddy 638
 
129 ghuddy 639
 
119 ghuddy 640
'--- Process Submission ---------------
641
 
129 ghuddy 642
If objForm.IsPostBack Then
643
   ' use of the drop down lists or the submit button gets us in here
119 ghuddy 644
 
129 ghuddy 645
   If objForm.IsValidOnPostBack Then
646
      ' only get here if the form is valid
119 ghuddy 647
 
129 ghuddy 648
      ' has the user pressed the submit button?
649
      If Request("btn") = "Submit" Then
119 ghuddy 650
 
129 ghuddy 651
         If objFormCollector.Item("build_type") = "A" AND UCase(objFormCollector.Item("bs_name")) = "NONE" Then
119 ghuddy 652
 
129 ghuddy 653
            Call MessageBox_Need_A_BuildStandard()
119 ghuddy 654
 
129 ghuddy 655
         Else
119 ghuddy 656
 
129 ghuddy 657
            Dim aBuildEnvList, nBuildEnv, display
658
            display = false
659
 
660
            If UCase(objFormCollector.Item("bs_name")) <> "NONE" Then
661
               ' Check for mutual exclusivity rules on the build standard addendum items
662
               aBuildEnvList = Split( Replace( Request("be_id_list"), " ", "" ) , ",")
663
 
664
               ' If >1 build machine items have been selected....
665
               If UBound(aBuildEnvList) > 0 Then
666
                  Dim bm_id_generic
667
                  bm_id_generic = Get_BM_ID_for_BM_Name("Generic")
668
 
669
                  ' If one of the selected build mnachines is "Generic" then we have a mutual exclusivity violation
670
                  For Each nBuildEnv In aBuildEnvList
671
                     If nBuildEnv = bm_id_generic Then
672
                        display = true
673
                     End If
674
                  Next
675
               End If
676
            End If
677
 
678
            If display then
679
               Call MessageBox_BM_Exclusivity()
680
            Else
681
               Call Update_Pkg_Info ( parPv_id, QStrPar("FRdeployable"), QStrPar("FRlabel"), QStrPar("FRpath"), QStrPar("pv_description"), QStrPar("pv_overview") )
682
               Call OpenInParentWindow ( "fixed_issues.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_id &"&hidenv=true" )
683
               Call CloseWindow
684
            End If
685
 
686
         End If
687
 
688
 
689
      Else
690
         ' We come through here when a user modifies the VCS or Build Standard drop down list settings
691
         ' We must stay in the form. There is nothing to do yet. The user may not have finished making their edits yet.
692
      End If
693
   Else
694
      ' The form is still invalid but we only want to issue the warning message if the user pressed the submit button
695
      If Request("btn") = "Submit" Then
696
         Call MessageBox_RequiredFieldsEmpty()
697
      End If
698
   End If
119 ghuddy 699
End If
129 ghuddy 700
 
701
' Determine the URL to use when and if this form is refreshed using F5, or when a user changes the
702
' values in one of the drop down lists and the form is reloaded with additional or changed parameters
703
' The html form will use the result of this in its action tag.
704
Call Determine_submit_action_url()
705
 
706
Call Determine_On_Submit_Validation()
707
 
119 ghuddy 708
'--------------------------------------------------------------------------------------------
709
%>
710
<html>
711
<head>
712
<title>Release Manager</title>
713
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
714
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
715
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
716
<link rel="stylesheet" href="images/navigation.css" type="text/css">
717
<script language="JavaScript" src="images/common.js"></script>
718
<!-- TIPS -->
719
<script language="JavaScript" src="images/tipster.js"></script>
720
<script language="JavaScript" src="images/_help_tips.js"></script>
721
<script language="JavaScript" type="text/javascript">
722
<!--
723
 
129 ghuddy 724
// This function is the onchange event handler for the Version Control System drop down list box.
725
// It will re-format the web page URL to pass the vcs_tag paramter reflecting the users choice in the drop down list,
726
// and submit the form using the updated URL.
727
function vcs_changed() {
728
   var f = document.getElementById('pkginfo');
729
   if (f == null) {
730
      alert('Javascript Error : Failed to get pkginfo');
731
   }
732
   else {
119 ghuddy 733
 
129 ghuddy 734
      var nc = document.getElementById('vcs_name_combo');
735
      if (nc == null) {
736
         alert('Javascript Error : Failed to get vcs_name_combo');
737
      }
738
      else {
739
         var tc = document.getElementById('vcs_tag_combo');
740
         if (tc == null) {
741
            alert('Javascript Error : Failed to get vcs_tag_combo');
742
         }
743
         else {
744
            // Form the new URL with the updated VCS tag passed as a parameter
745
            <%If IsNull(parBSName) OR parBSName = "" Then%>
746
               f.action = "_wform_pkg_info.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>&vcs_tag=" + tc.options[nc.selectedIndex].value;
747
            <%Else%>
748
               f.action = "_wform_pkg_info.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>&bs_name=<%=parBSName%>&vcs_tag=" + tc.options[nc.selectedIndex].value;
749
            <%End If%>
750
 
751
            f.submit();
752
         }
753
      }
754
   }
119 ghuddy 755
}
129 ghuddy 756
 
757
// This function is the onchange event handler for the Build Standard drop down list box.
758
// It will re-format the web page URL to pass the vcs_tag paramter reflecting the users choice in the drop down list,
759
// and submit the form using the updated URL.
760
function bld_std_changed() {
761
   var f = document.getElementById('pkginfo');
762
   if (f == null) {
763
      alert('Javascript Error : Failed to get pkginfo');
764
   }
765
   else {
766
      var nc = document.getElementById('bld_std_combo');
767
      if (nc == null) {
768
         alert('Javascript Error : Failed to get bld_std_combo');
769
      }
770
      else {
771
         // Form the new URL with the updated build standard name passed as a parameter
772
         <%If IsNull(parVCSTag) OR parVCSTag = "" Then%>
773
            f.action = "_wform_pkg_info.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>&bs_name=" + nc.options[nc.selectedIndex].value;
774
         <%Else%>
775
            f.action = "_wform_pkg_info.asp?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>&vcs_tag=<%=parVCSTag%>&bs_name=" + nc.options[nc.selectedIndex].value;
776
         <%End If%>
777
 
778
         f.submit();
779
      }
780
   }
781
}
782
 
783
// This function will replace back slashes with forward slashes and can be used with an onchange event on fields
784
// where back slashes may be entered
785
function replace_back_slashes(e) {
786
   var str = e.value;
787
   e.value = str.replace(/\\/g,"/");
788
}
789
 
119 ghuddy 790
//-->
791
</script>
792
</head>
793
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" onload="self.focus();">
794
<!-- TIPS LAYERS -------------------------------------->
795
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
796
<!----------------------------------------------------->
129 ghuddy 797
<form id="pkginfo" name="pkginfo" method="post" <%=on_submit_validation%> action="<%=submit_action_url%>">
798
   <table width="100%" border="0" cellspacing="0" cellpadding="2" height="100%">
799
      <tr>
800
         <td background="images/lbox_bg_orange.gif" width="1%" height="1%"><img src="images/s_info_off.gif" width="21" height="21" hspace="5" border="0"></td>
801
         <td background="images/lbox_bg_blue.gif" nowrap width="50%" class="wform_ttl">&nbsp;Package Information </td>
802
         <td background="images/lbox_bg_blue.gif" align="right" width="50%">
803
            <input type="submit" name="btn" value="Submit" <%If pageIsEditable Then%>class="form_btn_comp"<%Else%>disabled class="form_btn_comp_disabled"<%End If%>>
804
            <input type="reset" name="btn" value="Cancel" class="form_btn_comp" onclick="self.close()">
805
         </td>
806
         <td background="images/lbox_bg_blue.gif" align="right" width="1%" nowrap>
807
         <img src="images/h_trsp_dot.gif" width="5" height="22"> </td>
808
      </tr>
119 ghuddy 809
 
129 ghuddy 810
      <tr>
811
         <td height="100%" width="1%">&nbsp;</td>
812
         <td valign="top" nowrap colspan="3" class="wform_ttl" background="images/bg_form_lightgray.gif">
813
            <table width="100%" border="0" cellspacing="1" cellpadding="2">
814
               <tr>
815
                  <td width="1%"><img src="images/h_trsp_dot.gif" width="10" height="30"></td>
816
                  <td width="1%" nowrap class="form_group" valign="bottom"></td>
817
                  <td nowrap width="1%">&nbsp; </td>
818
                  <td nowrap width="100%">&nbsp;</td>
819
               </tr>
820
               <tr>
821
                  <td>&nbsp;</td>
822
                  <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Package</td>
823
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objFormCollector.Item("pkg_name") &" "& objFormCollector.Item("pkg_version")%></td>
824
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">&nbsp;</td>
825
               </tr>
826
               <tr>
827
                  <td>&nbsp;</td>
828
                  <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Deployable?<%=Quick_Help ( "deployable" )%></td>
829
                  <%
830
                  FRdeployableYES = ""
831
                  FRdeployableNO = ""
119 ghuddy 832
 
129 ghuddy 833
                  If objForm.IsPostBack Then
834
                     If Request("FRdeployable") = "1" Then
835
                        FRdeployableYES = "checked"
836
                     Else
837
                        FRdeployableNO = "checked"
838
                     End If
119 ghuddy 839
 
129 ghuddy 840
                  Else
841
                     If objFormCollector.Item("is_deployable") = enumDB_YES Then
842
                        FRdeployableYES = "checked"
843
                     Else
844
                        FRdeployableNO = "checked"
845
                     End If
119 ghuddy 846
 
129 ghuddy 847
                  End If
848
                  %>
849
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">Yes<input name="FRdeployable" type="radio" value="1" <%=FRdeployableYES%>>
850
                  &nbsp;&nbsp;No<input name="FRdeployable" type="radio" value="0" <%=FRdeployableNO%>></td>
851
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">&nbsp;</td>
852
               </tr>
853
               <tr>
854
                  <td>&nbsp;</td>
855
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Version Control System</td>
856
                  <td nowrap background="images/bg_form_lightbluedark.gif">
857
                     <% Call RenderVCSCombo(objFormCollector.Item("vcs_tag"))%>
858
                  </td>
859
               </tr>
119 ghuddy 860
 
129 ghuddy 861
               <%If (objFormCollector.Item("vcs_tag") = enum_VCS_CLEARCASE_TAG) Then%>
862
                  <tr>
863
                     <td>&nbsp;</td>
864
                     <td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Label<%=Quick_Help ( "pkg_label" )%></td>
865
                     <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
866
                        <%
867
                        Dim sDefaultLabel, sLabel, sLabelReadOnly
868
                        sLabelReadOnly = ""
869
                        sDefaultLabel = Default_Label(parPv_id, objFormCollector.Item("build_type"), objFormCollector.Item("pkg_name"), objFormCollector.Item("pkg_version"), objFormCollector.Item("v_ext"))
119 ghuddy 870
 
129 ghuddy 871
                        If objFormCollector.Item("build_type") = "A" AND NOT criticalSectionIsEditable Then
872
                           sLabelReadOnly = "readonly"
873
                        End If
119 ghuddy 874
 
129 ghuddy 875
                        If objForm.IsPostBack Then
876
                           sLabel = Request("FRlabel")
119 ghuddy 877
 
129 ghuddy 878
                           ' If a user has switched the form back and forth between different VCS settings, and the previous one did not utilise a label
879
                           ' the FRlabel request we just did will return a null/empty, so set sLabel to the default label once more if this is the case.
880
                           ' Also, we use the SetValueForced() function to force the value of sLabel into the object that does some of our validation for us.
881
                           ' That function (as opposed to the plain SetValue() function) cares nothing about the setting of the IsPostBack flag in the
882
                           ' object. If we didnt do this, the field on the visible form would be highlighted with "Required" because SetValue() just does
883
                           ' a Request() in IsPostBack situations, and so our sLabel value will not be acquired by the object for validation.
884
                           If IsNull(sLabel) OR sLabel = "" Then
885
                              sLabel = sDefaultLabel
886
                              objForm.SetValueForced "FRlabel", sLabel
887
                           End If
888
                        Else
889
                           If (objFormCollector.Item("pkg_label") = "N/A") Then
890
                              sLabel = "N/A"
891
                           Else
892
                              If objFormCollector.Item("pkg_label") = "" OR IsNull(objFormCollector.Item("pkg_label"))  Then
893
                                 sLabel = sDefaultLabel
894
                              Else
895
                                 sLabel = objFormCollector.Item("pkg_label")
896
                              End If
897
                              objForm.SetValue "FRlabel", sLabel
898
                           End If
899
                        End If
900
                        %>
901
                        <input type="text" name="FRlabel" id="FRlabel" maxlength="50" size="60" class="form_item" <%=disableCriticalSectionEdit%> value="<%=sLabel%>" <%=sLabelReadOnly%>>
902
                     </td>
903
                     <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("FRlabel")%></td>
904
                  </tr>
905
                  <tr>
906
                     <td>&nbsp;</td>
907
                     <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Source Path<%=Quick_Help ( "src_path" )%></td>
908
                     <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
909
                        <input name="FRpath" type="text" class="form_item" <%=disableCriticalSectionEdit%> id="FRpath" onchange="replace_back_slashes(this);" value="<%=objForm.GetValue( "FRpath", objFormCollector.Item("src_path") )%>" size="60" maxlength="2000">
910
                        <br>
911
                        Example:<br>/MASS_Dev_Infra/core_cs <br>
912
                     </td>
913
                     <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("FRpath")%></td>
914
                  </tr>
915
               <%ElseIf (objFormCollector.Item("vcs_tag") = enum_VCS_SUBVERSION_TAG) Then%>
916
                  <tr>
917
                     <td>&nbsp;</td>
918
                     <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">SubVersion Tag<%=Quick_Help ( "svn_tag" )%></td>
919
                     <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
920
                        <input name="FRpath" type="text" class="form_item" <%=disableCriticalSectionEdit%> id="FRpath" onchange="replace_back_slashes(this);" value="<%=objForm.GetValue( "FRpath", objFormCollector.Item("src_path") )%>" size="60" maxlength="2000">
921
                        <br>
922
                        Example:<br>MASS_Dev_Infra/core_cs/trunk@12843 <br>
923
                     </td>
924
                     <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("FRpath")%></td>
925
                  </tr>
926
               <%ElseIf (objFormCollector.Item("vcs_tag") = enum_VCS_UNCONTROLLED_TAG) Then%>
927
                  <input name="FRlabel" type="hidden" id="FRlabel" value="<%=sLabel%>">
928
                  <input name="FRpath"  type="hidden" id="FRpath"  value="<%=objForm.GetValue( "FRpath", objFormCollector.Item("src_path") )%>">
929
               <%Else%>
930
                  <tr>
931
                     <td>&nbsp;</td>
932
                     <td colspan=3 background="images/bg_form_lightbluedark.gif" class="sublbox_txt">
933
                        <span class='err_alert'><b>WARNING:</b> Release Manager Website does not currently support the selected Version Control System</span>
934
                     </td>
935
                  </tr>
936
                  <input name="FRlabel" type="hidden" id="FRlabel" value="<%=sLabel%>">
937
                  <input name="FRpath"  type="hidden" id="FRpath"  value="<%=objForm.GetValue( "FRpath", objFormCollector.Item("src_path") )%>">
938
               <%End If%>
119 ghuddy 939
 
129 ghuddy 940
               <tr>
941
                  <td>&nbsp;</td>
942
                  <td valign="top" background="images/bg_form_lightbluedark.gif" class="form_field">Short Package Description<%=Quick_Help ( "pkg_info_short_desc" )%></td>
943
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
944
                     <textarea name="pv_description" cols="57" rows="5" class="form_item" id="pv_description"><%=objForm.GetValue( "pv_description", objFormCollector.Item("pv_description") )%></textarea>
945
                  </td>
946
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("pv_description")%></td>
947
               </tr>
948
               <tr>
949
                  <td>&nbsp;</td>
950
                  <td valign="top" background="images/bg_form_lightbluedark.gif" class="form_field">Package Overview<%=Quick_Help ( "pkg_info_overview" )%></td>
951
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
952
                     <textarea name="pv_overview" cols="57" rows="10" class="form_item" id="pv_overview"><%=objForm.GetValue( "pv_overview", objFormCollector.Item("pv_overview") )%></textarea>
953
                  </td>
954
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("pv_overview")%></td>
955
               </tr>
119 ghuddy 956
 
129 ghuddy 957
               <tr>
958
                  <td>&nbsp;</td>
959
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Build Standard</td>
960
                  <td nowrap background="images/bg_form_lightbluedark.gif">
961
                     <% Call RenderBldStdCombo(objFormCollector.Item("bs_name"))%>
962
                  </td>
963
               </tr>
119 ghuddy 964
 
129 ghuddy 965
               <tr>
966
                  <td>&nbsp;</td>
967
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Build Environment<%=Quick_Help ( "build_environment" )%></td>
968
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
969
                     <%If objFormCollector.Item("is_build_env_required") = "N" Then%>
970
                        &nbsp;Build Environment not applicable
971
                     <%End If%>
119 ghuddy 972
 
129 ghuddy 973
                     <div id="divBuildEnv" name="divBuildEnv" style="width:320px; height:150px; overflow: auto; <%If (objFormCollector.Item("is_build_env_required") = "N") Then%>display:none;<%Else%>display:block;<%End If%>">
974
                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
975
                           <tr>
976
                              <td bgcolor="#FFFFFF">
977
                                 <table width="100%" border="0" cellspacing="0" cellpadding="3">
978
                                    <%
979
                                    OraDatabase.Parameters.Add "PV_ID",    parPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER
119 ghuddy 980
 
129 ghuddy 981
                                    query = _
982
                                    " SELECT DECODE ( pkgbinfo.BM_ID,"&_
983
                                    "                    bm.BM_ID, 'checked',"&_
984
                                    "            NULL ) AS checked,"&_
985
                                    "      bm.BM_ID,"&_
986
                                    "      bm.BM_NAME, "&_
987
                                    "      pkgbinfo.BSA_ID"&_
988
                                    "  FROM BUILD_MACHINES bm,"&_
989
                                    "        PACKAGE_BUILD_INFO pkgbinfo"&_
990
                                    " WHERE pkgbinfo.BM_ID (+)= bm.BM_ID"&_
991
                                    "   AND pkgbinfo.PV_ID (+)= :PV_ID"&_
992
                                    " ORDER BY UPPER(bm.bm_name) "
119 ghuddy 993
 
994
 
129 ghuddy 995
                                    Set rsQry = OraDatabase.DbCreateDynaset( query, cint(0))
996
                                    Dim rowColor
119 ghuddy 997
 
129 ghuddy 998
                                    rowColor = "#F5F5F5"
119 ghuddy 999
 
129 ghuddy 1000
                                    While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
1001
                                       checked = ""
1002
                                       If objForm.IsTicked( "be_id_list", rsQry("bm_id"), rsQry("checked") ) Then
1003
                                          checked = "checked"
1004
                                          objForm.SetValue "be_id_list", checked
1005
                                       End If
119 ghuddy 1006
 
129 ghuddy 1007
                                       rowColor = GetRowColor( rowColor )
1008
                                       %>
1009
                                       <tr>
1010
                                          <td nowrap class="form_txt" bgcolor="<%=rowColor%>"><input type="checkbox" name="be_id_list" onClick="ToggleDisplay('build_type_<%=rsQry("bm_id")%>');" <%=disableCriticalSectionEdit%> value="<%=rsQry("bm_id")%>" <%=checked%>></td>
1011
                                          <td nowrap class="form_txt" bgcolor="<%=rowColor%>"><%=rsQry("bm_name")%></td>
1012
                                          <td nowrap class="form_txt" bgcolor="<%=rowColor%>"><div id="build_type_<%=rsQry("bm_id")%>" <%=ShowHideBuildType( checked )%>><% Call RenderBuildTypeCombo( rsQry("bsa_id"), rsQry("bm_id"), objFormCollector.Item("bs_id") )%></div></td>
1013
                                          <%If checked = "checked" AND rsQry("bsa_id") = 0 Then%>
1014
                                             <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><td background='images/red_dot.gif'><img src='images/spacer.gif' width='1' height='1'></td><td valign='top'><img src='icons/i_bulet_red.gif' width='4' height='4' hspace='3' vspace='4' border='0' align='absmiddle'></td><td class='val_err'>Required</td></td>
1015
                                          <%End If%>
1016
                                       </tr>
1017
                                       <%rsQry.MoveNext
1018
                                    WEnd
119 ghuddy 1019
 
129 ghuddy 1020
                                    rsQry.Close
1021
                                    Set rsQry = Nothing
1022
 
1023
                                    OraDatabase.Parameters.Remove "PV_ID"
1024
                                    %>
1025
                                    <tr>
1026
                                       <td width="1"></td>
1027
                                       <td width="1"></td>
1028
                                       <td width="100%"></td>
1029
                                    </tr>
1030
                                 </table>
1031
                              </td>
1032
                           </tr>
1033
                        </table>
1034
                     </div>
1035
                  </td>
1036
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate("be_id_list")%></td>
1037
               </tr>
1038
               <tr>
1039
                  <td>&nbsp;</td>
1040
                  <td nowrap class="form_field"><img src="images/h_trsp_dot.gif" width="100" height="10"></td>
1041
                  <td nowrap> <p>&nbsp;</p></td>
1042
                  <td nowrap>&nbsp;</td>
1043
               </tr>
1044
            </table>
1045
         </td>
1046
      </tr>
1047
      <tr>
1048
         <td height="1%" width="1%"><img src="images/h_trsp_dot.gif" width="5" height="5"></td>
1049
         <td valign="top" nowrap colspan="3" class="wform_ttl" background="images/lbox_bg_blue.gif"></td>
1050
      </tr>
1051
   </table>
1052
   <input type="hidden" name="pv_id"   id="pv_id"   value="<%=parPv_id%>">
1053
   <input type="hidden" name="rtag_id" id="rtag_id" value="<%=parRtag_id%>">
1054
   <input type="hidden" name="vcs_tag" id="vcs_tag" value="<%=parVCSTag%>">
1055
   <input type="hidden" name="bs_name" id="bs_name" value="<%=parBSName%>">
119 ghuddy 1056
</form>
1057
</body>
1058
</html>
1059
<%
1060
'------------- RUN AFTER PAGE RENDER ---------------
1061
Set objFormCollector = Nothing
1062
'---------------------------------------------------
1063
%>
1064
 
1065
<!-- DESTRUCTOR ------->
1066
<!--#include file="common/destructor.asp"-->