Subversion Repositories DevTools

Rev

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

Rev 5207 Rev 5357
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
'               Ripple Properties
8
'               Ripple Properties
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"-->
14
<!--#include file="common/qstr.asp"-->
14
<!--#include file="common/qstr.asp"-->
15
<!--#include file="common/common_subs.asp"-->
15
<!--#include file="common/common_subs.asp"-->
16
<!--#include file="common/common_dbedit.asp"-->
16
<!--#include file="common/common_dbedit.asp"-->
17
<!--#include file="common/_popup_window_common.asp"-->
17
<!--#include file="common/_popup_window_common.asp"-->
18
<%
18
<%
19
' Set rfile parameter. This is a return page after Login
19
' Set rfile parameter. This is a return page after Login
20
Call objPMod.StoreParameter ( "rfile", "fixed_issues.asp" )
20
Call objPMod.StoreParameter ( "rfile", "fixed_issues.asp" )
21
'------------ ACCESS CONTROL ------------------
21
'------------ ACCESS CONTROL ------------------
22
%>
22
%>
23
<!--#include file="_access_control_login.asp"-->
23
<!--#include file="_access_control_login.asp"-->
24
<!--#include file="_access_control_general.asp"-->
24
<!--#include file="_access_control_general.asp"-->
25
<!--#include file="_access_control_project.asp"-->
25
<!--#include file="_access_control_project.asp"-->
26
<%
26
<%
27
'------------ Variable Definition -------------
27
'------------ Variable Definition -------------
28
Dim parPv_id
28
Dim parPv_id
29
Dim query
29
Dim query
30
Dim rsQry, rsTemp
30
Dim rsQry, rsTemp
31
Dim checked
31
Dim checked
32
Dim FRripplebuildYES, FRripplebuildNO
32
Dim FRripplebuildYES, FRripplebuildNO
33
Dim objFormCollector
33
Dim objFormCollector
34
Dim Query_String
34
Dim Query_String
35
Dim isDLocked
35
Dim isDLocked
36
Dim isNotSdk
36
Dim isNotSdk
37
'------------ Constants Declaration -----------
37
'------------ Constants Declaration -----------
38
'------------ Variable Init -------------------
38
'------------ Variable Init -------------------
39
Set objFormCollector = CreateObject("Scripting.Dictionary")
39
Set objFormCollector = CreateObject("Scripting.Dictionary")
40
parPv_id = QStrPar("pv_id")
40
parPv_id = QStrPar("pv_id")
41
'----------------------------------------------
41
'----------------------------------------------
42
%>
42
%>
43
<%
43
<%
44
'------------------------------------------------------------------------------------------------------------------------------------
44
'------------------------------------------------------------------------------------------------------------------------------------
45
Sub UpdateRippleType ( )
45
Sub UpdateRippleType ( )
46
   Dim rsTemp, Query_String
46
   Dim rsTemp, Query_String
47
   Dim storedRippleType
47
   Dim storedRippleType
48
   Dim storedMajorLimit
48
   Dim storedMajorLimit
49
   Dim storedMinorLimit
49
   Dim storedMinorLimit
50
   Dim storedPatchLimit
50
   Dim storedPatchLimit
51
   Dim storedBuildNumberLimit
51
   Dim storedBuildNumberLimit
52
   Dim selectedRippleType
52
   Dim selectedRippleType
53
   selectedRippleType = Request("ripple_type_combo")
53
   selectedRippleType = Request("ripple_type_combo")
54
   Dim enteredMajorLimit
54
   Dim enteredMajorLimit
55
   ' enteredMajorLimit is a string of digits
55
   ' enteredMajorLimit is a string of digits
56
   ' it will be compared with a string representing a NUMBER in the db
56
   ' it will be compared with a string representing a NUMBER in the db
57
   ' use CInt to at least strip leading zeros
57
   ' use CInt to at least strip leading zeros
58
   enteredMajorLimit = CInt(Request("Major"))
58
   enteredMajorLimit = CInt(Request("Major"))
59
   Dim enteredMinorLimit
59
   Dim enteredMinorLimit
60
   enteredMinorLimit = CInt(Request("Minor"))
60
   enteredMinorLimit = CInt(Request("Minor"))
61
   Dim enteredPatchLimit
61
   Dim enteredPatchLimit
62
   enteredPatchLimit = CInt(Request("Patch"))
62
   enteredPatchLimit = CInt(Request("Patch"))
63
   Dim enteredBuildLimit
63
   Dim enteredBuildLimit
64
   enteredBuildLimit = CInt(Request("Build"))
64
   enteredBuildLimit = CInt(Request("Build"))
65
   Query_String = _
65
   Query_String = _
66
    " SELECT ripple_field, major_limit, minor_limit, patch_limit, build_number_limit"&_
66
    " SELECT ripple_field, major_limit, minor_limit, patch_limit, build_number_limit"&_
67
   " FROM package_versions"&_
67
   " FROM package_versions"&_
68
   " WHERE pv_id = "& Request("pv_id")
68
   " WHERE pv_id = "& Request("pv_id")
69
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
69
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
70
   storedRippleType = rsTemp("ripple_field").Value
70
   storedRippleType = rsTemp("ripple_field").Value
71
   storedMajorLimit = rsTemp("major_limit").Value
71
   storedMajorLimit = rsTemp("major_limit").Value
72
 
72
 
73
   If ( IsNull(storedMajorLimit) ) Then
73
   If ( IsNull(storedMajorLimit) ) Then
74
     storedMajorLimit = "0"
74
     storedMajorLimit = "0"
75
   End If
75
   End If
76
 
76
 
77
   storedMinorLimit = rsTemp("minor_limit").Value
77
   storedMinorLimit = rsTemp("minor_limit").Value
78
 
78
 
79
   If ( IsNull(storedMinorLimit) ) Then
79
   If ( IsNull(storedMinorLimit) ) Then
80
     storedMinorLimit = "0"
80
     storedMinorLimit = "0"
81
   End If
81
   End If
82
 
82
 
83
   storedPatchLimit = rsTemp("patch_limit").Value
83
   storedPatchLimit = rsTemp("patch_limit").Value
84
 
84
 
85
   If ( IsNull(storedPatchLimit) ) Then
85
   If ( IsNull(storedPatchLimit) ) Then
86
     storedPatchLimit = "0"
86
     storedPatchLimit = "0"
87
   End If
87
   End If
88
 
88
 
89
   storedBuildNumberLimit = rsTemp("build_number_limit").Value
89
   storedBuildNumberLimit = rsTemp("build_number_limit").Value
90
 
90
 
91
   If ( IsNull(storedBuildNumberLimit) ) Then
91
   If ( IsNull(storedBuildNumberLimit) ) Then
92
     storedBuildNumberLimit = "0"
92
     storedBuildNumberLimit = "0"
93
   End If
93
   End If
94
 
94
 
95
   'normalise for comparison purposes
95
   'normalise for comparison purposes
96
   storedMajorLimit = CInt( storedMajorLimit )
96
   storedMajorLimit = CInt( storedMajorLimit )
97
   storedMinorLimit = CInt( storedMinorLimit )
97
   storedMinorLimit = CInt( storedMinorLimit )
98
   storedPatchlimit = CInt( storedPatchLimit )
98
   storedPatchlimit = CInt( storedPatchLimit )
99
   storedBuildNumberLimit = CInt( storedBuildNumberLimit )
99
   storedBuildNumberLimit = CInt( storedBuildNumberLimit )
100
 
100
 
101
   If (storedRippleType <> selectedRippleType) OR IsNull(storedRippleType) Then
101
   If (storedRippleType <> selectedRippleType) OR IsNull(storedRippleType) Then
102
 
102
 
103
      'update fields
103
      'update fields
104
      rsTemp.Edit()
104
      rsTemp.Edit()
105
      rsTemp.Fields("ripple_field").Value = selectedRippleType
105
      rsTemp.Fields("ripple_field").Value = selectedRippleType
106
      rsTemp.Update()
106
      rsTemp.Update()
107
 
107
 
108
      Dim anotherQry
108
      Dim anotherQry
109
      Set anotherQry = OraDatabase.DbCreateDynaset( "SELECT state_name from ripple_field_states WHERE state_acronym ='"& selectedRippleType &"'", cint(0))
109
      Set anotherQry = OraDatabase.DbCreateDynaset( "SELECT state_name from ripple_field_states WHERE state_acronym ='"& selectedRippleType &"'", cint(0))
110
 
110
 
111
      '/* Log Action */
111
      '/* Log Action */
112
      Call Log_Action ( Request("pv_id"), "ripple_type_update", anotherQry.Fields("state_name").Value )
112
      Call Log_Action ( Request("pv_id"), "ripple_type_update", anotherQry.Fields("state_name").Value )
113
      anotherQry.Close()
113
      anotherQry.Close()
114
      Set anotherQry = nothing
114
      Set anotherQry = nothing
115
   End If
115
   End If
116
 
116
 
117
   If ( storedMajorLimit <> enteredMajorLimit ) Then
117
   If ( storedMajorLimit <> enteredMajorLimit ) Then
118
 
118
 
119
      'update fields
119
      'update fields
120
      rsTemp.Edit()
120
      rsTemp.Edit()
121
      If ( enteredMajorLimit <> "0" ) Then
121
      If ( enteredMajorLimit <> "0" ) Then
122
        rsTemp.Fields("major_limit").Value = enteredMajorLimit
122
        rsTemp.Fields("major_limit").Value = enteredMajorLimit
123
      Else
123
      Else
124
        rsTemp.Fields("major_limit").Value = NULL
124
        rsTemp.Fields("major_limit").Value = NULL
125
      End If
125
      End If
126
      rsTemp.Update()
126
      rsTemp.Update()
127
 
127
 
128
      '/* Log Action */
128
      '/* Log Action */
129
      Call Log_Action ( Request("pv_id"), "major_limit_update", enteredMajorLimit )
129
      Call Log_Action ( Request("pv_id"), "major_limit_update", enteredMajorLimit )
130
   End If
130
   End If
131
 
131
 
132
   If ( storedMinorLimit <> enteredMinorLimit ) Then
132
   If ( storedMinorLimit <> enteredMinorLimit ) Then
133
 
133
 
134
      'update fields
134
      'update fields
135
      rsTemp.Edit()
135
      rsTemp.Edit()
136
      If ( enteredMinorLimit <> "0" ) Then
136
      If ( enteredMinorLimit <> "0" ) Then
137
        rsTemp.Fields("minor_limit").Value = enteredMinorLimit
137
        rsTemp.Fields("minor_limit").Value = enteredMinorLimit
138
      Else
138
      Else
139
        rsTemp.Fields("minor_limit").Value = NULL
139
        rsTemp.Fields("minor_limit").Value = NULL
140
      End If
140
      End If
141
      rsTemp.Update()
141
      rsTemp.Update()
142
 
142
 
143
      '/* Log Action */
143
      '/* Log Action */
144
      Call Log_Action ( Request("pv_id"), "minor_limit_update", enteredMinorLimit )
144
      Call Log_Action ( Request("pv_id"), "minor_limit_update", enteredMinorLimit )
145
   End If
145
   End If
146
 
146
 
147
   If ( storedPatchLimit <> enteredPatchLimit ) Then
147
   If ( storedPatchLimit <> enteredPatchLimit ) Then
148
 
148
 
149
      'update fields
149
      'update fields
150
      rsTemp.Edit()
150
      rsTemp.Edit()
151
      If ( enteredPatchLimit <> "0" ) Then
151
      If ( enteredPatchLimit <> "0" ) Then
152
        rsTemp.Fields("patch_limit").Value = enteredPatchLimit
152
        rsTemp.Fields("patch_limit").Value = enteredPatchLimit
153
      Else
153
      Else
154
        rsTemp.Fields("patch_limit").Value = NULL
154
        rsTemp.Fields("patch_limit").Value = NULL
155
      End If
155
      End If
156
      rsTemp.Update()
156
      rsTemp.Update()
157
 
157
 
158
      '/* Log Action */
158
      '/* Log Action */
159
      Call Log_Action ( Request("pv_id"), "patch_limit_update", enteredPatchLimit )
159
      Call Log_Action ( Request("pv_id"), "patch_limit_update", enteredPatchLimit )
160
   End If
160
   End If
161
 
161
 
162
   If ( storedBuildNumberLimit <> enteredBuildLimit ) Then
162
   If ( storedBuildNumberLimit <> enteredBuildLimit ) Then
163
 
163
 
164
      'update fields
164
      'update fields
165
      rsTemp.Edit()
165
      rsTemp.Edit()
166
      If ( enteredBuildLimit <> "0" ) Then
166
      If ( enteredBuildLimit <> "0" ) Then
167
        rsTemp.Fields("build_number_limit").Value = enteredBuildLimit
167
        rsTemp.Fields("build_number_limit").Value = enteredBuildLimit
168
      Else
168
      Else
169
        rsTemp.Fields("build_number_limit").Value = NULL
169
        rsTemp.Fields("build_number_limit").Value = NULL
170
      End If
170
      End If
171
      rsTemp.Update()
171
      rsTemp.Update()
172
 
172
 
173
      '/* Log Action */
173
      '/* Log Action */
174
      Call Log_Action ( Request("pv_id"), "build_number_limit_update", enteredBuildLimit )
174
      Call Log_Action ( Request("pv_id"), "build_number_limit_update", enteredBuildLimit )
175
   End If
175
   End If
176
 
176
 
177
   rsTemp.Close()
177
   rsTemp.Close()
178
   Set rsTemp = nothing
178
   Set rsTemp = nothing
179
End Sub
179
End Sub
180
'------------------------------------------------------------------------------------------------------------------------------------
180
'------------------------------------------------------------------------------------------------------------------------------------
181
Sub RipplePackage (flag)
181
Sub RipplePackage (flag)
182
 
182
 
183
   OraDatabase.Parameters.Add "PV_ID",   parPv_id,                  ORAPARM_INPUT, ORATYPE_NUMBER
183
   OraDatabase.Parameters.Add "PV_ID",   parPv_id,                  ORAPARM_INPUT, ORATYPE_NUMBER
184
   OraDatabase.Parameters.Add "RTAG_ID", parRtag_id,                ORAPARM_INPUT, ORATYPE_NUMBER
184
   OraDatabase.Parameters.Add "RTAG_ID", parRtag_id,                ORAPARM_INPUT, ORATYPE_NUMBER
185
   OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId,   ORAPARM_INPUT, ORATYPE_NUMBER
185
   OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId,   ORAPARM_INPUT, ORATYPE_NUMBER
186
 
186
 
187
   objEH.TryORA ( OraSession )
187
   objEH.TryORA ( OraSession )
188
   On Error Resume Next
188
   On Error Resume Next
189
 
189
 
190
   If flag Then
190
   If flag Then
191
      OraDatabase.ExecuteSQL _
191
      OraDatabase.ExecuteSQL _
192
      "BEGIN  Ripple_Package( :PV_ID, :RTAG_ID, :USER_ID );  END;"
192
      "BEGIN  Ripple_Package( :PV_ID, :RTAG_ID, :USER_ID );  END;"
193
   Else
193
   Else
194
      OraDatabase.ExecuteSQL _
194
      OraDatabase.ExecuteSQL _
195
      "BEGIN  UnRipple_Package( :PV_ID, :RTAG_ID, :USER_ID );  END;"
195
      "BEGIN  UnRipple_Package( :PV_ID, :RTAG_ID, :USER_ID );  END;"
196
   End If
196
   End If
197
 
197
 
198
   objEH.CatchORA ( OraSession )
198
   objEH.CatchORA ( OraSession )
199
 
199
 
200
   OraDatabase.Parameters.Remove "PV_ID"
200
   OraDatabase.Parameters.Remove "PV_ID"
201
   OraDatabase.Parameters.Remove "RTAG_ID"
201
   OraDatabase.Parameters.Remove "RTAG_ID"
202
   OraDatabase.Parameters.Remove "USER_ID"
202
   OraDatabase.Parameters.Remove "USER_ID"
203
 
203
 
204
End Sub
204
End Sub
205
'------------------------------------------------------------------------------------------------------------------------------------
205
'------------------------------------------------------------------------------------------------------------------------------------
206
Sub Get_Form_Details( nRtag_id, nPv_id, ByRef objDetails )
206
Sub Get_Form_Details( nRtag_id, nPv_id, ByRef objDetails )
207
   Dim rsTemp, Query_String
207
   Dim rsTemp, Query_String
208
   Query_String = _
208
   Query_String = _
209
   " SELECT * "&_
209
   " SELECT * "&_
210
   "  FROM package_versions pv, packages pkg"&_
210
   "  FROM package_versions pv, packages pkg"&_
211
   " WHERE pv.pkg_id = pkg.pkg_id"&_
211
   " WHERE pv.pkg_id = pkg.pkg_id"&_
212
   "   AND pv_id = "& nPv_id
212
   "   AND pv_id = "& nPv_id
213
 
213
 
214
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
214
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
215
   If (NOT rsTemp.BOF ) AND (NOT rsTemp.EOF) Then
215
   If (NOT rsTemp.BOF ) AND (NOT rsTemp.EOF) Then
216
      objDetails.Item("pkg_name")              = rsTemp("pkg_name")
216
      objDetails.Item("pkg_name")              = rsTemp("pkg_name")
217
      objDetails.Item("pkg_version")           = rsTemp("pkg_version")
217
      objDetails.Item("pkg_version")           = rsTemp("pkg_version")
218
      objDetails.Item("pkg_label")             = rsTemp("pkg_label")
218
      objDetails.Item("pkg_label")             = rsTemp("pkg_label")
219
      objDetails.Item("src_path")              = rsTemp("src_path")
219
      objDetails.Item("src_path")              = rsTemp("src_path")
220
      objDetails.Item("pv_description")        = rsTemp("pv_description")
220
      objDetails.Item("pv_description")        = rsTemp("pv_description")
221
      objDetails.Item("pv_overview")           = rsTemp("pv_overview")
221
      objDetails.Item("pv_overview")           = rsTemp("pv_overview")
222
      objDetails.Item("v_ext")                 = rsTemp("v_ext")
222
      objDetails.Item("v_ext")                 = rsTemp("v_ext")
223
      objDetails.Item("is_deployable")         = rsTemp("is_deployable")
223
      objDetails.Item("is_deployable")         = rsTemp("is_deployable")
224
      objDetails.Item("is_build_env_required") = rsTemp("is_build_env_required")
224
      objDetails.Item("is_build_env_required") = rsTemp("is_build_env_required")
225
      objDetails.Item("build_type")            = rsTemp("build_type")
225
      objDetails.Item("build_type")            = rsTemp("build_type")
226
      objDetails.Item("bs_id")                 = rsTemp("bs_id")
226
      objDetails.Item("bs_id")                 = rsTemp("bs_id")
227
      objDetails.Item("ripple_field")          = rsTemp("ripple_field")
227
      objDetails.Item("ripple_field")          = rsTemp("ripple_field")
228
      objDetails.Item("dlocked")               = rsTemp("dlocked")
228
      objDetails.Item("dlocked")               = rsTemp("dlocked")
229
 
229
 
230
      If isNull(rsTemp("major_limit")) Then
230
      If isNull(rsTemp("major_limit")) Then
231
        objDetails.Item("major_limit")         = "0"
231
        objDetails.Item("major_limit")         = "0"
232
      Else
232
      Else
233
        objDetails.Item("major_limit")         = rsTemp("major_limit")
233
        objDetails.Item("major_limit")         = rsTemp("major_limit")
234
      End If
234
      End If
235
      If isNull(rsTemp("minor_limit")) Then
235
      If isNull(rsTemp("minor_limit")) Then
236
        objDetails.Item("minor_limit")         = "0"
236
        objDetails.Item("minor_limit")         = "0"
237
      Else
237
      Else
238
        objDetails.Item("minor_limit")         = rsTemp("minor_limit")
238
        objDetails.Item("minor_limit")         = rsTemp("minor_limit")
239
      End If
239
      End If
240
      If isNull(rsTemp("patch_limit")) Then
240
      If isNull(rsTemp("patch_limit")) Then
241
        objDetails.Item("patch_limit")         = "0"
241
        objDetails.Item("patch_limit")         = "0"
242
      Else
242
      Else
243
        objDetails.Item("patch_limit")         = rsTemp("patch_limit")
243
        objDetails.Item("patch_limit")         = rsTemp("patch_limit")
244
      End If
244
      End If
245
      If isNull(rsTemp("build_number_limit")) Then
245
      If isNull(rsTemp("build_number_limit")) Then
246
        objDetails.Item("build_number_limit")  = "0"
246
        objDetails.Item("build_number_limit")  = "0"
247
      Else
247
      Else
248
        objDetails.Item("build_number_limit")  = rsTemp("build_number_limit")
248
        objDetails.Item("build_number_limit")  = rsTemp("build_number_limit")
249
      End If
249
      End If
250
   End If
250
   End If
251
 
251
 
252
   rsTemp.Close()
252
   rsTemp.Close()
253
   Set rsTemp = Nothing
253
   Set rsTemp = Nothing
254
 
254
 
255
   '
255
   '
256
   '    Release Based Properties
256
   '    Release Based Properties
257
   objDetails.Item("is_sdkpkg") = FALSE
257
   objDetails.Item("is_sdkpkg") = FALSE
258
   If nRtag_id <> "" Then
258
   If nRtag_id <> "" Then
259
       Query_String = _
259
       Query_String = _
260
       " SELECT * "&_
260
       " SELECT * "&_
261
       "  FROM RELEASE_CONTENT rc"&_
261
       "  FROM RELEASE_CONTENT rc"&_
262
       " WHERE rc.rtag_id = " & nRtag_id &_
262
       " WHERE rc.rtag_id = " & nRtag_id &_
263
       " AND pv_id = " & nPv_id
263
       " AND pv_id = " & nPv_id
264
 
264
 
265
       Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
265
       Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
266
       If (NOT rsTemp.BOF ) AND (NOT rsTemp.EOF) Then
266
       If (NOT rsTemp.BOF ) AND (NOT rsTemp.EOF) Then
267
          objDetails.Item("is_sdkpkg")              = (NOT IsNull(rsTemp("sdktag_id")))
267
          objDetails.Item("is_sdkpkg")              = (NOT IsNull(rsTemp("sdktag_id")))
268
       End If
268
       End If
269
       rsTemp.Close()
269
       rsTemp.Close()
270
       Set rsTemp = Nothing
270
       Set rsTemp = Nothing
271
   End If
271
   End If
272
 
272
 
273
End Sub
273
End Sub
274
'----------------------------------------------------------------------------------------------------------------------
274
'----------------------------------------------------------------------------------------------------------------------
275
Sub RenderRippleTypeCombo( cRippleType, cDLocked )
275
Sub RenderRippleTypeCombo( cRippleType, cDLocked )
276
 
276
 
277
   Dim isEditable
277
   Dim isEditable
278
 
278
 
279
   ' DEVI-49267 - ripple type needs to be changeable by team leaders post release so the permission constraint on
279
   ' DEVI-49267 - ripple type needs to be changeable by team leaders post release so the permission constraint on
280
   ' this is relaxed to non-critical info level (See definition of Is_Page_Editable() in common_subs.asp)
280
   ' this is relaxed to non-critical info level (See definition of Is_Page_Editable() in common_subs.asp)
281
   isEditable = Is_Page_Editable ( isDLocked )
281
   isEditable = Is_Page_Editable ( isDLocked )
282
 
282
 
283
   Query_String = "select * from ripple_field_states"
283
   Query_String = "select * from ripple_field_states"
284
 
284
 
285
   If (isEditable) Then
285
   If (isEditable) Then
286
      Response.Write "<select name='ripple_type_combo' id='rtc' class='form_item' onChange='changeToRippleType(this.options[this.selectedIndex].value)'>"
286
      Response.Write "<select name='ripple_type_combo' id='rtc' class='form_item' onChange='changeToRippleType(this.options[this.selectedIndex].value)'>"
287
   Else
287
   Else
288
      Response.Write "<select name='ripple_type_combo' id='rtc' class='form_item' disabled>"
288
      Response.Write "<select name='ripple_type_combo' id='rtc' class='form_item' disabled>"
289
   End If
289
   End If
290
 
290
 
291
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
291
   Set rsTemp = OraDatabase.CreateDynaset( Query_String, cint(0))
292
 
292
 
293
   While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
293
   While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
294
      If cRippleType = rsTemp.Fields("state_acronym") Then
294
      If cRippleType = rsTemp.Fields("state_acronym") Then
295
         Response.write "<option value='"& rsTemp.Fields("state_acronym") &"' selected>"& rsTemp.Fields("state_name") &"</option>"
295
         Response.write "<option value='"& rsTemp.Fields("state_acronym") &"' selected>"& rsTemp.Fields("state_name") &"</option>"
296
      ElseIf IsNull(cRippleType) AND rsTemp.Fields("state_acronym") = "b" Then 'If nothing selected, select Build Number
296
      ElseIf IsNull(cRippleType) AND rsTemp.Fields("state_acronym") = "b" Then 'If nothing selected, select Build Number
297
         Response.write "<option value='"& rsTemp.Fields("state_acronym") &"' selected>"& rsTemp.Fields("state_name") & "</option>"
297
         Response.write "<option value='"& rsTemp.Fields("state_acronym") &"' selected>"& rsTemp.Fields("state_name") & "</option>"
298
      Else
298
      Else
299
         Response.write "<option value='"& rsTemp.Fields("state_acronym") &"'>"& rsTemp.Fields("state_name") & "</option>"
299
         Response.write "<option value='"& rsTemp.Fields("state_acronym") &"'>"& rsTemp.Fields("state_name") & "</option>"
300
      End If
300
      End If
301
      rsTemp.MoveNext
301
      rsTemp.MoveNext
302
   WEnd
302
   WEnd
303
 
303
 
304
   rsTemp.Close()
304
   rsTemp.Close()
305
   Set rsTemp = nothing
305
   Set rsTemp = nothing
306
 
306
 
307
   Response.Write "</select>"
307
   Response.Write "</select>"
308
 
308
 
309
End Sub
309
End Sub
310
'------------------------------------------------------------------------------------------------------------------------------------
310
'------------------------------------------------------------------------------------------------------------------------------------
311
Sub PegPackageVersion (applyPegging)
311
Sub PegPackageVersion (applyPegging)
312
 
312
 
313
   objEH.TryORA ( OraSession )
313
   objEH.TryORA ( OraSession )
314
   On Error Resume Next
314
   On Error Resume Next
315
 
315
 
316
   ' try and clean up the pegged_versions table of any stranded rows (should never happen but this will fix it anyway)
316
   ' try and clean up the pegged_versions table of any stranded rows (should never happen but this will fix it anyway)
317
   ' This means, remove any and all pegging rows whose values are not in an existing release somewhere
317
   ' This means, remove any and all pegging rows whose values are not in an existing release somewhere
318
   OraDatabase.ExecuteSQL _
318
   OraDatabase.ExecuteSQL _
319
   " delete from pegged_versions"&_
319
   " delete from pegged_versions"&_
320
   " where (rtag_id, pv_id) IN ("&_
320
   " where (rtag_id, pv_id) IN ("&_
321
   " select rtag_id, pv_id from pegged_versions"&_
321
   " select rtag_id, pv_id from pegged_versions"&_
322
   " minus"&_
322
   " minus"&_
323
   " select rtag_id, pv_id from release_content)"
323
   " select rtag_id, pv_id from release_content)"
324
 
324
 
325
   If Err.Number = 0 Then
325
   If Err.Number = 0 Then
326
 
326
 
327
      ' Delete the pegging row for the requested RTAG_ID/PV_ID
327
      ' Delete the pegging row for the requested RTAG_ID/PV_ID
328
      OraDatabase.ExecuteSQL _
328
      OraDatabase.ExecuteSQL _
329
      "DELETE FROM PEGGED_VERSIONS WHERE RTAG_ID = " & parRtag_id & " AND PV_ID = " & parPv_id
329
      "DELETE FROM PEGGED_VERSIONS WHERE RTAG_ID = " & parRtag_id & " AND PV_ID = " & parPv_id
330
 
330
 
331
      ' And if the user has requested PEGGING to be turned on then Add the PEGGING
331
      ' And if the user has requested PEGGING to be turned on then Add the PEGGING
332
      If applyPegging = True AND Err.Number = 0 Then
332
      If applyPegging = True AND Err.Number = 0 Then
333
         OraDatabase.ExecuteSQL _
333
         OraDatabase.ExecuteSQL _
334
         "INSERT INTO PEGGED_VERSIONS VALUES(" & parRtag_id & "," & parPv_id & ")"
334
         "INSERT INTO PEGGED_VERSIONS VALUES(" & parRtag_id & "," & parPv_id & ")"
335
      End If
335
      End If
336
 
336
 
337
      If Err.Number = 0 Then
337
      If Err.Number = 0 Then
338
 
338
 
339
         ' Touch the release so that the state icons are re-evaluated
339
         ' Touch the release so that the state icons are re-evaluated
340
         OraDatabase.Parameters.Add "RTAG_ID", parRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
340
         OraDatabase.Parameters.Add "RTAG_ID", parRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
341
 
341
 
342
         OraDatabase.ExecuteSQL "BEGIN Touch_Release( :RTAG_ID ); END;"
342
         OraDatabase.ExecuteSQL "BEGIN Touch_Release( :RTAG_ID ); END;"
343
 
343
 
344
         OraDatabase.Parameters.Remove "RTAG_ID"
344
         OraDatabase.Parameters.Remove "RTAG_ID"
345
      End If
345
      End If
346
   End If
346
   End If
347
 
347
 
348
   objEH.CatchORA ( OraSession )
348
   objEH.CatchORA ( OraSession )
349
 
349
 
350
End Sub
350
End Sub
351
'------------------------------------------------------------------------------------------------------------------------------------
351
'------------------------------------------------------------------------------------------------------------------------------------
352
Sub AdvisoryRipplePackageVersion (applyAdvisoryRipple)
352
Sub AdvisoryRipplePackageVersion (applyAdvisoryRipple)
353
 
353
 
354
   objEH.TryORA ( OraSession )
354
   objEH.TryORA ( OraSession )
355
   On Error Resume Next
355
   On Error Resume Next
356
 
356
 
357
   ' Delete the adv. rip. row for the requested RTAG_ID/PV_ID
357
   ' Delete the adv. rip. row for the requested RTAG_ID/PV_ID
358
   OraDatabase.ExecuteSQL _
358
   OraDatabase.ExecuteSQL _
359
   "DELETE FROM ADVISORY_RIPPLE WHERE RTAG_ID = " & parRtag_id & " AND PV_ID = " & parPv_id
359
   "DELETE FROM ADVISORY_RIPPLE WHERE RTAG_ID = " & parRtag_id & " AND PV_ID = " & parPv_id
360
 
360
 
361
   ' And if the user has requested advisory ripple to be turned on then Add it
361
   ' And if the user has requested advisory ripple to be turned on then Add it
362
   If applyAdvisoryRipple = True AND Err.Number = 0 Then
362
   If applyAdvisoryRipple = True AND Err.Number = 0 Then
363
      OraDatabase.ExecuteSQL _
363
      OraDatabase.ExecuteSQL _
364
      "INSERT INTO ADVISORY_RIPPLE VALUES(" & parRtag_id & "," & parPv_id & ")"
364
      "INSERT INTO ADVISORY_RIPPLE VALUES(" & parRtag_id & "," & parPv_id & ")"
365
   End If
365
   End If
366
 
366
 
367
   If Err.Number = 0 Then
367
   If Err.Number = 0 Then
368
 
368
 
369
      ' Touch the release so that the state icons are re-evaluated
369
      ' Touch the release so that the state icons are re-evaluated
370
      OraDatabase.Parameters.Add "RTAG_ID", parRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
370
      OraDatabase.Parameters.Add "RTAG_ID", parRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
371
 
371
 
372
      OraDatabase.ExecuteSQL "BEGIN Touch_Release( :RTAG_ID ); END;"
372
      OraDatabase.ExecuteSQL "BEGIN Touch_Release( :RTAG_ID ); END;"
373
 
373
 
374
      OraDatabase.Parameters.Remove "RTAG_ID"
374
      OraDatabase.Parameters.Remove "RTAG_ID"
375
   End If
375
   End If
376
 
376
 
377
   objEH.CatchORA ( OraSession )
377
   objEH.CatchORA ( OraSession )
378
 
378
 
379
End Sub
379
End Sub
380
 
380
 
381
'----------------------------------------------------------------------------------------------------------------------
381
'----------------------------------------------------------------------------------------------------------------------
382
%>
382
%>
383
<%
383
<%
384
'------------------------------- RUN BEFORE PAGE RENDER ----------------------------
384
'------------------------------- RUN BEFORE PAGE RENDER ----------------------------
385
 
385
 
386
Call Get_Form_Details( parRtag_id, parPv_id, objFormCollector )
386
Call Get_Form_Details( parRtag_id, parPv_id, objFormCollector )
387
isDLocked = objFormCollector.Item("dlocked")
387
isDLocked = objFormCollector.Item("dlocked")
388
isNotSdk = NOT objFormCollector.Item("is_sdkpkg")
388
isNotSdk = NOT objFormCollector.Item("is_sdkpkg")
389
 
389
 
390
'-------------------------------------
390
'-------------------------------------
391
'Start Process Submission
391
'Start Process Submission
392
If CBool(QStrPar("action"))  AND  objAccessControl.UserLogedIn Then
392
If CBool(QStrPar("action"))  AND  objAccessControl.UserLogedIn Then
393
 
393
 
394
   Call UpdateRippleType()
394
   Call UpdateRippleType()
395
 
395
 
396
 
396
 
397
   ' Changes to DO NOT RIPPLE Status -----------------------------------------
397
   ' Changes to DO NOT RIPPLE Status -----------------------------------------
398
   If NOT CBool(QStrPar("rippleFlag")) AND Request("FRripplebuild") = "1" Then
398
   If NOT CBool(QStrPar("rippleFlag")) AND Request("FRripplebuild") = "1" Then
399
      Call RipplePackage(True)
399
      Call RipplePackage(True)
400
   End If
400
   End If
401
 
401
 
402
   If CBool(QStrPar("rippleFlag")) AND Request("FRripplebuild") = "0" Then
402
   If CBool(QStrPar("rippleFlag")) AND Request("FRripplebuild") = "0" Then
403
      Call RipplePackage(False)
403
      Call RipplePackage(False)
404
   End If
404
   End If
405
 
405
 
406
   ' Changes to PEGGED Status ------------------------------------------------
406
   ' Changes to PEGGED Status ------------------------------------------------
407
   If NOT CBool(QStrPar("peggedFlag")) AND Request("FRpegged") = "1" Then
407
   If NOT CBool(QStrPar("peggedFlag")) AND Request("FRpegged") = "1" Then
408
      Call PegPackageVersion(True)
408
      Call PegPackageVersion(True)
409
   End If
409
   End If
410
 
410
 
411
   If CBool(QStrPar("peggedFlag")) AND Request("FRpegged") = "0" Then
411
   If CBool(QStrPar("peggedFlag")) AND Request("FRpegged") = "0" Then
412
      Call PegPackageVersion(False)
412
      Call PegPackageVersion(False)
413
   End If
413
   End If
414
 
414
 
415
   ' Changes to ADVISORY RIPPLE Status ---------------------------------------
415
   ' Changes to ADVISORY RIPPLE Status ---------------------------------------
416
   If NOT CBool(QStrPar("advRipFlag")) AND Request("FRadvrip") = "1" Then
416
   If NOT CBool(QStrPar("advRipFlag")) AND Request("FRadvrip") = "1" Then
417
      Call AdvisoryRipplePackageVersion(True)
417
      Call AdvisoryRipplePackageVersion(True)
418
   End If
418
   End If
419
 
419
 
420
   If CBool(QStrPar("advRipFlag")) AND Request("FRadvrip") = "0" Then
420
   If CBool(QStrPar("advRipFlag")) AND Request("FRadvrip") = "0" Then
421
      Call AdvisoryRipplePackageVersion(False)
421
      Call AdvisoryRipplePackageVersion(False)
422
   End If
422
   End If
423
 
423
 
424
 
424
 
425
   Call OpenInParentWindow ( "fixed_issues.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_id &"&hidenv=true" )
425
   Call OpenInParentWindow ( "fixed_issues.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_id &"&hidenv=true" )
426
   Call CloseWindow
426
   Call CloseWindow
427
 
427
 
428
End If
428
End If
429
'End Process Submission
429
'End Process Submission
430
'--------------------------------------------------------------------------------------------
430
'--------------------------------------------------------------------------------------------
431
%>
431
%>
432
<html>
432
<html>
433
<head>
433
<head>
434
<title>Release Manager</title>
434
<title>Release Manager</title>
435
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
435
<link rel="shortcut icon" href="<%=FavIcon%>"/>
436
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
436
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
437
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
437
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
438
<link rel="stylesheet" href="images/navigation.css" type="text/css">
438
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
439
<script language="JavaScript" src="images/common.js"></script>
439
<link rel="stylesheet" href="images/navigation.css" type="text/css">
440
<!--#include file="_jquery_includes.asp"-->
440
<script language="JavaScript" src="images/common.js"></script>
441
<!-- TIPS -->
441
<!--#include file="_jquery_includes.asp"-->
442
<script language="JavaScript" src="images/tipster.js"></script>
442
<!-- TIPS -->
443
<script language="JavaScript" src="images/_help_tips.js"></script>
443
<script language="JavaScript" src="images/tipster.js"></script>
444
<script language="JavaScript" type="text/JavaScript">
444
<script language="JavaScript" src="images/_help_tips.js"></script>
445
<!--
445
<script language="JavaScript" type="text/JavaScript">
446
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
446
<!--
447
   if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
447
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
448
      document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
448
   if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
449
   else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
449
      document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
450
}
450
   else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
451
MM_reloadPage(true);
451
}
452
function isNum(passedVal)
452
MM_reloadPage(true);
453
{
453
function isNum(passedVal)
454
  if (passedVal == "")
454
{
455
  {
455
  if (passedVal == "")
456
    return false
456
  {
457
  }
457
    return false
458
  for(i=0; i<passedVal.length; i++)
458
  }
459
  {
459
  for(i=0; i<passedVal.length; i++)
460
    if (passedVal.charAt(i) < "0")
460
  {
461
    {
461
    if (passedVal.charAt(i) < "0")
462
      return false
462
    {
463
    }
463
      return false
464
    if (passedVal.charAt(i) > "9")
464
    }
465
    {
465
    if (passedVal.charAt(i) > "9")
466
      return false
466
    {
467
    }
467
      return false
468
  }
468
    }
469
  return true
469
  }
470
}
470
  return true
471
function valid(form)
471
}
472
{
472
function valid(form)
473
  if (!isNum(rippleproperties.Major.value)) {
473
{
474
    vixAlert("Invalid major number:" + rippleproperties.Major.value)
474
  if (!isNum(rippleproperties.Major.value)) {
475
    return false
475
    vixAlert("Invalid major number:" + rippleproperties.Major.value)
476
  }
476
    return false
477
  if (!isNum(rippleproperties.Minor.value)) {
477
  }
478
    vixAlert("Invalid minor number:" + rippleproperties.Minor.value)
478
  if (!isNum(rippleproperties.Minor.value)) {
479
    return false
479
    vixAlert("Invalid minor number:" + rippleproperties.Minor.value)
480
  }
480
    return false
481
  if (!isNum(rippleproperties.Patch.value)) {
481
  }
482
    vixAlert("Invalid patch number:" + rippleproperties.Patch.value)
482
  if (!isNum(rippleproperties.Patch.value)) {
483
    return false
483
    vixAlert("Invalid patch number:" + rippleproperties.Patch.value)
484
  }
484
    return false
485
  if (!isNum(rippleproperties.Build.value)) {
485
  }
486
    vixAlert("Invalid build number:" + rippleproperties.Build.value)
486
  if (!isNum(rippleproperties.Build.value)) {
487
    return false
487
    vixAlert("Invalid build number:" + rippleproperties.Build.value)
488
  }
488
    return false
489
 
489
  }
490
  return true
490
 
491
}
491
  return true
492
function changeToRippleType(val)
492
}
493
{
493
function changeToRippleType(val)
494
  if ( val.match("L") )
494
{
495
  {
495
  if ( val.match("L") )
496
    document.getElementById("limits_row").style.visibility="visible"
496
  {
497
  }
497
    document.getElementById("limits_row").style.visibility="visible"
498
  else
498
  }
499
  {
499
  else
500
    document.getElementById("limits_row").style.visibility="hidden"
500
  {
501
    document.getElementById("Major").value  = "0"
501
    document.getElementById("limits_row").style.visibility="hidden"
502
    document.getElementById("Minor").value  = "0"
502
    document.getElementById("Major").value  = "0"
503
    document.getElementById("Patch").value  = "0"
503
    document.getElementById("Minor").value  = "0"
504
    document.getElementById("Build").value  = "0"
504
    document.getElementById("Patch").value  = "0"
505
  }
505
    document.getElementById("Build").value  = "0"
506
}
506
  }
507
function loader()
507
}
508
{
508
function loader()
509
  changeToRippleType(document.getElementById("rtc").options[document.getElementById("rtc").selectedIndex].value)
509
{
510
}
510
  changeToRippleType(document.getElementById("rtc").options[document.getElementById("rtc").selectedIndex].value)
511
if (window.addEventListener)
511
}
512
{
512
if (window.addEventListener)
513
  window.addEventListener("load", loader, false)
513
{
514
}
514
  window.addEventListener("load", loader, false)
515
else if (window.attachEvent)
515
}
516
{
516
else if (window.attachEvent)
517
  window.attachEvent("onload", loader)
517
{
518
}
518
  window.attachEvent("onload", loader)
519
else if (document.getElementById)
519
}
520
{
520
else if (document.getElementById)
521
  window.onload=loader
521
{
522
}
522
  window.onload=loader
523
//-->
523
}
524
</script>
524
//-->
525
</head>
525
</script>
526
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
526
</head>
527
<!-- TIPS LAYERS -------------------------------------->
527
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
528
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
528
<!-- TIPS LAYERS -------------------------------------->
529
<!----------------------------------------------------->
529
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
530
<form onSubmit="return valid(this)" name="rippleproperties" id="rp" method="post" action="<%=scriptName%>">
530
<!----------------------------------------------------->
531
   <table width="100%" border="0" cellspacing="0" cellpadding="2" height="100%">
531
<form onSubmit="return valid(this)" name="rippleproperties" id="rp" method="post" action="<%=scriptName%>">
532
      <tr>
532
   <table width="100%" border="0" cellspacing="0" cellpadding="2" height="100%">
533
         <td background="images/lbox_bg_orange.gif" width="1%" height="1%"><img src="icons/i_pkg_ripple_type.gif" width="21" height="21" hspace="5" border="0"></td>
533
      <tr>
534
         <td background="images/lbox_bg_blue.gif" nowrap width="50%" class="wform_ttl">&nbsp;Ripple Properties </td>
534
         <td background="images/lbox_bg_orange.gif" width="1%" height="1%"><img src="icons/i_pkg_ripple_type.gif" width="21" height="21" hspace="5" border="0"></td>
535
         <td background="images/lbox_bg_blue.gif" align="right" width="50%">
535
         <td background="images/lbox_bg_blue.gif" nowrap width="50%" class="wform_ttl">&nbsp;Ripple Properties </td>
536
            <input type="submit" name="btn" value="Submit" class="form_btn_comp">
536
         <td background="images/lbox_bg_blue.gif" align="right" width="50%">
537
            <input type="reset" name="btn" value="Cancel" class="form_btn_comp" onclick="self.close()">
537
            <input type="submit" name="btn" value="Submit" class="form_btn_comp">
538
         </td>
538
            <input type="reset" name="btn" value="Cancel" class="form_btn_comp" onclick="self.close()">
539
         <td background="images/lbox_bg_blue.gif" align="right" width="1%" nowrap>
539
         </td>
540
            <img src="images/h_trsp_dot.gif" width="5" height="22">
540
         <td background="images/lbox_bg_blue.gif" align="right" width="1%" nowrap>
541
         </td>
541
            <img src="images/h_trsp_dot.gif" width="5" height="22">
542
      </tr>
542
         </td>
543
      <tr>
543
      </tr>
544
         <td height="100%" width="1%">&nbsp;</td>
544
      <tr>
545
         <td valign="top" nowrap colspan="3" class="wform_ttl" background="images/bg_form_lightgray.gif">
545
         <td height="100%" width="1%">&nbsp;</td>
546
            <table width="100%" border="0" cellspacing="1" cellpadding="2">
546
         <td valign="top" nowrap colspan="3" class="wform_ttl" background="images/bg_form_lightgray.gif">
547
               <tr>
547
            <table width="100%" border="0" cellspacing="1" cellpadding="2">
548
                  <td width="1%"><img src="images/h_trsp_dot.gif" width="10" height="30"></td>
548
               <tr>
549
                  <td width="1%" nowrap class="form_group" valign="bottom"></td>
549
                  <td width="1%"><img src="images/h_trsp_dot.gif" width="10" height="30"></td>
550
                  <td nowrap width="1%">&nbsp; </td>
550
                  <td width="1%" nowrap class="form_group" valign="bottom"></td>
551
                  <td nowrap width="100%">&nbsp;</td>
551
                  <td nowrap width="1%">&nbsp; </td>
552
               </tr>
552
                  <td nowrap width="100%">&nbsp;</td>
553
               <%If NOT IsNull(parRtag_id) AND parRtag_id <> "" AND isNotSdk Then%>
553
               </tr>
554
               <tr>
554
               <%If NOT IsNull(parRtag_id) AND parRtag_id <> "" AND isNotSdk Then%>
555
                  <td>&nbsp;</td>
555
               <tr>
556
                  <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Pegged Version?<%=Quick_Help ( "pegged_version" )%></td>
556
                  <td>&nbsp;</td>
557
                  <%
557
                  <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Pegged Version?<%=Quick_Help ( "pegged_version" )%></td>
558
                  Dim FRpeggedYES, FRpeggedNO, FRpegDisabled
558
                  <%
559
 
559
                  Dim FRpeggedYES, FRpeggedNO, FRpegDisabled
560
                  FRpeggedYES = ""
560
 
561
                  FRpeggedNO = ""
561
                  FRpeggedYES = ""
562
                  FRpegDisabled = "disabled='disabled'"
562
                  FRpeggedNO = ""
563
 
563
                  FRpegDisabled = "disabled='disabled'"
564
                  ' Allow pegging/un-pegging to occur for locked/released versions only, and by users who have the appropriate permission
564
 
565
                  If (canShowControlInProject( "PegPackageVersions" )) AND isDLocked = "Y" Then
565
                  ' Allow pegging/un-pegging to occur for locked/released versions only, and by users who have the appropriate permission
566
                     FRpegDisabled = ""
566
                  If (canShowControlInProject( "PegPackageVersions" )) AND isDLocked = "Y" Then
567
                  End If
567
                     FRpegDisabled = ""
568
 
568
                  End If
569
                  Dim rsQryPegged, peggedFlag
569
 
570
                  Set rsQryPegged = OraDatabase.DbCreateDynaset( "SELECT COUNT(*) as record_count FROM PEGGED_VERSIONS WHERE RTAG_ID ="& parRtag_id &"AND PV_ID ="& parPv_id, cint(0))
570
                  Dim rsQryPegged, peggedFlag
571
 
571
                  Set rsQryPegged = OraDatabase.DbCreateDynaset( "SELECT COUNT(*) as record_count FROM PEGGED_VERSIONS WHERE RTAG_ID ="& parRtag_id &"AND PV_ID ="& parPv_id, cint(0))
572
                  If rsQryPegged("record_count") = 0  Then
572
 
573
                     FRpeggedNO = "checked"
573
                  If rsQryPegged("record_count") = 0  Then
574
                     peggedFlag = False
574
                     FRpeggedNO = "checked"
575
                  Else
575
                     peggedFlag = False
576
                     FRpeggedYES = "checked"
576
                  Else
577
                     peggedFlag = True
577
                     FRpeggedYES = "checked"
578
                  End If
578
                     peggedFlag = True
579
 
579
                  End If
580
                  rsQryPegged.Close()
580
 
581
                  Set rsQryPegged = nothing
581
                  rsQryPegged.Close()
582
 
582
                  Set rsQryPegged = nothing
583
                  %>
583
 
584
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt" align="right">
584
                  %>
585
                     Yes<input name="FRpegged" type="radio" value="1" <%=FRpegDisabled%> <%=FRpeggedYES%> >&nbsp;&nbsp;
585
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt" align="right">
586
                     No<input name="FRpegged" type="radio" value="0"  <%=FRpegDisabled%> <%=FRpeggedNO%>  >&nbsp;&nbsp;
586
                     Yes<input name="FRpegged" type="radio" value="1" <%=FRpegDisabled%> <%=FRpeggedYES%> >&nbsp;&nbsp;
587
                  </td>
587
                     No<input name="FRpegged" type="radio" value="0"  <%=FRpegDisabled%> <%=FRpeggedNO%>  >&nbsp;&nbsp;
588
                  <td background="images/bg_form_lightbluedark.gif">
588
                  </td>
589
                     <span class='err_alert'><b>WARNING!</span>
589
                  <td background="images/bg_form_lightbluedark.gif">
590
                     <font size='1'>
590
                     <span class='err_alert'><b>WARNING!</span>
591
                        <br>
591
                     <font size='1'>
592
                        When set to Yes, this package version is never rippled in the current release regardless of the other ripple settings below.
592
                        <br>
593
                     </font></b>
593
                        When set to Yes, this package version is never rippled in the current release regardless of the other ripple settings below.
594
                  </td>
594
                     </font></b>
595
               </tr>
595
                  </td>
596
               <%End If%>
596
               </tr>
597
               <%If NOT IsNull(parRtag_id) AND parRtag_id <> "" Then%>
597
               <%End If%>
598
               <tr>
598
               <%If NOT IsNull(parRtag_id) AND parRtag_id <> "" Then%>
599
                  <td>&nbsp;</td>
599
               <tr>
600
                  <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Advisory Ripple Version?<%=Quick_Help ( "advisory_ripple_version" )%></td>
600
                  <td>&nbsp;</td>
601
                  <%
601
                  <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Advisory Ripple Version?<%=Quick_Help ( "advisory_ripple_version" )%></td>
602
                  Dim FRadvripYES, FRadvripNO, FRadvripDisabled
602
                  <%
603
 
603
                  Dim FRadvripYES, FRadvripNO, FRadvripDisabled
604
                  FRadvripYES = ""
604
 
605
                  FRadvripNO = ""
605
                  FRadvripYES = ""
606
                  FRadvripDisabled = "disabled='disabled'"
606
                  FRadvripNO = ""
607
 
607
                  FRadvripDisabled = "disabled='disabled'"
608
                  ' Allow setting of advisory ripple to occur only by users who have the appropriate permission
608
 
609
                  If (canShowControlInProject( "AdvRipPackageVersions" )) AND isDLocked = "Y" Then
609
                  ' Allow setting of advisory ripple to occur only by users who have the appropriate permission
610
                     FRadvripDisabled = ""
610
                  If (canShowControlInProject( "AdvRipPackageVersions" )) AND isDLocked = "Y" Then
611
                  End If
611
                     FRadvripDisabled = ""
612
 
612
                  End If
613
                  Dim rsQryAdvRip, advRipFlag
613
 
614
                  Set rsQryAdvRip = OraDatabase.DbCreateDynaset( "SELECT COUNT(*) as record_count FROM ADVISORY_RIPPLE WHERE RTAG_ID ="& parRtag_id &"AND PV_ID ="& parPv_id, cint(0))
614
                  Dim rsQryAdvRip, advRipFlag
615
 
615
                  Set rsQryAdvRip = OraDatabase.DbCreateDynaset( "SELECT COUNT(*) as record_count FROM ADVISORY_RIPPLE WHERE RTAG_ID ="& parRtag_id &"AND PV_ID ="& parPv_id, cint(0))
616
                  If rsQryAdvRip("record_count") = 0  Then
616
 
617
                     FRadvripNO = "checked"
617
                  If rsQryAdvRip("record_count") = 0  Then
618
                     advRipFlag = False
618
                     FRadvripNO = "checked"
619
                  Else
619
                     advRipFlag = False
620
                     FRadvripYES = "checked"
620
                  Else
621
                     advRipFlag = True
621
                     FRadvripYES = "checked"
622
                  End If
622
                     advRipFlag = True
623
 
623
                  End If
624
                  rsQryAdvRip.Close()
624
 
625
                  Set rsQryAdvRip = nothing
625
                  rsQryAdvRip.Close()
626
 
626
                  Set rsQryAdvRip = nothing
627
                  %>
627
 
628
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt" align="right">
628
                  %>
629
                     Yes<input name="FRadvrip" type="radio" value="1" <%=FRadvripDisabled%> <%=FRadvripYES%> >&nbsp;&nbsp;
629
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt" align="right">
630
                     No<input name="FRadvrip" type="radio" value="0"  <%=FRadvripDisabled%> <%=FRadvripNO%>  >&nbsp;&nbsp;
630
                     Yes<input name="FRadvrip" type="radio" value="1" <%=FRadvripDisabled%> <%=FRadvripYES%> >&nbsp;&nbsp;
631
                  </td>
631
                     No<input name="FRadvrip" type="radio" value="0"  <%=FRadvripDisabled%> <%=FRadvripNO%>  >&nbsp;&nbsp;
632
                  <td background="images/bg_form_lightbluedark.gif">
632
                  </td>
633
                     <span class='err_alert'><b>WARNING!</span>
633
                  <td background="images/bg_form_lightbluedark.gif">
634
                     <font size='1'>
634
                     <span class='err_alert'><b>WARNING!</span>
635
                        <br>
635
                     <font size='1'>
636
                        When set to Yes, a new version of this package will not cause a ripple of higher level packages in the current release.
636
                        <br>
637
                     </font></b>
637
                        When set to Yes, a new version of this package will not cause a ripple of higher level packages in the current release.
638
                  </td>
638
                     </font></b>
639
 
639
                  </td>
640
               </tr>
640
 
641
               <%End If%>
641
               </tr>
642
               <%If NOT IsNull(parRtag_id) AND parRtag_id <> "" Then%>
642
               <%End If%>
643
               <tr>
643
               <%If NOT IsNull(parRtag_id) AND parRtag_id <> "" Then%>
644
                  <td>&nbsp;</td>
644
               <tr>
645
                  <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Build Inclusion?<%=Quick_Help ( "ripple_build" )%></td>
645
                  <td>&nbsp;</td>
646
                  <%
646
                  <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Build Inclusion?<%=Quick_Help ( "ripple_build" )%></td>
647
                  FRripplebuildYES = ""
647
                  <%
648
                  FRripplebuildNO = ""
648
                  FRripplebuildYES = ""
649
                  ' disabled="disabled" indicates the pv has been excluded indirectly
649
                  FRripplebuildNO = ""
650
                  ' this is due to another pv (the root_pv_id) being excluded directly
650
                  ' disabled="disabled" indicates the pv has been excluded indirectly
651
                  ' allowing it to be included is somewhat pointless
651
                  ' this is due to another pv (the root_pv_id) being excluded directly
652
                  ' fixing the root cause is a somewhat better approach
652
                  ' allowing it to be included is somewhat pointless
653
                  Dim disabled
653
                  ' fixing the root cause is a somewhat better approach
654
                  disabled="disabled"
654
                  Dim disabled
655
 
655
                  disabled="disabled"
656
                  Dim rsQryRipple, rippleFlag
656
 
657
                  Set rsQryRipple = OraDatabase.DbCreateDynaset( "SELECT root_pv_id FROM DO_NOT_RIPPLE WHERE RTAG_ID ="& parRtag_id &"AND PV_ID ="& parPv_id, cint(0))
657
                  Dim rsQryRipple, rippleFlag
658
 
658
                  Set rsQryRipple = OraDatabase.DbCreateDynaset( "SELECT root_pv_id FROM DO_NOT_RIPPLE WHERE RTAG_ID ="& parRtag_id &"AND PV_ID ="& parPv_id, cint(0))
659
                  If rsQryRipple.RecordCount = 0  Then
659
 
660
                     FRripplebuildYES = "checked"
660
                  If rsQryRipple.RecordCount = 0  Then
661
                     rippleFlag = True
661
                     FRripplebuildYES = "checked"
662
                     ' do not disable the default
662
                     rippleFlag = True
663
                     disabled=""
663
                     ' do not disable the default
664
                  Else
664
                     disabled=""
665
                     If isNull(rsQryRipple("root_pv_id")) Then
665
                  Else
666
                        ' pv has been excluded directly
666
                     If isNull(rsQryRipple("root_pv_id")) Then
667
                        ' ie has a null pv_id
667
                        ' pv has been excluded directly
668
                        ' once fixed, pv should be included ie do not disable
668
                        ' ie has a null pv_id
669
                        disabled=""
669
                        ' once fixed, pv should be included ie do not disable
670
                     End If
670
                        disabled=""
671
                     FRripplebuildNO = "checked"
671
                     End If
672
                     rippleFlag = False
672
                     FRripplebuildNO = "checked"
673
                  End If
673
                     rippleFlag = False
674
 
674
                  End If
675
                  rsQryRipple.Close()
675
 
676
                  Set rsQryRipple = nothing
676
                  rsQryRipple.Close()
677
 
677
                  Set rsQryRipple = nothing
678
                  %>
678
 
679
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt" align="right">
679
                  %>
680
                     Yes<input name="FRripplebuild" type="radio" value="1" <%=FRripplebuildYES%>  <%=disabled%>>&nbsp;&nbsp;
680
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt" align="right">
681
                     No<input name="FRripplebuild" type="radio" value="0" <%=FRripplebuildNO%>>&nbsp;&nbsp;
681
                     Yes<input name="FRripplebuild" type="radio" value="1" <%=FRripplebuildYES%>  <%=disabled%>>&nbsp;&nbsp;
682
                  </td>
682
                     No<input name="FRripplebuild" type="radio" value="0" <%=FRripplebuildNO%>>&nbsp;&nbsp;
683
                  <td background="images/bg_form_lightbluedark.gif">
683
                  </td>
684
                     <span class='err_alert'><b>WARNING!</span>
684
                  <td background="images/bg_form_lightbluedark.gif">
685
                     <font size='1'>
685
                     <span class='err_alert'><b>WARNING!</span>
686
                        <br>
686
                     <font size='1'>
687
                        When set to No, this package and <u>all</u> packages which depend on this package, either directly or indirectly,<br>
687
                        <br>
688
                        will be excluded from the build. When the Yes option is disabled, indicates this package has been excluded indirectly.
688
                        When set to No, this package and <u>all</u> packages which depend on this package, either directly or indirectly,<br>
689
                     </font></b>
689
                        will be excluded from the build. When the Yes option is disabled, indicates this package has been excluded indirectly.
690
                  </td>
690
                     </font></b>
691
               </tr>
691
                  </td>
692
               <%End If%>
692
               </tr>
693
               <%If isNotSdk Then %>
693
               <%End If%>
694
               <tr>
694
               <%If isNotSdk Then %>
695
                  <td>&nbsp;</td>
695
               <tr>
696
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Ripple Type?<%=Quick_Help ( "ripple_type" )%></td>
696
                  <td>&nbsp;</td>
697
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
697
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Ripple Type?<%=Quick_Help ( "ripple_type" )%></td>
698
                    &nbsp;&nbsp;<% Call RenderRippleTypeCombo( objFormCollector.Item("ripple_field"), isDLocked )%>&nbsp;&nbsp;
698
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt">
699
                  </td>
699
                    &nbsp;&nbsp;<% Call RenderRippleTypeCombo( objFormCollector.Item("ripple_field"), isDLocked )%>&nbsp;&nbsp;
700
                  <td background="images/bg_form_lightbluedark.gif">
700
                  </td>
701
                     <span class='err_alert'><b>WARNING!</span>
701
                  <td background="images/bg_form_lightbluedark.gif">
702
                     <font size='1'>
702
                     <span class='err_alert'><b>WARNING!</span>
703
                        <br>
703
                     <font size='1'>
704
                        This enables a package to advertise how it will be numbered when rippled.<br>
704
                        <br>
705
                        THIS IS PRIMARILY INTENDED TO CATER FOR PACKAGES WHICH DO NOT SUPPORT A NON ZERO PATCH/BUILD NUMBER,<br>
705
                        This enables a package to advertise how it will be numbered when rippled.<br>
706
                        AND FOR PRODUCTS WHERE CONSTANTLY RIPPLING A PATCH/BUILD NUMBER IS DISLIKED BY A CUSTOMER.
706
                        THIS IS PRIMARILY INTENDED TO CATER FOR PACKAGES WHICH DO NOT SUPPORT A NON ZERO PATCH/BUILD NUMBER,<br>
707
                     </font></b>
707
                        AND FOR PRODUCTS WHERE CONSTANTLY RIPPLING A PATCH/BUILD NUMBER IS DISLIKED BY A CUSTOMER.
708
                  </td>
708
                     </font></b>
709
               </tr>
709
                  </td>
710
               <%End If%>
710
               </tr>
711
               <tr id="limits_row" style="visibility:hidden; position:static">
711
               <%End If%>
712
                  <td>&nbsp;</td>
712
               <tr id="limits_row" style="visibility:hidden; position:static">
713
                  <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Version Field Limits</td>
713
                  <td>&nbsp;</td>
714
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt" align="right">
714
                  <td nowrap class="form_field" background="images/bg_form_lightbluedark.gif">Version Field Limits</td>
715
                     Major&nbsp;&nbsp;<input name="Major" id="Major" type="text" class="form_item" size="8" value="<%=objFormCollector.Item("major_limit")%>">&nbsp;&nbsp;<br>
715
                  <td nowrap background="images/bg_form_lightbluedark.gif" class="form_txt" align="right">
716
                     Minor&nbsp;&nbsp;<input name="Minor" id="Minor" type="text" class="form_item" size="8" value="<%=objFormCollector.Item("minor_limit")%>">&nbsp;&nbsp;<br>
716
                     Major&nbsp;&nbsp;<input name="Major" id="Major" type="text" class="form_item" size="8" value="<%=objFormCollector.Item("major_limit")%>">&nbsp;&nbsp;<br>
717
                     Patch&nbsp;&nbsp;<input name="Patch" id="Patch" type="text" class="form_item" size="8" value="<%=objFormCollector.Item("patch_limit")%>">&nbsp;&nbsp;<br>
717
                     Minor&nbsp;&nbsp;<input name="Minor" id="Minor" type="text" class="form_item" size="8" value="<%=objFormCollector.Item("minor_limit")%>">&nbsp;&nbsp;<br>
718
                     Build&nbsp;&nbsp;<input name="Build" id="Build" type="text" class="form_item" size="8" value="<%=objFormCollector.Item("build_number_limit")%>">&nbsp;&nbsp;
718
                     Patch&nbsp;&nbsp;<input name="Patch" id="Patch" type="text" class="form_item" size="8" value="<%=objFormCollector.Item("patch_limit")%>">&nbsp;&nbsp;<br>
719
                  </td>
719
                     Build&nbsp;&nbsp;<input name="Build" id="Build" type="text" class="form_item" size="8" value="<%=objFormCollector.Item("build_number_limit")%>">&nbsp;&nbsp;
720
                  <td background="images/bg_form_lightbluedark.gif">
720
                  </td>
721
                     <span class='err_alert'><b>WARNING!</span>
721
                  <td background="images/bg_form_lightbluedark.gif">
722
                     <font size='1'>
722
                     <span class='err_alert'><b>WARNING!</span>
723
                        <br>
723
                     <font size='1'>
724
                        A field (major/minor/patch/build number) may be assigned non zero limits to determine how it will be numbered when rippled.<br>
724
                        <br>
725
                        Prior to reaching a limit, the rightmost field able to be incremented will be when rippled.<br>
725
                        A field (major/minor/patch/build number) may be assigned non zero limits to determine how it will be numbered when rippled.<br>
726
                        Upon reaching a limit, that rightmost field will be set to zero and the field next left with a non zero limit (if one exists) will be incremented when rippled.<br>
726
                        Prior to reaching a limit, the rightmost field able to be incremented will be when rippled.<br>
727
                        A field may be assigned to zero to fix the field (to 0 or 000 for the build number field) when rippled.
727
                        Upon reaching a limit, that rightmost field will be set to zero and the field next left with a non zero limit (if one exists) will be incremented when rippled.<br>
728
                     </font></b>
728
                        A field may be assigned to zero to fix the field (to 0 or 000 for the build number field) when rippled.
729
                  </td>
729
                     </font></b>
730
               </tr>
730
                  </td>
731
               <tr>
731
               </tr>
732
                  <td>&nbsp;</td>
732
               <tr>
733
                  <td nowrap class="form_field"><img src="images/h_trsp_dot.gif" width="100" height="10"></td>
733
                  <td>&nbsp;</td>
734
                  <td nowrap> <p>&nbsp;</p></td>
734
                  <td nowrap class="form_field"><img src="images/h_trsp_dot.gif" width="100" height="10"></td>
735
                  <td nowrap>&nbsp;</td>
735
                  <td nowrap> <p>&nbsp;</p></td>
736
               </tr>
736
                  <td nowrap>&nbsp;</td>
737
            </table>
737
               </tr>
738
        </td>
738
            </table>
739
      </tr>
739
        </td>
740
      <tr>
740
      </tr>
741
         <td height="1%" width="1%"><img src="images/h_trsp_dot.gif" width="5" height="5"></td>
741
      <tr>
742
         <td valign="top" nowrap colspan="3" class="wform_ttl" background="images/lbox_bg_blue.gif"></td>
742
         <td height="1%" width="1%"><img src="images/h_trsp_dot.gif" width="5" height="5"></td>
743
      </tr>
743
         <td valign="top" nowrap colspan="3" class="wform_ttl" background="images/lbox_bg_blue.gif"></td>
744
   </table>
744
      </tr>
745
<input type="hidden" name="pv_id" value="<%=parPv_id%>">
745
   </table>
746
<input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
746
<input type="hidden" name="pv_id" value="<%=parPv_id%>">
747
<input type="hidden" name="rippleFlag" value="<%=rippleFlag%>">
747
<input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
748
<input type="hidden" name="peggedFlag" value="<%=peggedFlag%>">
748
<input type="hidden" name="rippleFlag" value="<%=rippleFlag%>">
749
<input type="hidden" name="advRipFlag" value="<%=advRipFlag%>">
749
<input type="hidden" name="peggedFlag" value="<%=peggedFlag%>">
750
<input type="hidden" name="action" value="true">
750
<input type="hidden" name="advRipFlag" value="<%=advRipFlag%>">
751
</form>
751
<input type="hidden" name="action" value="true">
752
</body>
752
</form>
753
</html>
753
</body>
754
<%
754
</html>
755
'------------- RUN AFTER PAGE RENDER ---------------
755
<%
756
Set objFormCollector = Nothing
756
'------------- RUN AFTER PAGE RENDER ---------------
757
'---------------------------------------------------
757
Set objFormCollector = Nothing
758
%>
758
'---------------------------------------------------
759
 
759
%>
760
<!-- DESTRUCTOR ------->
760
 
761
<!--#include file="common/destructor.asp"-->
761
<!-- DESTRUCTOR ------->
-
 
762
<!--#include file="common/destructor.asp"-->