Subversion Repositories DevTools

Rev

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