Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
119 ghuddy 1
<%
2
'=====================================================
151 ghuddy 3
'                 NEW VERSION
4
'                      PAGE
119 ghuddy 5
'=====================================================
6
%>
7
<!--#include file="_tabs.asp"-->
121 hknight 8
<!--#include file="_drawExtensionSelectBox.asp"-->
151 ghuddy 9
<!--#include file="class/classSortHelper.asp"-->
3959 dpurdie 10
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
11
<script type="text/javascript" src="scripts/json2.js"></script>
119 ghuddy 12
<%
13
'------------ Variable Definition -------------
14
Dim parPv_id
15
Dim rsLocRel
16
Dim parPage_title
17
Dim objPkgInfo
121 hknight 18
Dim rsTemp2
151 ghuddy 19
Dim rsLatest
20
Dim aVersions
21
Dim lastRow, i
22
Dim objSortHelper
3959 dpurdie 23
Dim newPackage
24
Dim majorState
25
Dim minorState
26
Dim patchState
27
Dim parBase_view_id
28
Dim verNumber
29
Dim parPkgName
30
 
119 ghuddy 31
'------------ Constants Declaration -----------
32
'------------ Variable Init -------------------
33
parPv_id = QStrPar("pv_id")
3959 dpurdie 34
parBase_view_id = Request("base_view_id")
35
parPkgName = QStrPar("pkgName")
36
 
119 ghuddy 37
parPage_title = "NEW VERSION"
3959 dpurdie 38
 
39
If ( parPkgName <> "" ) Then
40
    newPackage = 1
41
    parPv_id = NULL
42
Else
43
    newPackage = 0
44
End if
45
 
46
majorState = ""
47
minorState = ""
48
patchState = "checked"
49
 
119 ghuddy 50
Set objPkgInfo = CreateObject("Scripting.Dictionary")
3959 dpurdie 51
 
119 ghuddy 52
'-----------------------------------------------------------------------------------------------------------------------------
53
Sub GetPackageInfo( nPvId, outPkgInfo )
151 ghuddy 54
   Dim rsTemp, Query_String
3959 dpurdie 55
   If (IsEmpty(nPvId) OR newPackage > 0) Then Exit Sub
121 hknight 56
 
151 ghuddy 57
   Query_String = _
58
   " SELECT pv.pv_id, pkg.pkg_id, pkg.pkg_name, pv.pkg_version, pv.v_ext"&_
59
   "  FROM packages pkg, package_versions pv"&_
60
   " WHERE pkg.pkg_id = pv.pkg_id  AND pv.pv_id ="& nPvId
121 hknight 61
 
151 ghuddy 62
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
121 hknight 63
 
151 ghuddy 64
   If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
65
      outPkgInfo.Item("pv_id") = rsTemp.Fields("pv_id")
66
      outPkgInfo.Item("pkg_id") = rsTemp.Fields("pkg_id")
67
      outPkgInfo.Item("pkg_name") = rsTemp.Fields("pkg_name")
68
      outPkgInfo.Item("pkg_version") = rsTemp.Fields("pkg_version")
3959 dpurdie 69
      if rsTemp.Fields("v_ext") <> "" Then
70
        outPkgInfo.Item("v_ext") = rsTemp.Fields("v_ext")
71
      Else
72
        outPkgInfo.Item("v_ext") = ""
73
      End If
151 ghuddy 74
   End If
121 hknight 75
 
151 ghuddy 76
   rsTemp.Close
77
   Set rsTemp = nothing
119 ghuddy 78
End Sub
3959 dpurdie 79
 
119 ghuddy 80
'-----------------------------------------------------------------------------------------------------------------------------
151 ghuddy 81
Function Get_Latest_All_Ext ( NNpkg_id, nPv_id )
82
	Get_Latest_All_Ext = _
83
	" SELECT pv.pkg_version, pv.dlocked,"&_
84
	"        DECODE ( pv.pv_id, "& nPv_id &", 'selected', NULL ) AS selected"&_
85
	"    FROM PACKAGES pkg, package_versions pv"&_
86
	"   WHERE pkg.pkg_id = pv.pkg_id  AND  pkg.pkg_id = "& NNpkg_id
87
End Function
165 brianf 88
 
89
'-------------------------------------------------------------------------------------------------------------
3959 dpurdie 90
' Returns TRUE if the specified version has a COTS extension
91
' Really determines if the extension has to be strict Major.Minor.PatchBuild
92
' or is allowed to be more relaxes. As in COTS and TOOL packages.
93
'
94
' Read from the database to determine type
95
' If we cannot determine the project suffix then assume the worst
96
'
97
Function HasCotsExtension(aExt)
98
   Dim rsQry, Query_String
99
   HasCotsExtension = FALSE
100
 
101
   if aExt <> "" Then
102
       Query_String = "SELECT EXT_NAME FROM PROJECT_EXTENTIONS pe WHERE " &_
103
                      "pe.IS_COTS='Y' AND pe.EXT_NAME='" & LCase(aExt) & "'"
104
       Set rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT )
105
       If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
106
           HasCotsExtension = TRUE
107
       End If
108
       rsQry.Close
109
   Else
110
       HasCotsExtension = TRUE
111
   end If
112
   Set rsQry = Nothing
113
 
165 brianf 114
End Function
115
 
116
'-------------------------------------------------------------------------------------------------------------
117
'Returns TRUE if the specified version has a patch-build number.
118
Function HasPatchBuildNumber(aversion)
119
   'test for a version with a patch build number, ie a dot and at least 4 digits before the extenstion.
120
   Dim re: Set re = New RegExp
121
   re.Pattern = "\.\d{4,}\.[^\.]+$"
122
   HasPatchBuildNumber = re.Test(aversion)
123
   Set re = Nothing      
124
End Function
125
 
3959 dpurdie 126
'-------------------------------------------------------------------------------------------------------------
127
'Returns TRUE if the specified version has a well formed version number
128
Function HasWellFormedVersion(aversion)
129
   'If a package has a major.minor.patch-build number then it is well formed
130
   Dim re: Set re = New RegExp
131
   re.Pattern = "^\d+\.\d+\.\d{4,}\.[^\.]+$"
132
   HasWellFormedVersion = re.Test(aversion)
133
   Set re = Nothing      
134
End Function
135
 
151 ghuddy 136
'-----------------------------------------------------------------------------------------------------------------------------
3959 dpurdie 137
Sub Get_All_Base_Views ( NNnewgroup_id )
138
   Dim rsTemp, Query_String
139
 
140
   Query_String = _
141
   "   SELECT vi.view_id, vi.view_name "&_
142
   "     FROM views vi "&_
143
   "    WHERE UPPER(vi.base_view) = 'Y'"&_
144
   "    ORDER BY vi.view_name ASC"
145
 
146
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
147
 
148
   While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
149
      If NNnewgroup_id = Cstr( rsTemp.Fields("view_id")) Then
150
         Response.write "<option value='"& rsTemp("view_id") &"' selected>"& rsTemp("view_name") &"</option>"
151
      Else
152
         Response.write "<option value='"& rsTemp("view_id") &"'>" & rsTemp("view_name") &"</option>"
153
      End If
154
 
155
      rsTemp.MoveNext
156
   WEnd
157
 
158
   rsTemp.Close
159
   Set rsTemp = nothing
160
End Sub
161
'-----------------------------------------------------------------------------------------------------------------------------
162
Sub Get_All_Personal_Views ( NNuser_id )
163
   Dim rsTemp, Query_String
164
   If NNuser_id = "" Then Exit Sub
165
 
166
   Query_String = _
167
   " SELECT vi.view_id, vi.view_name"&_
168
   "  FROM view_settings vs,"&_
169
   "       views vi"&_
170
   " WHERE vs.view_id = vi.view_id"&_
171
   "   AND vs.user_id = vi.owner_id  "&_
172
   "   AND vs.user_id = "& NNuser_id &_
173
   "   AND vi.base_view = 'N'"&_
174
   " ORDER BY UPPER(vi.view_name)"
175
 
176
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
177
 
178
   While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
179
      Response.write "<option value='"& rsTemp.Fields("view_id") &"'>"& rsTemp.Fields("view_name") &"</option>"
180
 
181
      rsTemp.MoveNext
182
   WEnd
183
 
184
   rsTemp.Close
185
   Set rsTemp = nothing
186
End Sub
187
'-----------------------------------------------------------------------------------------------------------------------------
188
 
119 ghuddy 189
%>
190
<%
191
'===================== MAIN LINE ============================
3959 dpurdie 192
Dim bDisableAuto, bPatchOnly, bIsCots, bIsAuto
151 ghuddy 193
 
3959 dpurdie 194
If NOT (newPackage > 0 ) Then
195
    Call GetPackageInfo( parPv_id, objPkgInfo )
196
    parPkgName = objPkgInfo.Item("pkg_name")
165 brianf 197
 
3959 dpurdie 198
    ' Extract version number without extension
199
    verNumber = objPkgInfo.Item("pkg_version")
200
    verNumber = Mid( verNumber,1, Len(verNumber) - Len(objPkgInfo.Item("v_ext")))
201
 
202
    bIsCots = HasCotsExtension(objPkgInfo.Item("v_ext"))
203
    'Disable the "Auto" build option if the package is a COTS package and the version doesn't have a patch-build number.
204
    bDisableAuto = bIsCots and not HasPatchBuildNumber(objPkgInfo.Item("pkg_version"))
205
    'Enable only the "Patch Change" option if the package is a COTS package and the version has a patch-build number.
206
    bPatchOnly = bIsCots and not HasWellFormedVersion(objPkgInfo.Item("pkg_version")) and HasPatchBuildNumber(objPkgInfo.Item("pkg_version"))
207
 
208
    'if "Auto" build option is disabled then select the Manual option
209
    bIsAuto = NOT bDisableAuto
210
 
211
Else
212
    ' If New Package and First version
213
    parPage_title = "NEW PACKAGE and FIRST VERSION"
214
    bIsCots = FALSE
215
    bDisableAuto = FALSE
216
    bPatchOnly = FALSE
217
    bIsAuto = TRUE
218
    majorState = "checked"
219
    minorState = ""
220
    patchState = ""
221
    verNumber = "1.0.0000"
151 ghuddy 222
End If
3959 dpurdie 223
 
119 ghuddy 224
'============================================================
225
%>
226
<script language="JavaScript" type="text/JavaScript">
227
<!--
3959 dpurdie 228
var savedVersion;
229
var fieldError;
230
var checkMode;
121 hknight 231
 
3959 dpurdie 232
window.onload = function(e)
233
{
234
   // Init checking mode
235
   //   0 - Checking options one at a time
236
   //       Clear Error display before checking
237
   //
238
   //   1 - Checking before submit
239
   //       Accumulate error messages
240
   //
241
   checkMode = 0;
121 hknight 242
 
3959 dpurdie 243
   savedVersion = "<%=verNumber%>";
244
   document.getElementById('FRvnumber').value = savedVersion;
121 hknight 245
 
151 ghuddy 246
   var isAutobuild = document.NEWversion.build_type[0].checked;
247
   if (!isAutobuild)
248
   {
3959 dpurdie 249
      changeToManualVersionNumberAssignment();
151 ghuddy 250
   }
3959 dpurdie 251
   else
252
   {
253
      changeToAutoVersionNumberAssignment();
254
   }
255
   checkPackage();
256
   checkBaseView();
151 ghuddy 257
 
3959 dpurdie 258
   // Hide error message
4028 dpurdie 259
   setIdText('eMessage','');
119 ghuddy 260
}
121 hknight 261
 
4028 dpurdie 262
function setIdText(id, text) {
263
    var element = document.getElementById(id);
264
    if ( element ) {
265
    while (element.firstChild!==null)
266
        element.removeChild(element.firstChild); // remove all existing content
267
    element.appendChild(document.createTextNode(text));
268
    }
269
}
270
 
121 hknight 271
//////////////////////////////////////////////////////////////////
3959 dpurdie 272
// Function: changeToAutoVersionNumberAssignment
121 hknight 273
//
3959 dpurdie 274
// Purpose: Hide the relevent sections of the form
121 hknight 275
//
3959 dpurdie 276
function changeToAutoVersionNumberAssignment()
121 hknight 277
{
3959 dpurdie 278
   document.getElementById('change_type').style.display = 'table-row';
279
   //document.getElementById('pkgver').style.display = 'none';
280
   savedVersion = document.getElementById('FRvnumber').value;
281
   document.getElementById('FRvnumber').disabled = true;
282
   document.getElementById('FRvnumber').value = '(auto)';
283
   checkVersionNumber();
121 hknight 284
}
285
 
286
//////////////////////////////////////////////////////////////////
3959 dpurdie 287
// Function: changeToManualVersionNumberAssignment
121 hknight 288
//
3959 dpurdie 289
// Purpose: Show the relevent sections of the form
121 hknight 290
//
3959 dpurdie 291
function changeToManualVersionNumberAssignment()
121 hknight 292
{
3959 dpurdie 293
   document.getElementById('change_type').style.display = 'none';
294
   //document.getElementById('pkgver').style.display = 'table-row';
295
   document.getElementById('FRvnumber').disabled = false;
296
   document.getElementById('FRvnumber').value = savedVersion;
297
   checkVersionNumber();
298
}
121 hknight 299
 
3959 dpurdie 300
function checkPackage()
301
{
302
    var f = document.getElementById('NEWversion');
303
    if ( f.newPackage.value > 0 )
304
    {
305
        reseteMessage();
306
        MM_validateForm("--Silent",'FRpkgName','Package Name','RisPackage');
307
        checkPackageHighlight( ! document.MM_returnValue, 'Name well formed', 'Invalid Characters in name');
308
        if ( ! document.MM_returnValue ) return;
121 hknight 309
 
3959 dpurdie 310
        xmlHttp=GetXmlHttpObject(checkPackageDone);
311
        if (xmlHttp==null)
312
        {
313
          alert ("Your browser does not support AJAX!");
314
          return;
315
        }
316
 
317
        var url = "_json_checkPackage.asp?"
318
                + "packageName=" + document.getElementById('FRpkgName').value
319
                + "&Opr=checkName";
320
 
321
        MM_showProgressBar();
322
        xmlHttp.open("GET",url,false);  // `false` makes the request synchronous
323
        xmlHttp.send(null);
324
    }
121 hknight 325
}
326
 
3959 dpurdie 327
function checkPackageDone()
328
{
329
    //readyState of 4 or 'complete' represents that data has been returned
330
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){
331
        //alert("Got to checkPackageDone"+ xmlHttp.responseText);
121 hknight 332
 
3959 dpurdie 333
        //Gather the results from the callback
334
        var str = xmlHttp.responseText;
4062 dpurdie 335
        try {
336
            var myJson = JSON.parse(str);
337
            checkPackageHighlight( myJson.result != 0, 'Name is unused', 'Package Exists');
338
        }
339
        catch(e) {
340
            checkPackageHighlight( 1, '','Error in AJAX operation');
341
        }
3959 dpurdie 342
        MM_hideProgressBar();
343
    }
344
}
345
 
346
function checkPackageHighlight(v, msggood, msgbad)
121 hknight 347
{
3959 dpurdie 348
    if (v)
349
    {
4028 dpurdie 350
        setIdText('cpError',msgbad);
3959 dpurdie 351
        addClass(document.getElementById('FRpkgName'), 'form_error' );
352
        showeMessage(document.MM_error);
353
        fieldError = true;
354
    }
355
    else
356
    {
4028 dpurdie 357
        setIdText('cpError',msggood);
3959 dpurdie 358
        removeClass(document.getElementById('FRpkgName'), 'form_error' );
359
    }
121 hknight 360
}
361
 
3959 dpurdie 362
function checkBaseView()
363
{
364
    var f = document.getElementById('NEWversion');
365
    if ( f.newPackage.value > 0 )
366
    {
367
        reseteMessage();
368
        MM_validateForm("--Silent",'base_view_id','Base View','R');
369
        if ( ! document.MM_returnValue )
370
        {
371
            addClass(document.getElementById('base_view_id'), 'form_error' );
4028 dpurdie 372
            setIdText('bvError','Required');
3959 dpurdie 373
            fieldError = true;
374
        }
375
        else
376
        {
377
            removeClass(document.getElementById('base_view_id'), 'form_error' );
4028 dpurdie 378
            setIdText('bvError','');
3959 dpurdie 379
        }
380
    }
381
}
121 hknight 382
 
3959 dpurdie 383
function checkVersionNumber()
151 ghuddy 384
{
3959 dpurdie 385
   reseteMessage();
386
   if (document.NEWversion.build_type[0].checked)
387
   {
388
        removeClass(document.getElementById('FRvnumber'), 'form_error' );
4028 dpurdie 389
        setIdText('vnError','');
390
 
391
        var versionExt = document.all['v_ext'].value;
392
        document.all['FRnewver'].value = versionExt;
3959 dpurdie 393
   }
394
   else
395
   {
396
        // Get Full version - store into hidden field processing
397
        var versionExt = document.all['v_ext'].value;
398
        var versionBase = document.all['FRvnumber'].value;
399
        document.all['FRnewver'].value = versionBase + versionExt;
400
 
401
        // check the version number is good
402
        MM_validateForm("--Silent",{vBase:versionBase, vExt:versionExt},'Version Number','RisVersionNumber');
403
        if ( ! document.MM_returnValue )
404
        {
405
            addClass(document.getElementById('FRvnumber'), 'form_error' );
4028 dpurdie 406
            setIdText('vnError','Invalid form');
3959 dpurdie 407
            showeMessage(document.MM_error);
408
            fieldError = true;
409
            return;
410
        }
411
 
412
        xmlHttp=GetXmlHttpObject(checkVersionExistsDone);
413
        if (xmlHttp==null)
414
        {
415
            alert ("Your browser does not support AJAX!");
416
            return;
417
        }
418
 
419
        var url = "_json_checkPackage.asp?"
420
                + "packageName=" + document.getElementById('FRpkgName').value
421
                + "&Version=" + document.all['FRvnumber'].value + document.all['v_ext'].value
422
                + "&Opr=checkVer";
423
 
424
        MM_showProgressBar();
425
        xmlHttp.open("GET",url,false);  // `false` makes the request synchronous
426
        xmlHttp.send(null);
427
    }
151 ghuddy 428
}
429
 
3959 dpurdie 430
function checkVersionExistsDone()
121 hknight 431
{
3959 dpurdie 432
    //readyState of 4 or 'complete' represents that data has been returned
433
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){
434
 
435
        //Gather the results from the callback
4062 dpurdie 436
        var myJson;
3959 dpurdie 437
        var str = xmlHttp.responseText;
4062 dpurdie 438
        try {
439
            myJson = JSON.parse(str);
440
        }
441
        catch(e) {
442
            myJson = {};
443
            myJson.error = 2;
444
            myJson.emsgSummary = e.message;
445
            myJson.SqlQry = '';
446
        }
3959 dpurdie 447
 
448
        if(myJson.error)
449
        {
4062 dpurdie 450
            addClass(document.getElementById('FRvnumber'), 'form_error' );
451
            setIdText('vnError','Error in AJAX operation');
3959 dpurdie 452
            showeMessage(myJson.emsgSummary);
453
            fieldError = true;
454
        }
4062 dpurdie 455
        else if(myJson.result != 0)
3959 dpurdie 456
        {
457
            addClass(document.getElementById('FRvnumber'), 'form_error' );
4028 dpurdie 458
            setIdText('vnError','Exists');
3959 dpurdie 459
            showeMessage('Version already exists');
460
            fieldError = true;
461
        }
462
        else
463
        {
464
            removeClass(document.getElementById('FRvnumber'), 'form_error' );
4028 dpurdie 465
            setIdText('vnError','');
3959 dpurdie 466
        }
467
        MM_hideProgressBar();
468
    }
121 hknight 469
}
470
 
3959 dpurdie 471
function checkReason()
472
{
473
   reseteMessage();
474
    MM_validateForm("--Silent",'FRreason','Reason for This Version','maxLength:4000');
475
    if ( ! document.MM_returnValue )
476
    {
477
        addClass(document.getElementById('FRreason'), 'form_error' );
4028 dpurdie 478
        //setIdText('frError','Too Long');
479
 
3959 dpurdie 480
        showeMessage(document.MM_error);
481
        fieldError = true;
482
    }
483
    else
484
    {
485
        removeClass(document.getElementById('FRreason'), 'form_error' );
4028 dpurdie 486
        //setIdText('frError','');
3959 dpurdie 487
    }
488
}
151 ghuddy 489
 
3959 dpurdie 490
function reseteMessage()
491
{
492
    if (checkMode == 0 )
493
    {
4028 dpurdie 494
        setIdText('eMessage','');
3959 dpurdie 495
    }
496
}
497
 
498
function showeMessage(msg)
499
{
500
    var omsg;
501
    if (checkMode == 1 )
502
    {
503
        omsg = document.getElementById("eMessage").innerText;
504
        if ( omsg.length > 0 )
505
            omsg += '\n';
506
    }
507
    else
508
    {
509
        omsg = "";
510
    }
511
    omsg += msg;
4028 dpurdie 512
    setIdText('eMessage',omsg);
3959 dpurdie 513
}
514
 
121 hknight 515
// Do not remove these next few lines, otherwise the page does not load properly in Microsoft IE.
119 ghuddy 516
//-->
517
</script>
518
 
519
<script>
121 hknight 520
 
521
 
119 ghuddy 522
function Dependency()
523
{
3959 dpurdie 524
<%If newPackage > 0 Then%>
525
   parent.window.location.href="dependencies.asp?rtag_id=<%=parRtag_id%>";
526
<%Else%>
151 ghuddy 527
   parent.window.location.href="dependencies.asp?rtag_id=<%=parRtag_id%>&pv_id=<%=parPv_id%>";
3959 dpurdie 528
<%End If%>
119 ghuddy 529
}
121 hknight 530
 
151 ghuddy 531
////////////////////////////////////////////////////////////////////////////////////////////////////////
532
// This function returns true if form validation passes, else false
533
// It is called when a user hits the submit button.
534
////////////////////////////////////////////////////////////////////////////////////////////////////////
3959 dpurdie 535
 
151 ghuddy 536
function validateFormNEWversion()
537
{
3959 dpurdie 538
    var f = document.getElementById('NEWversion');
121 hknight 539
 
3959 dpurdie 540
    if (f == null)
541
        alert('Failed To Get NEWversion');   // should never happen unless a coding/rendering mistake is made?
542
    else
543
    {
4028 dpurdie 544
        setIdText('eMessage','');
3959 dpurdie 545
        fieldError = false;
546
        checkMode = 1;
547
        checkPackage();
548
        checkBaseView();
549
        checkVersionNumber();
550
        checkReason();
551
        if (!fieldError)
552
        {
553
            MM_showProgressBar();
151 ghuddy 554
            f.action='_new_version.asp';
555
            parent.window.location.href='dependencies.asp?rtag_id=<%=parRtag_id%>&pv_id=<%=parPv_id%>';
3959 dpurdie 556
            return true;
557
        }
558
    }
151 ghuddy 559
 
3959 dpurdie 560
    // Hide progress bar that is exposed because the previous tests were OK
561
    MM_hideProgressBar();
562
    checkMode = 0;
563
    return false;
121 hknight 564
}
151 ghuddy 565
 
119 ghuddy 566
</script>
567
 
568
<table width="650" border="0" cellspacing="0" cellpadding="0">
151 ghuddy 569
   <tr>
570
      <td>
571
         <table width="100%" border="0" cellspacing="0" cellpadding="0">
572
            <tr>
573
               <td width="1%">&nbsp;</td>
574
               <td align="right"><img src="images/h_trsp_dot.gif" width="30" height="30"></td>
575
               <td width="1%">&nbsp;</td>
576
            </tr>
577
            <tr>
578
               <td width="1%">&nbsp;</td>
579
               <td>
580
                  <table width="100%" border="0" cellspacing="0" cellpadding="0">
581
                     <tr>
582
                        <td nowrap class="form_ttl"><%=parPage_title%></td>
583
                        <td align="right" valign="bottom">
584
                           <!-- TABS -->
585
                           &nbsp;
586
                        </td>
587
                     </tr>
588
                  </table>
589
               </td>
590
               <td width="1%">&nbsp;</td>
591
            </tr>
592
            <tr>
593
               <td align="left" valign="top" width="1%" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
594
               <td background="images/lbox_bg_blue.gif"><!-- Heading --><img src="images/h_trsp_dot.gif" width="1" height="20"><!-- END Heading --></td>
595
               <td align="right" valign="top" width="1%" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
596
            </tr>
597
            <tr>
598
               <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
599
               <td bgcolor="#FFFFFF" valign="top">
600
                  <!-- Body -->
601
                  <table width="100%" border="0" cellspacing="1" cellpadding="2">
602
                     <form id="NEWversion"  name="NEWversion" method="post">
603
                        <tr>
604
                           <td width="1%"><img src="images/h_trsp_dot.gif" width="1" height="10"></td>
605
                           <td width="1%" nowrap class="form_group" valign="bottom"></td>
606
                           <td nowrap width="100%" align="right" class="form_step"></td>
607
                        </tr>
608
                        <tr>
609
                           <td width="1%">&nbsp;</td>
610
                           <td colspan="2" width="1%" nowrap class="form_field">
611
                              <table width="100%" border="0" cellspacing="1" cellpadding="5">
3959 dpurdie 612
 
613
                                 <!-- Package Name -->
151 ghuddy 614
                                 <tr>
615
                                    <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">Package Name</td>
3959 dpurdie 616
                                   <% if newPackage > 0 Then %>
617
                                        <td background="images/bg_form_lightgray.gif" class="form_item">
618
                                          <input type="text" id="FRpkgName" name="FRpkgName" class="form_item" size="40" value="<%=parPkgName%>" onBlur="checkPackage()">
619
                                          <span id="cpError"></span>
620
                                        </td>
621
                                    <% Else %>
622
                                        <td background="images/bg_form_lightgray.gif" class="form_field"><%=parPkgName%></td>
623
                                    <% End If %>
151 ghuddy 624
                                 </tr>
3959 dpurdie 625
 
626
                                 <!--Base View -------------->
627
                                 <% if newPackage > 0 Then %>
628
                                    <tr>
629
                                        <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">To Base View</td>
630
                                        <td colspan="2" width="1%" nowrap background="images/bg_form_lightgray.gif" class="form_item">
631
                                           <select name="base_view_id" id="base_view_id" class="form_item" onBlur="checkBaseView()">
632
                                              <option></option>
633
                                              <%Call Get_All_Base_Views(parBase_view_id)%>
634
                                           </select>
635
                                           <span id="bvError"></span>
636
                                        </td>
637
                                     </tr>
638
 
639
                                 <!--Personal View -------------->
640
                                   <%If QStrPar("Pview") <> "disable" Then%>
641
                                    <tr>
642
                                        <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">To Personal View</td>
643
                                       <td colspan="2" width="1%" nowrap background="images/bg_form_lightgray.gif">
644
                                          <select name="personal_view_id" class="form_item">
645
                                             <option value="">None</option>
646
                                             <%Call Get_All_Personal_Views(objAccessControl.UserId )%>
647
                                          </select>
648
                                       </td>
649
                                    </tr>
650
                                    <%End If%>
651
 
652
                                 <!--Dummy Line to highlight New Package Data -------------->
653
                                    <tr>
654
                                        <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field"></td>
655
                                        <td background="images/bg_form_lightbluedark.gif" class="form_field"></td>
656
                                    </tr>
657
                                 <% End If %>
658
 
659
                                 <!--Version Number Assignment -------------->
151 ghuddy 660
                                 <tr>
661
                                    <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">Version Number Assignment</td>
662
                                    <td background="images/bg_form_lightgray.gif" class="form_txt">
3959 dpurdie 663
                                       <%
664
                                            Dim flagAuto, flagMan
665
                                            if bDisableAuto Then
666
                                                flagAuto = "disabled"
667
                                                flagMan = "checked"
668
                                            Else
669
                                                If bIsAuto Then
670
                                                    flagAuto = "checked"
671
                                                    flagMan = ""
672
                                                Else
673
                                                    flagAuto = ""
674
                                                    flagMan = "checked"
675
                                                End if
676
                                            End if
677
                                       %>
678
                                        <table>
679
                                        <tr>
680
                                            <td background="images/bg_form_lightgray.gif" class="form_txt">
681
 
682
                                            <input name="build_type" id="build_type" type="radio" value="A" <%=flagAuto%> onclick="changeToAutoVersionNumberAssignment();"> Auto
683
                                            <input name="build_type" id="build_type" type="radio" value="M" <%=flagMan%> onclick="changeToManualVersionNumberAssignment();"> Manual
684
                                        </td>
685
                                        </table>
151 ghuddy 686
                                    </td>
687
                                 </tr>
688
 
3959 dpurdie 689
                                 <!-- New Version Number -->
151 ghuddy 690
                                 <tr>
691
                                    <td background="images/bg_form_lightbluedark.gif"  width="20%" class="form_field">New Version Number</td>
3959 dpurdie 692
                                    <td>
693
                                        <table>
694
                                        <tr>
695
                                        <td background="images/bg_form_lightgray.gif" class="form_item">
696
                                            <input type="text" id="FRvnumber"
697
                                                    name="FRvnumber"
698
                                                    class="form_item" size="12" onBlur="checkVersionNumber()">
699
                                                    <span id="vnError"></span>
700
                                        </td>
701
                                           <td id="pkgver" background="images/bg_form_lightgray.gif" class="form_item">
702
                                           <%If NOT newPackage > 0 Then%>
703
                                              <select id="FRpkgver"  name="FRpkgver" class="form_item">
704
                                                 <option value=""></option>
705
                                                 <%
706
                                                 Set rsLatest = OraDatabase.DbCreateDynaset( Get_Latest_All_Ext( objPkgInfo.Item("pkg_id"), parPv_id ), cint(0))
151 ghuddy 707
 
3959 dpurdie 708
                                                 If rsLatest.RecordCount > 0 Then
709
                                                    aVersions = rsLatest.GetRows()
710
                                                    lastRow = UBound( aVersions, 2 )
711
                                                    Set objSortHelper = New SortHelper
151 ghuddy 712
 
3959 dpurdie 713
                                                    ' Sort versions
714
                                                    Call objSortHelper.VersionSort( aVersions, 0, lastRow, rsLatest.FieldIndex("pkg_version") )
151 ghuddy 715
 
3959 dpurdie 716
                                                    ' Descending order
717
                                                    For i = lastRow To 0 Step -1
718
                                                    %>
719
                                                       <option value="<%=aVersions( rsLatest.FieldIndex("pkg_version"), i )%>" <%=aVersions( rsLatest.FieldIndex("selected"), i )%>>
720
                                                          <%If aVersions( rsLatest.FieldIndex("dlocked"), i ) = "Y" Then%>
721
                                                             R&nbsp;
722
                                                          <%Else%>
723
                                                             &nbsp;&nbsp;&nbsp;&nbsp;
724
                                                          <%End If%>
725
                                                          <%=aVersions( rsLatest.FieldIndex("pkg_version"), i )%>
726
                                                       </option>
727
                                                    <%
728
                                                    Next
729
                                                    Set objSortHelper = nothing
151 ghuddy 730
 
3959 dpurdie 731
                                                 End If
732
                                                 %>
733
                                              </select>&nbsp;Existing Versions (For Reference Only)
734
                                           <%End If%>
735
                                           </td>
736
                                        </tr>
737
                                        </table>
738
                                    </td>
151 ghuddy 739
                                 </tr>
740
                                 <tr>
741
                                    <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">Version Extension</td>
742
                                    <td background="images/bg_form_lightgray.gif" class="form_item">
743
                                       <DIV id="divVersionExt" name="divVersionExt">
3959 dpurdie 744
                                          <select name="v_ext" id="v_ext" onchange="checkVersionNumber()">
151 ghuddy 745
                                             <%
746
                                             Call drawExtensionSelectBox( objPkgInfo.Item("v_ext"), true )
747
                                             %>
748
                                          </select>
749
                                       </DIV>
750
                                    </td>
751
                                 </tr>
752
 
3959 dpurdie 753
                                 <!-- Reason For This Version -->
151 ghuddy 754
                                 <tr>
755
                                    <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">Reason For This Version</td>
756
                                    <td background="images/bg_form_lightgray.gif" nowrap width="100%" class="form_field">
3959 dpurdie 757
                                       <textarea name="FRreason" id="FRreason" class="form_item" style="width: 420px; height: 150px" onBlur="checkReason()"></textarea>
758
                                        <span id="frError"></span>
151 ghuddy 759
                                    </td>
760
                                 </tr>
761
 
3959 dpurdie 762
                                <tr id="change_type">
763
                                   <td background="images/bg_form_lightbluedark.gif" nowrap width="20%" class="form_field">Change Type</td>
764
                                   <td background="images/bg_form_lightgray.gif" >
765
                                      <table width="100%" border="0" cellspacing="0" cellpadding="0">
766
                                         <tr>
767
                                            <td width="1%">
768
                                              <%If bPatchOnly Then majorState = "disabled" %>
769
                                              <input name="change_type" type="radio" value="M" <%=majorState%>>
770
                                            </td>
771
                                            <td nowrap>
772
                                               <span class="form_field">Major Change</span>
773
                                            </td>
774
                                            <td>&nbsp;</td>
775
                                            <td>
776
                                               <span class="form_txt">A major number change indicates the contract of the package has changed in a non-backwardly compatible manner.</span>
777
                                            </td>
778
                                         </tr>
779
                                         <tr>
780
                                            <td colspan="4"><hr width="100%" size="1" noshade></td>
781
                                         </tr>
782
                                         <tr>
783
                                            <td width="1%">
784
                                              <%If bPatchOnly Then minorState = "disabled" %>
785
                                              <input name="change_type" type="radio" value="N" <%=minorState%>>
786
                                            </td>
787
                                            <td align="center" nowrap>
788
                                               <span class="form_field">Minor Change</span>
789
                                            </td>
790
                                            <td>&nbsp;</td>
791
                                            <td>
792
                                               <span class="form_txt">A minor number change indicates the contract of the package has changed in a backwardly compatible manner.</span>
793
                                            </td>
794
                                         </tr>
795
                                         <tr>
796
                                            <td colspan="4"><hr width="100%" size="1" noshade></td>
797
                                         </tr>
798
                                         <tr>
799
                                            <td width="1%">
800
                                               <input name="change_type" type="radio" value="P" <%=patchState%>>
801
                                            </td>
802
                                            <td nowrap>
803
                                               <span class="form_field">Patch Change</span>
804
                                            </td>
805
                                            <td>&nbsp;</td>
806
                                            <td>
807
                                               <span class="form_txt">A patch number change indicates the package has changed internally.</span>
808
                                            </td>
809
                                         </tr>
810
                                      </table>
151 ghuddy 811
 
3959 dpurdie 812
                                   </td>
813
                                </tr>
151 ghuddy 814
                                 <tr>
815
                                    <td nowrap><img src="images/h_trsp_dot.gif" width="120" height="1"></td>
816
                                    <td></td>
817
                                 </tr>
818
                                 <input type="hidden" name="FRnewver" id="FRnewver" value="hello">
819
                                 <input type="hidden" name="OLDpv_id" value="<%=parPv_id%>">
820
                                 <input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
3959 dpurdie 821
                                 <input type="hidden" name="newPackage" value="<%=newPackage%>">
822
                                 <% if NOT (newPackage > 0) Then %>
823
                                 <input type="hidden" id="FRpkgName" name="FRpkgName" value="<%=parPkgName%>">
824
                                 <%End If%>
151 ghuddy 825
                              </table>
826
                           </td>
827
                        </tr>
828
                        <tr>
829
                           <td width="1%">&nbsp;</td>
830
                           <td width="1%" nowrap class="form_field"><img src="images/h_trsp_dot.gif" width="1" height="1"></td>
831
                           <td nowrap width="100%" class="body_scol">
832
                              <input type="submit" name="btn" value="Submit" class="form_btn" onClick="return validateFormNEWversion();">
833
                              <input type="reset" name="btn" value="Cancel" class="form_btn" onClick="Dependency();">
834
                              <SPAN id="ProgressBar" name="ProgressBar" style="visibility:hidden;"><img src="images/i_processing.gif" width="11" height="17" align="absmiddle" hspace="3">Processing...</SPAN>
835
                              <br><br>
836
                           </td>
3959 dpurdie 837
                           <tr><td id="eMessage" colspan=3 class="err_alert">ERROR: Page Java script did not load</td><tr>
151 ghuddy 838
                        </tr>
839
                     </form>
840
                  </table>
841
                  <!-- END Body-->
842
               </td>
843
               <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
844
            </tr>
845
            <tr>
846
               <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
847
               <td background="images/lbox_bg_blue.gif"></td>
848
               <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td>
849
            </tr>
850
         </table>
851
      </td>
852
   </tr>
119 ghuddy 853
</table>