Subversion Repositories DevTools

Rev

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

Rev 119 Rev 129
Line 1... Line 1...
1
<%@LANGUAGE="VBSCRIPT"%>
1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
2
<%
3
Option explicit
3
Option explicit
4
Response.Expires = 0	' always load the page, dont store
4
Response.Expires = 0   ' always load the page, dont store
5
%>
5
%>
6
<%
6
<%
7
'=====================================================
7
'=====================================================
8
'					Package Information
8
'               Package Information
9
'=====================================================
9
'=====================================================
10
%>
10
%>
11
<!--#include file="common/conf.asp"-->
11
<!--#include file="common/conf.asp"-->
12
<!--#include file="common/globals.asp"-->
12
<!--#include file="common/globals.asp"-->
13
<!--#include file="common/formating.asp"-->
13
<!--#include file="common/formating.asp"-->
Line 31... Line 31...
31
Dim checked
31
Dim checked
32
Dim FRdeployableYES, FRdeployableNO
32
Dim FRdeployableYES, FRdeployableNO
33
Dim objFormCollector
33
Dim objFormCollector
34
Dim pageIsEditable, criticalSectionIsEditable
34
Dim pageIsEditable, criticalSectionIsEditable
35
Dim disableCriticalSectionEdit
35
Dim disableCriticalSectionEdit
36
Dim	Query_String
36
Dim Query_String
-
 
37
Dim parVCSTag
-
 
38
Dim parBSName
-
 
39
Dim submit_action_url
-
 
40
Dim on_submit_validation
37
'------------ Constants Declaration -----------
41
'------------ Constants Declaration -----------
38
'------------ Variable Init -------------------
42
'------------ Variable Init -------------------
39
Set objFormCollector = CreateObject("Scripting.Dictionary")
43
Set objFormCollector = CreateObject("Scripting.Dictionary")
40
parPv_id = QStrPar("pv_id")
44
parPv_id = QStrPar("pv_id")
-
 
45
parVCSTag = QStrPar("vcs_tag")
-
 
46
parBSName = QStrPar("bs_name")
41
'----------------------------------------------
47
'----------------------------------------------
42
%>
48
%>
43
<%
49
<%
44
Sub MessageBox()
50
Sub MessageBox_BM_Exclusivity()
45
%><script language="Javascript">
51
%><script language="Javascript">
46
alert("You cannot select Generic with other BUILD MACHINE options!")
52
alert("You cannot select Generic with other BUILD MACHINE options!")
47
history.reload()
53
history.reload()
48
 
54
 
49
 
-
 
50
</script>
55
</script>
51
<%
56
<%
52
End Sub
57
End Sub
53
Sub Get_Form_Details( nPv_id, ByRef objDetails )
-
 
54
	Dim rsTemp, Query_String
-
 
55
	Query_String = _
-
 
56
	" SELECT pkg.pkg_name, pv.pkg_version, pv.pkg_label, pv.src_path, pv.pv_description, pv.pv_overview, pv.v_ext, is_deployable, is_build_env_required, pv.build_type, pv.bs_id, pv.dlocked "&_
-
 
57
	"  FROM package_versions pv, packages pkg"&_
-
 
58
	" WHERE pv.pkg_id = pkg.pkg_id"&_
-
 
59
	"   AND pv_id = "& nPv_id
-
 
60
 
-
 
61
	Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
-
 
62
	If (NOT rsTemp.BOF ) AND (NOT rsTemp.EOF) Then
-
 
63
		objDetails.Item("pkg_name") 		= rsTemp("pkg_name")
-
 
64
		objDetails.Item("pkg_version") 		= rsTemp("pkg_version")
-
 
65
		objDetails.Item("pkg_label") 		= rsTemp("pkg_label")
-
 
66
		objDetails.Item("src_path") 		= rsTemp("src_path")
-
 
67
		objDetails.Item("pv_description") 	= rsTemp("pv_description")
-
 
68
		objDetails.Item("pv_overview") 		= rsTemp("pv_overview")
-
 
69
		objDetails.Item("v_ext") 			= rsTemp("v_ext")
-
 
70
		objDetails.Item("is_deployable") 	= rsTemp("is_deployable")
-
 
71
		objDetails.Item("is_build_env_required") 	= rsTemp("is_build_env_required")
-
 
72
		objDetails.Item("build_type") 		= rsTemp("build_type")
-
 
73
		objDetails.Item("bs_id") 			= rsTemp("bs_id")
-
 
74
		objDetails.Item("dlocked") 			= rsTemp("dlocked")
-
 
75
 
58
 
-
 
59
Sub MessageBox_RequiredFieldsEmpty()
-
 
60
%><script language="Javascript">
-
 
61
alert("One or more required fields are still empty!\nFill in and submit, or cancel.")
76
	End If
62
history.reload()
77
 
63
 
78
	rsTemp.Close
64
</script>
79
	Set rsTemp = Nothing
65
<%
80
End Sub
66
End Sub
81
 
67
 
82
Sub Update_Pkg_Info ( NNpv_id, NNdeployable, SSLabel, SSPath, SSdesc, SSoverview )
-
 
83
	Dim rsTemp, Query_String
68
Sub MessageBox_Need_A_BuildStandard()
84
	Query_String = _
-
 
85
	" SELECT pkg_label, src_path, pv_description, pv_overview, is_deployable "&_
-
 
86
	" FROM package_versions"&_
69
%><script language="Javascript">
87
	" WHERE pv_id = "& NNpv_id
-
 
88
 
-
 
89
	If SSdesc = "" Then SSdesc = NULL
-
 
90
	Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
-
 
91
 
-
 
92
	rsTemp.Edit
-
 
93
 
-
 
94
	' Only update build critical sections (label, source path) if allowed
70
alert("This is an auto-build package version, and so a build standard/environment is required!\nFill in and re-submit, or cancel.")
95
	If criticalSectionIsEditable Then
-
 
96
		If (Request("FRlabelNA") <> "") Then
-
 
97
			rsTemp.Fields("pkg_label").Value = "N/A"
-
 
98
		Else
-
 
99
			rsTemp.Fields("pkg_label").Value = SSLabel
-
 
100
		End If
-
 
101
 
-
 
102
		rsTemp.Fields("src_path").Value = SSPath
-
 
103
	End If
-
 
104
 
-
 
105
	' Update non-build critical sections
-
 
106
	rsTemp.Fields("pv_description").Value = SSdesc
-
 
107
	rsTemp.Fields("pv_overview").Value = SSoverview
-
 
108
 
-
 
109
	If NNdeployable = "1" Then
-
 
110
		rsTemp.Fields("is_deployable").Value = "Y"
-
 
111
	Else
-
 
112
		rsTemp.Fields("is_deployable").Value = NULL
-
 
113
	End If
-
 
114
 
-
 
115
 
-
 
116
	rsTemp.Update
-
 
117
 
-
 
118
	rsTemp.Close
71
history.reload()
119
	Set rsTemp = nothing
-
 
120
 
-
 
121
 
-
 
122
	'--- Build Env Update
-
 
123
 
-
 
124
	' Only update build critical sections (label, source path) if allowed
-
 
125
	If criticalSectionIsEditable Then
-
 
126
		OraDatabase.Parameters.Add "PV_ID", 		Request("pv_id"), 	ORAPARM_INPUT, ORATYPE_NUMBER
-
 
127
		OraDatabase.Parameters.Add "BS_ID", 		objFormCollector.Item("bs_id"), 	ORAPARM_INPUT, ORATYPE_NUMBER
-
 
128
		If Request("be_id_req") <> "" Then
-
 
129
			OraDatabase.Parameters.Add "BE_ID_LIST", 		NULL, 		ORAPARM_INPUT, ORATYPE_VARCHAR2
-
 
130
		Else
-
 
131
			OraDatabase.Parameters.Add "BE_ID_LIST", 		Request("be_id_list"), 		ORAPARM_INPUT, ORATYPE_VARCHAR2
-
 
132
		End If
-
 
133
 
-
 
134
 
-
 
135
 
-
 
136
 
72
 
-
 
73
</script>
-
 
74
<%
-
 
75
End Sub
137
 
76
 
138
		OraSession.BeginTrans
-
 
139
 
77
 
-
 
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 )
140
		OraDatabase.ExecuteSQL _
81
   Dim rsTemp, Query_String
-
 
82
 
-
 
83
   bs_name_from_bs_id = "NONE"
-
 
84
 
-
 
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
'----------------------------------------------------------------------------------------------------------------------
141
		"BEGIN   Set_Package_Build_Env_Temp ( :PV_ID, :BE_ID_LIST, :BS_ID  );   END;"
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
-
 
97
 
-
 
98
   bs_id_from_bs_name = 0
-
 
99
 
-
 
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
-
 
111
 
-
 
112
   Query_String = _
-
 
113
   " SELECT * FROM VCS_TYPE WHERE tag = 'CC'"
-
 
114
 
-
 
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
-
 
129
 
-
 
130
   Query_String = _
-
 
131
   " SELECT * FROM VCS_TYPE WHERE tag = 'UC'"
-
 
132
 
-
 
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
142
 
145
 
-
 
146
   Dim CC_vcs_type_id
143
		OraSession.CommitTrans
147
   Dim UC_vcs_type_id
144
 
148
 
-
 
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()
-
 
153
 
-
 
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
-
 
164
 
-
 
165
 
-
 
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")
-
 
181
 
-
 
182
      rsTemp.Close
-
 
183
 
-
 
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
-
 
193
 
-
 
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
-
 
200
 
-
 
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
145
 
209
 
-
 
210
   End If
146
 
211
 
-
 
212
   rsTemp.Close
147
		'--- Set Build Types ---
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
-
 
220
 
-
 
221
   Query_String = _
-
 
222
   " SELECT bs_id, is_build_env_required"&_
-
 
223
   " FROM package_versions"&_
-
 
224
   " WHERE pv_id = "& nPv_id
-
 
225
 
-
 
226
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
-
 
227
 
-
 
228
   If (UCase(nBs_name) = "NONE") AND (IsNull(rsTemp("is_build_env_required")) OR (rsTemp("is_build_env_required") <> "N")) Then
148
		Dim aBuildEnvList
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
149
		Dim OraParameter
234
      rsTemp.Edit
-
 
235
      rsTemp.Fields("bs_id").Value = rsTemp("bs_id")
-
 
236
      rsTemp.Fields("is_build_env_required").Value = "Y"
150
		Dim nBuildMachine
237
      rsTemp.Update
-
 
238
   End If
151
 
239
 
-
 
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.
152
		If Request("be_id_req") = "" Then
247
Sub DeletePackageBuildInfo( nPv_id )
153
 
248
 
154
			OraDatabase.Parameters.Add "BSA_ID", 	0, 	ORAPARM_INPUT, ORATYPE_NUMBER
249
   On Error Resume Next
155
			OraDatabase.Parameters.Add "BM_ID", 		0, 	ORAPARM_INPUT, ORATYPE_NUMBER
250
   objEH.TryORA ( OraSession )
156
 
251
 
157
			Set OraParameter = OraDatabase.Parameters
252
   OraDatabase.ExecuteSQL _
-
 
253
   "DELETE  FROM PACKAGE_BUILD_INFO WHERE PV_ID ="& nPv_id
158
 
254
 
-
 
255
   objEH.CatchORA ( OraSession )
159
 
256
 
-
 
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 )
160
			OraSession.BeginTrans
263
   Dim rsTemp, Query_String
-
 
264
   Dim new_bs_id
-
 
265
 
-
 
266
   Query_String = _
-
 
267
   " SELECT vcs_type_id"&_
-
 
268
   " FROM package_versions"&_
-
 
269
   " WHERE pv_id = "& nPv_id
-
 
270
 
-
 
271
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
-
 
272
 
-
 
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
-
 
275
 
-
 
276
      'update fields
-
 
277
      rsTemp.Edit
-
 
278
      rsTemp.Fields("vcs_type_id").Value = nVcs_type_id
-
 
279
      rsTemp.Update
161
 
280
 
-
 
281
      Call Log_Action ( nPv_id, "vcs_type_id_update", "VCS Type ID Update: " & nVcs_name )
-
 
282
   End If
162
 
283
 
-
 
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
-
 
294
 
-
 
295
   ' get the new bs_id from the bs_name parameter
-
 
296
   new_bs_id = bs_id_from_bs_name(nBs_name)
-
 
297
 
-
 
298
   Query_String = _
-
 
299
   " SELECT bs_id, is_build_env_required"&_
-
 
300
   " FROM package_versions"&_
-
 
301
   " WHERE pv_id = "& nPv_id
-
 
302
 
163
			aBuildEnvList = Split( Replace( Request("be_id_list"), " ", "" ) , ",")
303
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
-
 
304
 
-
 
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
-
 
307
 
-
 
308
      'update fields
-
 
309
      rsTemp.Edit
-
 
310
      rsTemp.Fields("bs_id").Value = new_bs_id
-
 
311
 
-
 
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
164
 
318
 
-
 
319
      ' Clear out the build info table of entries for this PV_ID.
-
 
320
      Call DeletePackageBuildInfo(nPv_id)
165
 
321
 
-
 
322
      Call Log_Action ( nPv_id, "build_standard_update", "Build Standard Update: " & nBs_name )
-
 
323
   End If
166
 
324
 
-
 
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
-
 
336
 
-
 
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 )
-
 
341
 
-
 
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
-
 
345
 
-
 
346
   Set OraParameter = OraDatabase.Parameters
-
 
347
 
-
 
348
   aBuildEnvList = Split( Replace( Request("be_id_list"), " ", "" ) , ",")
-
 
349
 
-
 
350
   On Error Resume Next
-
 
351
   objEH.TryORA ( OraSession )
-
 
352
 
167
			For Each nBuildMachine In aBuildEnvList
353
   For Each nBuildMachine In aBuildEnvList
-
 
354
 
-
 
355
      OraParameter("BM_ID").Value = nBuildMachine
-
 
356
      OraParameter("BSA_ID").Value = Request("build_type_comb_"& nBuildMachine)
-
 
357
 
-
 
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
-
 
363
 
-
 
364
   objEH.CatchORA ( OraSession )
-
 
365
 
-
 
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
168
 
376
 
169
				'Response.write nBuildEnv &"-"& Request("build_type_comb_"& nBuildEnv) &"<br>"
377
   On Error Resume Next
170
 
378
 
-
 
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
171
 
383
 
172
				OraParameter("BSA_ID").Value = Request("build_type_comb_"& nBuildMachine)
384
   If SSdesc = "" Then SSdesc = NULL
173
				OraParameter("BM_ID").Value = nBuildMachine
385
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
174
 
386
 
-
 
387
   rsTemp.Edit
175
 
388
 
176
				OraDatabase.ExecuteSQL _
-
 
177
				" UPDATE PACKAGE_BUILD_INFO pbinfo SET "&_
389
   ' Only update build critical sections (label, source path) if allowed
178
				"	pbinfo.BSA_ID = :BSA_ID "&_
390
   If criticalSectionIsEditable Then
179
				" WHERE pbinfo.PV_ID = :PV_ID "&_
-
 
180
				"   AND pbinfo.BM_ID = :BM_ID "
-
 
181
 
391
 
-
 
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
182
 
397
 
-
 
398
      rsTemp.Fields("src_path").Value = SSPath
-
 
399
   End If
183
 
400
 
184
			Next
401
   ' Update non-build critical sections
-
 
402
   rsTemp.Fields("pv_description").Value = SSdesc
-
 
403
   rsTemp.Fields("pv_overview").Value = SSoverview
185
 
404
 
-
 
405
   If NNdeployable = "1" Then
-
 
406
      rsTemp.Fields("is_deployable").Value = "Y"
-
 
407
   Else
-
 
408
      rsTemp.Fields("is_deployable").Value = NULL
-
 
409
   End If
186
 
410
 
187
			OraSession.CommitTrans
411
   rsTemp.Update
188
 
412
 
-
 
413
   rsTemp.Close
-
 
414
   Set rsTemp = nothing
189
 
415
 
-
 
416
   ' Only update build critical sections if allowed
-
 
417
   If criticalSectionIsEditable Then
190
 
418
 
191
			OraSession.BeginTrans
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") )
192
 
421
 
-
 
422
      ' Update the build standard if necessary for this PV_ID
-
 
423
      Call UpdateBuildStandard( NNpv_id, objFormCollector.Item("bs_name") )
193
 
424
 
-
 
425
      ' Update the 'is build_env_required' flag for this PV_ID
194
			aBuildEnvList = Split( Replace( Request("be_id_list"), " ", "" ) , ",")
426
      Call UpdateIsBuildEnvRequired( NNpv_id, objFormCollector.Item("bs_name") )
195
 
427
 
-
 
428
      ' Update the package_build_info table for this PV_ID
-
 
429
      Call UpdatePackageBuildInfo( NNpv_id )
-
 
430
   End If
-
 
431
End Sub
-
 
432
'----------------------------------------------------------------------------------------------------------------------
-
 
433
Function ShowHideBuildType( sBuildEnvChecked )
196
 
434
 
-
 
435
   ShowHideBuildType = "style='display:none;'"
197
 
436
 
198
			For Each nBuildMachine In aBuildEnvList
437
   If (sBuildEnvChecked <> "") Then
-
 
438
      ShowHideBuildType = "style='display:block;'"
-
 
439
   End If
199
 
440
 
-
 
441
End Function
-
 
442
'----------------------------------------------------------------------------------------------------------------------
-
 
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.
200
				'Response.write nBuildEnv &"-"& Request("build_type_comb_"& nBuildEnv) &"<br>"
444
Sub RenderBuildTypeCombo( nBuildAddendum, nBuildMachine, nBuildStandard )
201
 
445
 
-
 
446
   Query_String = "SELECT * FROM build_standards_addendum WHERE bs_id ="& nBuildStandard & " ORDER BY bsa_id DESC"
202
 
447
 
203
				OraParameter("BSA_ID").Value = Request("build_type_comb_"& nBuildMachine)
448
   Response.Write "<select name='build_type_comb_"& nBuildMachine &"' class='form_item'"& disableCriticalSectionEdit &">"
204
				OraParameter("BM_ID").Value = nBuildMachine
-
 
205
 
449
 
206
				If objFormCollector.Item("bs_id") = 2 Then
450
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
207
					If nBuildMachine= 1 Then
-
 
208
						OraParameter("BM_ID").Value = 11
451
   While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
209
					Else
-
 
210
						OraParameter("BM_ID").Value = 12
-
 
211
					End If
-
 
212
				End If
-
 
213
 
452
 
214
				OraDatabase.ExecuteSQL _
453
   If nBuildAddendum = rsTemp.Fields("bsa_id") Then
215
				" UPDATE PACKAGE_BUILD_ENV pbe SET "&_
454
      Response.write "<option value='"& rsTemp.Fields("bsa_id") &"' selected>"& rsTemp.Fields("bsa_name") &"</option>"
-
 
455
   Else
216
				"	pbe.BUILD_TYPE = :BSA_ID "&_
456
      Response.write "<option value='"& rsTemp.Fields("bsa_id") &"'>"& rsTemp.Fields("bsa_name") &"</option>"
217
				" WHERE pbe.PV_ID = :PV_ID "&_
457
   End If
218
				"   AND pbe.BE_ID = :BM_ID "
458
   rsTemp.MoveNext
219
			Next
459
   WEnd
-
 
460
   Response.Write "</select>"
220
 
461
 
-
 
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)
221
 
468
 
222
			OraSession.CommitTrans
469
   Query_String = "SELECT * FROM vcs_type ORDER BY name"
223
 
470
 
224
		End If
-
 
-
 
471
   Response.Write "<select id='vcs_name_combo' name='vcs_name_combo' class='form_item' "& disableCriticalSectionEdit &" onchange='vcs_changed();'>"
225
 
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>"
226
 
501
 
227
		OraDatabase.Parameters.Remove "PV_ID"
502
   rsTemp.Close()
228
		OraDatabase.Parameters.Remove "BE_ID_LIST"
503
   Set rsTemp = nothing
229
	End If
-
 
230
End Sub
504
End Sub
231
'----------------------------------------------------------------------------------------------------------------------
505
'----------------------------------------------------------------------------------------------------------------------
-
 
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
 
232
Function IsBuildTypeSelected ( nBuildTypeValue, nComboItem )
516
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
-
 
517
   While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
233
 
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
234
	IsBuildTypeSelected = ""
526
   Response.Write "</select>"
-
 
527
   Response.Write "<td nowrap background='images/bg_form_lightbluedark.gif'>&nbsp;</td>"
235
 
528
 
236
	If IsNull(nBuildTypeValue) OR (nBuildTypeValue = "") Then  Exit Function
-
 
237
 
-
 
238
	If ( CInt(nComboItem) = CInt(nBuildTypeValue) ) Then
529
   rsTemp.Close()
239
		IsBuildTypeSelected = "selected"
530
   Set rsTemp = nothing
240
	End If
531
End Sub
241
 
-
 
242
End Function
-
 
243
'----------------------------------------------------------------------------------------------------------------------
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
244
Function ShowHideBuildType( sBuildEnvChecked )
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
245
 
565
 
-
 
566
End Sub
-
 
567
'----------------------------------------------------------------------------------------------------------------------
-
 
568
' This function obtains a BM_ID (build machine ID) from a buidl machine name by querrying the database
246
	ShowHideBuildType = "style='display:none;'"
569
Function Get_BM_ID_for_BM_Name(nBm_Name)
-
 
570
   Dim rsTemp, Query_String
247
 
571
 
248
	If (sBuildEnvChecked <> "") Then
572
   Get_BM_ID_for_BM_Name = ""
249
		ShowHideBuildType = "style='display:block;'"
-
 
250
	End If
-
 
251
 
573
 
252
End Function
-
 
253
'----------------------------------------------------------------------------------------------------------------------
-
 
254
Sub RenderBuildTypeCombo( nBuildAddendum, nBuildMachine, nBuildStandard )
574
   Query_String = "SELECT bm_id FROM build_machines bm WHERE bm.bm_name = '" & nBm_Name & "'"
255
 
575
 
256
	If nBuildStandard = 1 Then
-
 
257
		Query_String = "SELECT * FROM build_standards_addendum WHERE bs_id = 1 ORDER BY bsa_id DESC"
-
 
258
	Else
-
 
259
		Query_String = "SELECT * FROM build_standards_addendum WHERE bs_id = 2 ORDER BY bsa_id DESC"
-
 
260
	End If
-
 
261
 
-
 
262
	Response.Write "<select name='build_type_comb_"& nBuildMachine &"' class='form_item'"& disableCriticalSectionEdit &">"
-
 
263
 
-
 
264
	Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
576
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
265
	While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
-
 
266
 
-
 
267
	If nBuildAddendum = rsTemp.Fields("bsa_id") Then
-
 
268
		Response.write "<option value='"& rsTemp.Fields("bsa_id") &"' selected>"& rsTemp.Fields("bsa_name") &"</option>"
-
 
269
	Else
-
 
270
		Response.write "<option value='"& rsTemp.Fields("bsa_id") &"'>"& rsTemp.Fields("bsa_name") &"</option>"
-
 
271
	End If
-
 
272
	rsTemp.MoveNext
-
 
273
	WEnd
-
 
274
 
577
 
275
	rsTemp.Close()
-
 
276
	Set rsTemp = nothing
578
   Get_BM_ID_for_BM_Name = ""
277
 
579
 
-
 
580
   If (NOT rsTemp.BOF ) AND (NOT rsTemp.EOF) Then
-
 
581
      Get_BM_ID_for_BM_Name = rsTemp("bm_id")
-
 
582
   End If
278
 
583
 
279
	Response.Write "</select>"
-
 
280
End Sub
584
End Function
281
'----------------------------------------------------------------------------------------------------------------------
585
'----------------------------------------------------------------------------------------------------------------------
282
Function GetRowColor( sRowColor )
586
Function GetRowColor( sRowColor )
283
	If sRowColor = "#FFFFFF" Then
587
   If sRowColor = "#FFFFFF" Then
284
		GetRowColor = "#F5F5F5"
588
      GetRowColor = "#F5F5F5"
285
	Else
589
   Else
286
		GetRowColor = "#FFFFFF"
590
      GetRowColor = "#FFFFFF"
287
	End If
591
   End If
288
End Function
592
End Function
-
 
593
'----------------------------------------------------------------------------------------------------------------------
289
%>
594
%>
290
<%
595
<%
291
'------------------------------- RUN BEFORE PAGE RENDER ----------------------------
596
'------------------------------- RUN BEFORE PAGE RENDER ----------------------------
-
 
597
 
292
Call LoadFieldRules ( "'FRlabel','FRpath','pv_description','pv_overview','be_id_list'", objForm )		' Load Validation Rules
598
Call LoadFieldRules ( "'FRlabel','FRpath','pv_description','pv_overview','be_id_list'", objForm )      ' Load Validation Rules
293
Call Get_Form_Details( parPv_id, objFormCollector )
599
Call Get_Form_Details( parPv_id, objFormCollector )
294
 
600
 
-
 
601
 
-
 
602
 
295
'--- From Validation Rule Changes ----
603
'--- From Validation Rule Changes ----
296
If objForm.IsPostBack Then
-
 
297
	If (Request("FRlabelNA") = "Y") Then
-
 
298
		objForm.UpdateRules ("id='FRlabel' IsRequired='N'")
-
 
299
	End If
-
 
300
 
-
 
301
	If (Request("be_id_req") = "N") Then
-
 
302
		objForm.UpdateRules ("id='be_id_list' IsRequired='N'")
-
 
303
	End If
-
 
304
 
604
 
305
Else
-
 
306
	If objFormCollector.Item("pkg_label") = "N/A" Then
-
 
307
		objForm.UpdateRules ("id='FRlabel' IsRequired='N'")
605
' Dont need the label if not using clearcase
308
	End If
-
 
309
 
-
 
310
	If objFormCollector.Item("is_build_env_required") = "N" Then
606
If (objFormCollector.Item("vcs_tag") <> enum_VCS_CLEARCASE_TAG) Then
311
		objForm.UpdateRules ("id='be_id_list' IsRequired='N'")
607
   objForm.UpdateRules ("id='FRlabel' IsRequired='N'")
312
	End If
608
End If
313
 
609
 
-
 
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'")
314
End If
613
End If
315
 
614
 
316
If NOT criticalSectionIsEditable Then
-
 
317
	objForm.UpdateRules ("id='FRlabel' IsRequired='N'")
615
' Dont need the build environment if the is_build_env_required is "N"
318
	objForm.UpdateRules ("id='FRpath' IsRequired='N'")
616
If objFormCollector.Item("is_build_env_required") = "N" Then
319
	objForm.UpdateRules ("id='be_id_list' IsRequired='N'")
617
   objForm.UpdateRules ("id='be_id_list' IsRequired='N'")
320
End If
618
End If
321
 
619
 
322
 
620
 
-
 
621
 
323
'--- Access Control Setup ------------
622
'--- Access Control Setup ------------
324
pageIsEditable = Is_Page_Editable ( objFormCollector.Item ("dlocked") )
623
pageIsEditable = Is_Page_Editable ( objFormCollector.Item ("dlocked") )
325
criticalSectionIsEditable = Is_Critical_Section_Editable ( objFormCollector.Item("dlocked") )
624
criticalSectionIsEditable = Is_Critical_Section_Editable ( objFormCollector.Item("dlocked") )
326
 
625
 
327
If criticalSectionIsEditable then
626
If criticalSectionIsEditable then
328
	disableCriticalSectionEdit = ""
627
   disableCriticalSectionEdit = ""
329
Else
628
Else
330
	disableCriticalSectionEdit = "disabled"
629
   disableCriticalSectionEdit = "disabled"
-
 
630
End If
-
 
631
 
-
 
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'")
331
End If
637
End If
332
 
638
 
333
 
639
 
334
'--- Process Submission ---------------
640
'--- Process Submission ---------------
335
If CBool(QStrPar("action"))  AND  objAccessControl.UserLogedIn Then
-
 
336
	If objForm.IsValidOnPostBack Then
-
 
337
		Dim aBuildEnvList, nBuildEnv, display
-
 
338
		display = false
-
 
339
		aBuildEnvList = Split( Replace( Request("be_id_list"), " ", "" ) , ",")
-
 
340
 
-
 
341
		If UBound(aBuildEnvList) > 0 Then
-
 
342
			If aBuildEnvList(0) = "4" Then
-
 
343
				display = true
-
 
344
			End If
-
 
345
		End If
-
 
346
 
-
 
347
 
-
 
348
		For Each nBuildEnv In aBuildEnvList
-
 
349
			If Request("build_type_comb_"& nBuildEnv) = 0 Then
-
 
350
				display = true
-
 
351
			End If
-
 
352
		Next
-
 
353
 
-
 
354
		If display then
-
 
355
			Call MessageBox()
-
 
356
		Else
-
 
357
			Call Update_Pkg_Info ( parPv_id, QStrPar("FRdeployable"), QStrPar("FRlabel"), QStrPar("FRpath"), QStrPar("pv_description"), QStrPar("pv_overview") )
-
 
358
			Call OpenInParentWindow ( "fixed_issues.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_id &"&hidenv=true" )
-
 
359
			Call CloseWindow
-
 
360
		End If
-
 
361
	End If
-
 
362
 
641
 
-
 
642
If objForm.IsPostBack Then
-
 
643
   ' use of the drop down lists or the submit button gets us in here
-
 
644
 
-
 
645
   If objForm.IsValidOnPostBack Then
-
 
646
      ' only get here if the form is valid
363
 
647
 
-
 
648
      ' has the user pressed the submit button?
-
 
649
      If Request("btn") = "Submit" Then
364
 
650
 
-
 
651
         If objFormCollector.Item("build_type") = "A" AND UCase(objFormCollector.Item("bs_name")) = "NONE" Then
-
 
652
 
-
 
653
            Call MessageBox_Need_A_BuildStandard()
-
 
654
 
-
 
655
         Else
-
 
656
 
-
 
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
365
End If
699
End If
-
 
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
 
366
'--------------------------------------------------------------------------------------------
708
'--------------------------------------------------------------------------------------------
367
%>
709
%>
368
<html>
710
<html>
369
<head>
711
<head>
370
<title>Release Manager</title>
712
<title>Release Manager</title>
Line 376... Line 718...
376
<!-- TIPS -->
718
<!-- TIPS -->
377
<script language="JavaScript" src="images/tipster.js"></script>
719
<script language="JavaScript" src="images/tipster.js"></script>
378
<script language="JavaScript" src="images/_help_tips.js"></script>
720
<script language="JavaScript" src="images/_help_tips.js"></script>
379
<script language="JavaScript" type="text/javascript">
721
<script language="JavaScript" type="text/javascript">
380
<!--
722
<!--
381
function SetLabel(slabel) {
-
 
382
	if ( MM_findObj('FRlabelNA').checked ) {
-
 
383
 
723
 
-
 
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() {
384
		MM_findObj('FRlabel').value = 'N/A';
728
   var f = document.getElementById('pkginfo');
-
 
729
   if (f == null) {
385
		MM_findObj('FRlabel').disabled = true;
730
      alert('Javascript Error : Failed to get pkginfo');
-
 
731
   }
386
	} else {
732
   else {
-
 
733
 
387
		MM_findObj('FRlabel').value = slabel;
734
      var nc = document.getElementById('vcs_name_combo');
-
 
735
      if (nc == null) {
388
		MM_findObj('FRlabel').disabled = false;
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
   }
389
	}
755
}
390
 
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
   }
391
}
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
 
392
//-->
790
//-->
393
</script>
791
</script>
394
</head>
792
</head>
395
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" onload="self.focus();">
793
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" onload="self.focus();">
396
<!-- TIPS LAYERS -------------------------------------->
794
<!-- TIPS LAYERS -------------------------------------->
397
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
795
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
398
<!----------------------------------------------------->
796
<!----------------------------------------------------->
399
<form name="pkginfo" method="post" action="<%=scriptName%>">
797
<form id="pkginfo" name="pkginfo" method="post" <%=on_submit_validation%> action="<%=submit_action_url%>">
400
  <table width="100%" border="0" cellspacing="0" cellpadding="2" height="100%">
798
   <table width="100%" border="0" cellspacing="0" cellpadding="2" height="100%">
401
    <tr>
799
      <tr>
402
      <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>
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>
403
      <td background="images/lbox_bg_blue.gif" nowrap width="50%" class="wform_ttl">&nbsp;Package Information </td>
801
         <td background="images/lbox_bg_blue.gif" nowrap width="50%" class="wform_ttl">&nbsp;Package Information </td>
404
      <td background="images/lbox_bg_blue.gif" align="right" width="50%">
802
         <td background="images/lbox_bg_blue.gif" align="right" width="50%">
405
        <input type="submit" name="btn" value="Submit" <%If pageIsEditable Then%>class="form_btn_comp"<%Else%>disabled class="form_btn_comp_disabled"<%End If%>>
803
            <input type="submit" name="btn" value="Submit" <%If pageIsEditable Then%>class="form_btn_comp"<%Else%>disabled class="form_btn_comp_disabled"<%End If%>>
406
        <input type="reset" name="btn" value="Cancel" class="form_btn_comp" onclick="self.close()">
804
            <input type="reset" name="btn" value="Cancel" class="form_btn_comp" onclick="self.close()">
407
      </td>
805
         </td>
408
      <td background="images/lbox_bg_blue.gif" align="right" width="1%" nowrap>
806
         <td background="images/lbox_bg_blue.gif" align="right" width="1%" nowrap>
409
        <img src="images/h_trsp_dot.gif" width="5" height="22"> </td>
807
         <img src="images/h_trsp_dot.gif" width="5" height="22"> </td>
410
    </tr>
808
      </tr>
411
    <tr>
809
 
412
      <td height="100%" width="1%">&nbsp;</td>
810
      <tr>
413
      <td valign="top" nowrap colspan="3" class="wform_ttl" background="images/bg_form_lightgray.gif">
811
         <td height="100%" width="1%">&nbsp;</td>
414
        <table width="100%" border="0" cellspacing="1" cellpadding="2">
812
         <td valign="top" nowrap colspan="3" class="wform_ttl" background="images/bg_form_lightgray.gif">
415
          <tr>
813
            <table width="100%" border="0" cellspacing="1" cellpadding="2">
416
            <td width="1%"><img src="images/h_trsp_dot.gif" width="10" height="30"></td>
814
               <tr>
417
            <td width="1%" nowrap class="form_group" valign="bottom"></td>
815
                  <td width="1%"><img src="images/h_trsp_dot.gif" width="10" height="30"></td>
418
            <td nowrap width="1%">&nbsp; </td>
816
                  <td width="1%" nowrap class="form_group" valign="bottom"></td>
419
            <td nowrap width="100%">&nbsp;</td>
817
                  <td nowrap width="1%">&nbsp; </td>
420
          </tr>
818
                  <td nowrap width="100%">&nbsp;</td>
421
          <tr>
819
               </tr>
422
            <td>&nbsp;</td>
820
               <tr>
423
            <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Package</td>
821
                  <td>&nbsp;</td>
424
            <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objFormCollector.Item("pkg_name") &" "& objFormCollector.Item("pkg_version")%></td>
822
                  <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Package</td>
425
            <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">&nbsp;</td>
823
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objFormCollector.Item("pkg_name") &" "& objFormCollector.Item("pkg_version")%></td>
426
          </tr>
824
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">&nbsp;</td>
427
          <tr>
825
               </tr>
428
            <td>&nbsp;</td>
826
               <tr>
429
            <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Deployable?<%=Quick_Help ( "deployable" )%></td>
827
                  <td>&nbsp;</td>
430
			<%
828
                  <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Deployable?<%=Quick_Help ( "deployable" )%></td>
431
			FRdeployableYES = ""
829
                  <%
432
			FRdeployableNO = ""
830
                  FRdeployableYES = ""
433
 
831
                  FRdeployableNO = ""
434
			If objForm.IsPostBack Then
832
 
435
				If Request("FRdeployable") = "1" Then
833
                  If objForm.IsPostBack Then
436
					FRdeployableYES = "checked"
834
                     If Request("FRdeployable") = "1" Then
437
				Else
835
                        FRdeployableYES = "checked"
438
					FRdeployableNO = "checked"
836
                     Else
439
				End If
837
                        FRdeployableNO = "checked"
440
 
838
                     End If
441
			Else
839
 
442
				If objFormCollector.Item("is_deployable") = enumDB_YES Then
840
                  Else
443
					FRdeployableYES = "checked"
841
                     If objFormCollector.Item("is_deployable") = enumDB_YES Then
444
				Else
842
                        FRdeployableYES = "checked"
445
					FRdeployableNO = "checked"
843
                     Else
446
				End If
844
                        FRdeployableNO = "checked"
447
 
845
                     End If
448
			End If
846
 
449
			%>
847
                  End If
450
            <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">Yes<input name="FRdeployable" type="radio" value="1" <%=FRdeployableYES%>>
848
                  %>
451
              &nbsp;&nbsp;No<input name="FRdeployable" type="radio" value="0" <%=FRdeployableNO%>></td>
849
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">Yes<input name="FRdeployable" type="radio" value="1" <%=FRdeployableYES%>>
452
            <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">&nbsp;</td>
850
                  &nbsp;&nbsp;No<input name="FRdeployable" type="radio" value="0" <%=FRdeployableNO%>></td>
453
          </tr>
851
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">&nbsp;</td>
454
          <tr>
852
               </tr>
455
            <td>&nbsp;</td>
853
               <tr>
456
            <td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Label<%=Quick_Help ( "pkg_label" )%></td>
854
                  <td>&nbsp;</td>
457
            <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
855
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Version Control System</td>
458
			<%
856
                  <td nowrap background="images/bg_form_lightbluedark.gif">
459
			Dim sDefaultLabel, sLabel, sLabelDisabled, sLabelChecked, sLabelReadOnly
857
                     <% Call RenderVCSCombo(objFormCollector.Item("vcs_tag"))%>
460
			sLabelDisabled = ""
858
                  </td>
461
			sLabelChecked = ""
859
               </tr>
462
			sLabelReadOnly = ""
860
 
463
			sDefaultLabel = Default_Label( objFormCollector.Item("pkg_name"), objFormCollector.Item("pkg_version"), objFormCollector.Item("v_ext"))
861
               <%If (objFormCollector.Item("vcs_tag") = enum_VCS_CLEARCASE_TAG) Then%>
464
 
862
                  <tr>
465
			If objFormCollector.Item("build_type") = "A" AND NOT criticalSectionIsEditable Then
863
                     <td>&nbsp;</td>
466
				sLabelReadOnly = "readonly"
864
                     <td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Label<%=Quick_Help ( "pkg_label" )%></td>
467
			End If
865
                     <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
468
 
866
                        <%
469
			If objForm.IsPostBack Then
867
                        Dim sDefaultLabel, sLabel, sLabelReadOnly
470
				If (Request("FRlabelNA") <> "") Then
868
                        sLabelReadOnly = ""
471
					sLabelDisabled = "disabled"
869
                        sDefaultLabel = Default_Label(parPv_id, objFormCollector.Item("build_type"), objFormCollector.Item("pkg_name"), objFormCollector.Item("pkg_version"), objFormCollector.Item("v_ext"))
472
					sLabelChecked = "checked"
870
 
473
					sLabel = "N/A"
871
                        If objFormCollector.Item("build_type") = "A" AND NOT criticalSectionIsEditable Then
474
				Else
872
                           sLabelReadOnly = "readonly"
475
					sLabel = Request("FRlabel")
873
                        End If
476
				End If
874
 
477
 
875
                        If objForm.IsPostBack Then
478
			Else
876
                           sLabel = Request("FRlabel")
479
				If (objFormCollector.Item("pkg_label") = "N/A") Then
877
 
480
					sLabelDisabled = "disabled"
878
                           ' If a user has switched the form back and forth between different VCS settings, and the previous one did not utilise a label
481
					sLabelChecked = "checked"
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.
482
					sLabel = "N/A"
880
                           ' Also, we use the SetValueForced() function to force the value of sLabel into the object that does some of our validation for us.
483
				Else
881
                           ' That function (as opposed to the plain SetValue() function) cares nothing about the setting of the IsPostBack flag in the
484
					If objFormCollector.Item("pkg_label") = "" OR IsNull(objFormCollector.Item("pkg_label"))  Then
882
                           ' object. If we didnt do this, the field on the visible form would be highlighted with "Required" because SetValue() just does
485
						sLabel = sDefaultLabel
883
                           ' a Request() in IsPostBack situations, and so our sLabel value will not be acquired by the object for validation.
486
					Else
884
                           If IsNull(sLabel) OR sLabel = "" Then
487
						sLabel = objFormCollector.Item("pkg_label")
885
                              sLabel = sDefaultLabel
488
					End If
886
                              objForm.SetValueForced "FRlabel", sLabel
489
					objForm.SetValue "FRlabel", sLabel
887
                           End If
490
 
888
                        Else
491
				End If
889
                           If (objFormCollector.Item("pkg_label") = "N/A") Then
492
 
890
                              sLabel = "N/A"
493
			End If
891
                           Else
494
 
892
                              If objFormCollector.Item("pkg_label") = "" OR IsNull(objFormCollector.Item("pkg_label"))  Then
495
 
893
                                 sLabel = sDefaultLabel
496
			%>
894
                              Else
497
			<%If objFormCollector.Item("build_type") = "M" AND criticalSectionIsEditable Then%>
895
                                 sLabel = objFormCollector.Item("pkg_label")
498
			<input name="FRlabelNA" type="checkbox" id="FRlabelNA" value="Y" <%=disableCriticalSectionEdit%> onClick="SetLabel('<%=sDefaultLabel%>');" <%=sLabelChecked%>> Label not applicable<br>
896
                              End If
499
			<%End If%>
897
                              objForm.SetValue "FRlabel", sLabel
500
			<input type="text" name="FRlabel" id="FRlabel" maxlength="50" size="60" class="form_item" <%=disableCriticalSectionEdit%> value="<%=sLabel%>" <%=sLabelDisabled%> <%=sLabelReadOnly%>>
898
                           End If
501
            </td>
899
                        End If
502
            <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("FRlabel")%></td>
900
                        %>
503
          </tr>
901
                        <input type="text" name="FRlabel" id="FRlabel" maxlength="50" size="60" class="form_item" <%=disableCriticalSectionEdit%> value="<%=sLabel%>" <%=sLabelReadOnly%>>
504
          <tr>
902
                     </td>
505
            <td>&nbsp;</td>
903
                     <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("FRlabel")%></td>
506
            <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Source Path<%=Quick_Help ( "src_path" )%></td>
904
                  </tr>
507
            <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
905
                  <tr>
508
              <input name="FRpath" type="text" class="form_item" <%=disableCriticalSectionEdit%> id="FRpath" value="<%=objForm.GetValue( "FRpath", objFormCollector.Item("src_path") )%>" size="60" maxlength="2000">
906
                     <td>&nbsp;</td>
509
              <br>
907
                     <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Source Path<%=Quick_Help ( "src_path" )%></td>
510
              Example:<br>
908
                     <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
511
              \MASS_Dev\Infra\core_cs <br>
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">
512
               </td>
910
                        <br>
513
            <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("FRpath")%>
911
                        Example:<br>/MASS_Dev_Infra/core_cs <br>
514
			</td>
912
                     </td>
515
          </tr>
913
                     <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("FRpath")%></td>
516
          <tr>
914
                  </tr>
517
            <td>&nbsp;</td>
915
               <%ElseIf (objFormCollector.Item("vcs_tag") = enum_VCS_SUBVERSION_TAG) Then%>
518
            <td valign="top" background="images/bg_form_lightbluedark.gif" class="form_field">Short
916
                  <tr>
519
              Package Description<%=Quick_Help ( "pkg_info_short_desc" )%></td>
917
                     <td>&nbsp;</td>
520
            <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><textarea name="pv_description" cols="57" rows="5" class="form_item" id="pv_description"><%=objForm.GetValue( "pv_description", objFormCollector.Item("pv_description") )%></textarea>
918
                     <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">SubVersion Tag<%=Quick_Help ( "svn_tag" )%></td>
521
            </td>
919
                     <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
522
            <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("pv_description")%></td>
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">
523
          </tr>
921
                        <br>
524
          <tr>
922
                        Example:<br>MASS_Dev_Infra/core_cs/trunk@12843 <br>
525
            <td>&nbsp;</td>
923
                     </td>
526
            <td valign="top" background="images/bg_form_lightbluedark.gif" class="form_field">Package Overview<%=Quick_Help ( "pkg_info_overview" )%></td>
924
                     <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("FRpath")%></td>
527
            <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><textarea name="pv_overview" cols="57" rows="10" class="form_item" id="pv_overview"><%=objForm.GetValue( "pv_overview", objFormCollector.Item("pv_overview") )%></textarea>
925
                  </tr>
528
            </td>
926
               <%ElseIf (objFormCollector.Item("vcs_tag") = enum_VCS_UNCONTROLLED_TAG) Then%>
529
            <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("pv_overview")%></td>
927
                  <input name="FRlabel" type="hidden" id="FRlabel" value="<%=sLabel%>">
530
          </tr>
928
                  <input name="FRpath"  type="hidden" id="FRpath"  value="<%=objForm.GetValue( "FRpath", objFormCollector.Item("src_path") )%>">
531
 
929
               <%Else%>
532
          <tr>
930
                  <tr>
533
            <td>&nbsp;</td>
931
                     <td>&nbsp;</td>
534
            <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Build Environment<%=Quick_Help ( "build_environment" )%></td>
932
                     <td colspan=3 background="images/bg_form_lightbluedark.gif" class="sublbox_txt">
535
            <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
933
                        <span class='err_alert'><b>WARNING:</b> Release Manager Website does not currently support the selected Version Control System</span>
536
			<%
934
                     </td>
537
			checked = ""
935
                  </tr>
538
			If objForm.IsPostBack Then
936
                  <input name="FRlabel" type="hidden" id="FRlabel" value="<%=sLabel%>">
539
				If (Request("be_id_req") = "N") Then checked = "checked"
937
                  <input name="FRpath"  type="hidden" id="FRpath"  value="<%=objForm.GetValue( "FRpath", objFormCollector.Item("src_path") )%>">
540
			Else
938
               <%End If%>
541
				If objFormCollector.Item("is_build_env_required") = "N" Then checked = "checked"
939
 
542
			End If
940
               <tr>
543
			%>
941
                  <td>&nbsp;</td>
544
			<%If objFormCollector.Item("is_build_env_required") = "N" Then%>
942
                  <td valign="top" background="images/bg_form_lightbluedark.gif" class="form_field">Short Package Description<%=Quick_Help ( "pkg_info_short_desc" )%></td>
545
				<input type="checkbox" name="be_id_req" value="N" <%=disableCriticalSectionEdit%> onClick="ToggleDisplay('divBuildEnv');" <%=checked%>>&nbsp;Build Environment not applicable
943
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
546
			<%End If%>
944
                     <textarea name="pv_description" cols="57" rows="5" class="form_item" id="pv_description"><%=objForm.GetValue( "pv_description", objFormCollector.Item("pv_description") )%></textarea>
547
			<div id="divBuildEnv" name="divBuildEnv" style="width:320px; height:150px; overflow: auto; <%If (Request("be_id_req") = "N") OR (objFormCollector.Item("is_build_env_required") = "N") Then%>display:none;<%Else%>display:block;<%End If%>">
945
                  </td>
548
			  <table width="100%" border="0" cellspacing="0" cellpadding="0">
946
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("pv_description")%></td>
549
				<tr>
947
               </tr>
550
				  <td bgcolor="#FFFFFF">
948
               <tr>
551
				   <table width="100%" border="0" cellspacing="0" cellpadding="3">
949
                  <td>&nbsp;</td>
552
				   <%
950
                  <td valign="top" background="images/bg_form_lightbluedark.gif" class="form_field">Package Overview<%=Quick_Help ( "pkg_info_overview" )%></td>
553
				   OraDatabase.Parameters.Add "PV_ID", 	parPv_id,	ORAPARM_INPUT, ORATYPE_NUMBER
951
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
554
 
952
                     <textarea name="pv_overview" cols="57" rows="10" class="form_item" id="pv_overview"><%=objForm.GetValue( "pv_overview", objFormCollector.Item("pv_overview") )%></textarea>
555
				   query = _
953
                  </td>
556
				    " SELECT DECODE ( pkgbinfo.BM_ID,"&_
954
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate ("pv_overview")%></td>
557
				    "		   		  	bm.BM_ID, 'checked',"&_
955
               </tr>
558
					"				NULL ) AS checked,"&_
956
 
559
					"	   bm.BM_ID,"&_
957
               <tr>
560
					"	   bm.BM_NAME, "&_
958
                  <td>&nbsp;</td>
561
					"	   pkgbinfo.BSA_ID"&_
959
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Build Standard</td>
562
					"  FROM BUILD_MACHINES bm,"&_
960
                  <td nowrap background="images/bg_form_lightbluedark.gif">
563
					"  	   PACKAGE_BUILD_INFO pkgbinfo"&_
961
                     <% Call RenderBldStdCombo(objFormCollector.Item("bs_name"))%>
564
					" WHERE pkgbinfo.BM_ID (+)= bm.BM_ID"&_
962
                  </td>
565
					"   AND pkgbinfo.PV_ID (+)= :PV_ID"&_
963
               </tr>
566
					" ORDER BY UPPER(bm.bm_name) "
964
 
567
 
965
               <tr>
568
 
966
                  <td>&nbsp;</td>
569
				   Set rsQry = OraDatabase.DbCreateDynaset( query, cint(0))
967
                  <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Build Environment<%=Quick_Help ( "build_environment" )%></td>
570
				   Dim rowColor
968
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
571
 
969
                     <%If objFormCollector.Item("is_build_env_required") = "N" Then%>
572
				   rowColor = "#F5F5F5"
970
                        &nbsp;Build Environment not applicable
573
 
971
                     <%End If%>
574
				   While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
972
 
575
				   	  checked = ""
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%>">
576
				      If objForm.IsTicked( "be_id_list", rsQry("bm_id"), rsQry("checked") ) Then
974
                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
577
					  	  checked = "checked"
975
                           <tr>
578
					      objForm.SetValue "be_id_list", checked
976
                              <td bgcolor="#FFFFFF">
579
					  End If
977
                                 <table width="100%" border="0" cellspacing="0" cellpadding="3">
580
 
978
                                    <%
581
					  rowColor = GetRowColor( rowColor )
979
                                    OraDatabase.Parameters.Add "PV_ID",    parPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER
582
				   %>
980
 
583
					<tr>
981
                                    query = _
584
					  <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>
982
                                    " SELECT DECODE ( pkgbinfo.BM_ID,"&_
585
					  <td nowrap class="form_txt" bgcolor="<%=rowColor%>"><%=rsQry("bm_name")%></td>
983
                                    "                    bm.BM_ID, 'checked',"&_
586
					  <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>
984
                                    "            NULL ) AS checked,"&_
587
					  <%If checked = "checked" AND rsQry("bsa_id") = 0 Then%>
985
                                    "      bm.BM_ID,"&_
588
					  <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>
986
                                    "      bm.BM_NAME, "&_
589
					  <%End If%>
987
                                    "      pkgbinfo.BSA_ID"&_
590
					</tr>
988
                                    "  FROM BUILD_MACHINES bm,"&_
591
				   <%rsQry.MoveNext
989
                                    "        PACKAGE_BUILD_INFO pkgbinfo"&_
592
				   WEnd
990
                                    " WHERE pkgbinfo.BM_ID (+)= bm.BM_ID"&_
593
 
991
                                    "   AND pkgbinfo.PV_ID (+)= :PV_ID"&_
594
				   rsQry.Close
992
                                    " ORDER BY UPPER(bm.bm_name) "
595
				   Set rsQry = Nothing
993
 
596
 
994
 
597
				   OraDatabase.Parameters.Remove "PV_ID"
995
                                    Set rsQry = OraDatabase.DbCreateDynaset( query, cint(0))
598
				   %>
996
                                    Dim rowColor
599
				   <tr>
997
 
600
					  <td width="1"></td>
998
                                    rowColor = "#F5F5F5"
601
					  <td width="1"></td>
999
 
602
					  <td width="100%"></td>
1000
                                    While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
603
					</tr>
1001
                                       checked = ""
604
				  </table></td>
1002
                                       If objForm.IsTicked( "be_id_list", rsQry("bm_id"), rsQry("checked") ) Then
605
				</tr>
1003
                                          checked = "checked"
606
			  </table>
1004
                                          objForm.SetValue "be_id_list", checked
607
			</div>
1005
                                       End If
608
			</td>
1006
 
609
            <td valign="top" nowrap background="images/bg_form_lightbluedark.gif" class="form_txt"><%=objForm.Validate("be_id_list")%></td>
1007
                                       rowColor = GetRowColor( rowColor )
610
          </tr>
1008
                                       %>
611
          <tr>
1009
                                       <tr>
612
            <td>&nbsp;</td>
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>
613
            <td nowrap class="form_field"><img src="images/h_trsp_dot.gif" width="100" height="10"></td>
1011
                                          <td nowrap class="form_txt" bgcolor="<%=rowColor%>"><%=rsQry("bm_name")%></td>
614
            <td nowrap> <p>&nbsp;</p></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>
615
            <td nowrap>&nbsp;</td>
1013
                                          <%If checked = "checked" AND rsQry("bsa_id") = 0 Then%>
616
          </tr>
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>
617
        </table>
1015
                                          <%End If%>
618
      </td>
1016
                                       </tr>
619
    </tr>
1017
                                       <%rsQry.MoveNext
620
    <tr>
1018
                                    WEnd
621
      <td height="1%" width="1%"><img src="images/h_trsp_dot.gif" width="5" height="5"></td>
1019
 
622
      <td valign="top" nowrap colspan="3" class="wform_ttl" background="images/lbox_bg_blue.gif"></td>
1020
                                    rsQry.Close
623
    </tr>
1021
                                    Set rsQry = Nothing
624
  </table>
1022
 
625
<input type="hidden" name="pv_id" value="<%=parPv_id%>">
1023
                                    OraDatabase.Parameters.Remove "PV_ID"
626
<input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
1024
                                    %>
627
<input type="hidden" name="action" value="true">
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%>">
628
</form>
1056
</form>
629
</body>
1057
</body>
630
</html>
1058
</html>
631
<%
1059
<%
632
'------------- RUN AFTER PAGE RENDER ---------------
1060
'------------- RUN AFTER PAGE RENDER ---------------