Subversion Repositories DevTools

Rev

Rev 5590 | Rev 5671 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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