Subversion Repositories DevTools

Rev

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