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>
5207 dpurdie 12
<!--#include file="_jquery_includes.asp"-->
4230 dpurdie 13
<!-- TIPS -->
14
<script language="JavaScript" src="images/tipster.js"></script>
15
<script language="JavaScript" type="text/JavaScript">
16
formTips.tips.BuildType = stdTip(200, 'Build Type',
17
                                 'Auto Build packages are built by the VIX build daemons for release. ' +
18
                                 'Manually built packages will not be built by the build daemons.'+
19
                                 '<p>Manually built packages are very rare and not available to most developers');
20
formTips.tips.ChangeType = stdTip(200, 'Version Number Assignment',
21
                                  'Auto: The build system will determine the version number based on the Change Type' +
22
                                  '<p>Manual: The user specifies the version number to be used');
5338 dpurdie 23
formTips.tips.Licence = stdTip(250, 'Software Licence',
24
                                 'All 3rd party software MUST be identifed. ');
25
 
4230 dpurdie 26
</script>
119 ghuddy 27
<%
28
'------------ Variable Definition -------------
29
Dim parPv_id
30
Dim rsLocRel
31
Dim parPage_title
32
Dim objPkgInfo
121 hknight 33
Dim rsTemp2
151 ghuddy 34
Dim rsLatest
35
Dim aVersions
36
Dim lastRow, i
37
Dim objSortHelper
3959 dpurdie 38
Dim newPackage
39
Dim majorState
40
Dim minorState
41
Dim patchState
42
Dim parBase_view_id
43
Dim verNumber
44
Dim parPkgName
4198 dpurdie 45
Dim parRename
46
Dim rFile
4210 dpurdie 47
Dim disableBuildType
3959 dpurdie 48
 
119 ghuddy 49
'------------ Constants Declaration -----------
3959 dpurdie 50
 
119 ghuddy 51
'-----------------------------------------------------------------------------------------------------------------------------
52
Sub GetPackageInfo( nPvId, outPkgInfo )
151 ghuddy 53
   Dim rsTemp, Query_String
3959 dpurdie 54
   If (IsEmpty(nPvId) OR newPackage > 0) Then Exit Sub
121 hknight 55
 
151 ghuddy 56
   Query_String = _
4980 dpurdie 57
   " SELECT pv.pv_id, pkg.pkg_id, pkg.pkg_name, pv.pkg_version, pv.v_ext, pv.change_type, pv.build_type, pv.is_patch"&_
151 ghuddy 58
   "  FROM packages pkg, package_versions pv"&_
59
   " WHERE pkg.pkg_id = pv.pkg_id  AND pv.pv_id ="& nPvId
121 hknight 60
 
151 ghuddy 61
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
121 hknight 62
 
151 ghuddy 63
   If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
64
      outPkgInfo.Item("pv_id") = rsTemp.Fields("pv_id")
65
      outPkgInfo.Item("pkg_id") = rsTemp.Fields("pkg_id")
66
      outPkgInfo.Item("pkg_name") = rsTemp.Fields("pkg_name")
67
      outPkgInfo.Item("pkg_version") = rsTemp.Fields("pkg_version")
4198 dpurdie 68
      outPkgInfo.Item("change_type") = rsTemp.Fields("change_type")
69
      outPkgInfo.Item("build_type") = rsTemp.Fields("build_type")
70
 
4980 dpurdie 71
      If rsTemp.Fields("is_patch") = "Y" Then
72
        outPkgInfo.Item("is_patch") = "true"
73
      Else
74
        outPkgInfo.Item("is_patch") = "false"
75
      End If
76
 
3959 dpurdie 77
      if rsTemp.Fields("v_ext") <> "" Then
78
        outPkgInfo.Item("v_ext") = rsTemp.Fields("v_ext")
79
      Else
80
        outPkgInfo.Item("v_ext") = ""
81
      End If
151 ghuddy 82
   End If
121 hknight 83
 
151 ghuddy 84
   rsTemp.Close
85
   Set rsTemp = nothing
119 ghuddy 86
End Sub
3959 dpurdie 87
 
119 ghuddy 88
'-----------------------------------------------------------------------------------------------------------------------------
151 ghuddy 89
Function Get_Latest_All_Ext ( NNpkg_id, nPv_id )
90
	Get_Latest_All_Ext = _
91
	" SELECT pv.pkg_version, pv.dlocked,"&_
92
	"        DECODE ( pv.pv_id, "& nPv_id &", 'selected', NULL ) AS selected"&_
93
	"    FROM PACKAGES pkg, package_versions pv"&_
94
	"   WHERE pkg.pkg_id = pv.pkg_id  AND  pkg.pkg_id = "& NNpkg_id
95
End Function
165 brianf 96
 
97
'-------------------------------------------------------------------------------------------------------------
3959 dpurdie 98
' Returns TRUE if the specified version has a COTS extension
99
' Really determines if the extension has to be strict Major.Minor.PatchBuild
100
' or is allowed to be more relaxes. As in COTS and TOOL packages.
101
'
102
' Read from the database to determine type
103
' If we cannot determine the project suffix then assume the worst
104
'
105
Function HasCotsExtension(aExt)
106
   Dim rsQry, Query_String
107
   HasCotsExtension = FALSE
108
 
109
   if aExt <> "" Then
110
       Query_String = "SELECT EXT_NAME FROM PROJECT_EXTENTIONS pe WHERE " &_
111
                      "pe.IS_COTS='Y' AND pe.EXT_NAME='" & LCase(aExt) & "'"
112
       Set rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT )
113
       If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
114
           HasCotsExtension = TRUE
115
       End If
116
       rsQry.Close
117
   Else
118
       HasCotsExtension = TRUE
119
   end If
120
   Set rsQry = Nothing
121
 
165 brianf 122
End Function
123
 
124
'-------------------------------------------------------------------------------------------------------------
125
'Returns TRUE if the specified version has a patch-build number.
126
Function HasPatchBuildNumber(aversion)
127
   'test for a version with a patch build number, ie a dot and at least 4 digits before the extenstion.
128
   Dim re: Set re = New RegExp
129
   re.Pattern = "\.\d{4,}\.[^\.]+$"
130
   HasPatchBuildNumber = re.Test(aversion)
131
   Set re = Nothing      
132
End Function
133
 
3959 dpurdie 134
'-------------------------------------------------------------------------------------------------------------
135
'Returns TRUE if the specified version has a well formed version number
136
Function HasWellFormedVersion(aversion)
137
   'If a package has a major.minor.patch-build number then it is well formed
138
   Dim re: Set re = New RegExp
139
   re.Pattern = "^\d+\.\d+\.\d{4,}\.[^\.]+$"
140
   HasWellFormedVersion = re.Test(aversion)
141
   Set re = Nothing      
142
End Function
143
 
151 ghuddy 144
'-----------------------------------------------------------------------------------------------------------------------------
5338 dpurdie 145
Sub Get_All_Licences ( NNnewlicence_id )
146
   Dim rsTemp, Query_String, selected
147
 
148
   Response.write "<option value='-1' >"& "100% Vix Developed" &"</option>"
149
 
150
   Query_String = _
151
   "   SELECT licence, name"&_
152
   "     FROM licences "&_
153
   "    ORDER BY name ASC"
154
 
155
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
156
 
157
   While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
158
      selected = ""
159
      If NNnewlicence_id = Cstr( rsTemp.Fields("name")) Then
160
          selected = " selected"
161
      End If
162
      Response.write "<option value='"& rsTemp("licence") &"' "& selected &">"& rsTemp("name") &"</option>"
163
 
164
      rsTemp.MoveNext
165
   WEnd
166
 
167
   rsTemp.Close
168
   Set rsTemp = nothing
169
End Sub
170
 
171
'-----------------------------------------------------------------------------------------------------------------------------
3959 dpurdie 172
Sub Get_All_Base_Views ( NNnewgroup_id )
173
   Dim rsTemp, Query_String
174
 
175
   Query_String = _
176
   "   SELECT vi.view_id, vi.view_name "&_
177
   "     FROM views vi "&_
178
   "    WHERE UPPER(vi.base_view) = 'Y'"&_
179
   "    ORDER BY vi.view_name ASC"
180
 
181
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
182
 
183
   While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
184
      If NNnewgroup_id = Cstr( rsTemp.Fields("view_id")) Then
185
         Response.write "<option value='"& rsTemp("view_id") &"' selected>"& rsTemp("view_name") &"</option>"
186
      Else
187
         Response.write "<option value='"& rsTemp("view_id") &"'>" & rsTemp("view_name") &"</option>"
188
      End If
189
 
190
      rsTemp.MoveNext
191
   WEnd
192
 
193
   rsTemp.Close
194
   Set rsTemp = nothing
195
End Sub
196
'-----------------------------------------------------------------------------------------------------------------------------
197
Sub Get_All_Personal_Views ( NNuser_id )
198
   Dim rsTemp, Query_String
199
   If NNuser_id = "" Then Exit Sub
200
 
201
   Query_String = _
202
   " SELECT vi.view_id, vi.view_name"&_
203
   "  FROM view_settings vs,"&_
204
   "       views vi"&_
205
   " WHERE vs.view_id = vi.view_id"&_
206
   "   AND vs.user_id = vi.owner_id  "&_
207
   "   AND vs.user_id = "& NNuser_id &_
208
   "   AND vi.base_view = 'N'"&_
209
   " ORDER BY UPPER(vi.view_name)"
210
 
211
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
212
 
213
   While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
214
      Response.write "<option value='"& rsTemp.Fields("view_id") &"'>"& rsTemp.Fields("view_name") &"</option>"
215
 
216
      rsTemp.MoveNext
217
   WEnd
218
 
219
   rsTemp.Close
220
   Set rsTemp = nothing
221
End Sub
222
'-----------------------------------------------------------------------------------------------------------------------------
223
 
119 ghuddy 224
%>
225
<%
226
'===================== MAIN LINE ============================
3959 dpurdie 227
Dim bDisableAuto, bPatchOnly, bIsCots, bIsAuto
151 ghuddy 228
 
4198 dpurdie 229
'------------ Variable Init -------------------
230
parPv_id = QStrPar("pv_id")
231
parBase_view_id = Request("base_view_id")
232
parPkgName = QStrPar("pkgName")
233
parRename = QStrPar("renameMode")
234
rFile = QStrPar("rFile")
235
If IsEmpty(rFile) OR rFile = "" Then
236
    rFile="dependencies.asp"
237
End If
238
 
239
newPackage = 0
240
 
241
parPage_title = "NEW VERSION"
242
 
243
If ( parPkgName <> "" ) Then
244
    newPackage = 1
245
    parPv_id = NULL
246
End if
247
 
248
majorState = ""
249
minorState = ""
250
patchState = "checked"
251
 
4210 dpurdie 252
' The build_type will be displayed but not enabled unless the user
253
' is allowed to created manually built packages
254
disableBuildType = FALSE
5061 dpurdie 255
If parRename <> "" OR NOT canActionControlInProject("ApproveForManualBuild") Then
4210 dpurdie 256
    disableBuildType = TRUE
257
End If
258
 
4198 dpurdie 259
Set objPkgInfo = CreateObject("Scripting.Dictionary")
260
 
261
If parRename <> "" Then
4230 dpurdie 262
    If parRename <> 2 Then
263
        parPage_title = "RENAME VERSION"
264
    Else
265
        parPage_title = "VERSION CHANGE TYPE"
266
    End If
4198 dpurdie 267
 
268
    ' Package already exists
3959 dpurdie 269
    Call GetPackageInfo( parPv_id, objPkgInfo )
270
    parPkgName = objPkgInfo.Item("pkg_name")
165 brianf 271
 
3959 dpurdie 272
    ' Extract version number without extension
273
    verNumber = objPkgInfo.Item("pkg_version")
274
    verNumber = Mid( verNumber,1, Len(verNumber) - Len(objPkgInfo.Item("v_ext")))
275
 
276
    bIsCots = HasCotsExtension(objPkgInfo.Item("v_ext"))
277
    'Disable the "Auto" build option if the package is a COTS package and the version doesn't have a patch-build number.
278
    bDisableAuto = bIsCots and not HasPatchBuildNumber(objPkgInfo.Item("pkg_version"))
279
    'Enable only the "Patch Change" option if the package is a COTS package and the version has a patch-build number.
280
    bPatchOnly = bIsCots and not HasWellFormedVersion(objPkgInfo.Item("pkg_version")) and HasPatchBuildNumber(objPkgInfo.Item("pkg_version"))
281
 
4198 dpurdie 282
    ' Use existing change type and build type
4203 dpurdie 283
    bIsAuto = objPkgInfo.Item("change_type") <> "F" AND NOT bDisableAuto
4198 dpurdie 284
 
285
    majorState = ""
286
    minorState = ""
287
    patchState = ""
288
    If objPkgInfo.Item("change_type") = "M" Then
289
        majorState = "checked"
290
    ElseIf objPkgInfo.Item("change_type") = "N" Then
291
        minorState = "checked"
292
    Else
293
        patchState = "checked"
294
    End If
295
 
296
ElseIf NOT (newPackage > 0 ) Then
297
    ' Package already exists
4293 dpurdie 298
    ' Creating a new Version of an existing Package
299
    '   Set build_type to Auto - New Versions start in Auto
4198 dpurdie 300
    Call GetPackageInfo( parPv_id, objPkgInfo )
4293 dpurdie 301
    objPkgInfo.Item("build_type") = "A"
302
 
4198 dpurdie 303
    parPkgName = objPkgInfo.Item("pkg_name")
304
 
305
    ' Extract version number without extension
306
    verNumber = objPkgInfo.Item("pkg_version")
307
    verNumber = Mid( verNumber,1, Len(verNumber) - Len(objPkgInfo.Item("v_ext")))
308
 
309
    bIsCots = HasCotsExtension(objPkgInfo.Item("v_ext"))
310
    'Disable the "Auto" build option if the package is a COTS package and the version doesn't have a patch-build number.
311
    bDisableAuto = bIsCots and not HasPatchBuildNumber(objPkgInfo.Item("pkg_version"))
312
    'Enable only the "Patch Change" option if the package is a COTS package and the version has a patch-build number.
313
    bPatchOnly = bIsCots and not HasWellFormedVersion(objPkgInfo.Item("pkg_version")) and HasPatchBuildNumber(objPkgInfo.Item("pkg_version"))
314
 
3959 dpurdie 315
    'if "Auto" build option is disabled then select the Manual option
316
    bIsAuto = NOT bDisableAuto
317
 
318
Else
319
    ' If New Package and First version
320
    parPage_title = "NEW PACKAGE and FIRST VERSION"
321
    bIsCots = FALSE
322
    bDisableAuto = FALSE
323
    bPatchOnly = FALSE
324
    bIsAuto = TRUE
325
    majorState = "checked"
326
    minorState = ""
327
    patchState = ""
328
    verNumber = "1.0.0000"
4981 dpurdie 329
    objPkgInfo.Item("is_patch") = "false"
151 ghuddy 330
End If
3959 dpurdie 331
 
119 ghuddy 332
'============================================================
333
%>
334
<script language="JavaScript" type="text/JavaScript">
335
<!--
3959 dpurdie 336
var savedVersion;
337
var fieldError;
338
var checkMode;
121 hknight 339
 
3959 dpurdie 340
window.onload = function(e)
341
{
342
   // Init checking mode
343
   //   0 - Checking options one at a time
344
   //       Clear Error display before checking
345
   //
346
   //   1 - Checking before submit
347
   //       Accumulate error messages
348
   //
349
   checkMode = 0;
121 hknight 350
 
3959 dpurdie 351
   savedVersion = "<%=verNumber%>";
352
   document.getElementById('FRvnumber').value = savedVersion;
121 hknight 353
 
4210 dpurdie 354
   // Init the Build Type
355
   // Will be disabled for Rename or User cannot create Manually Built Packages
356
   //
357
   changeToAutoBuild('<%=objPkgInfo.Item("build_type")%>');
358
   <%If disableBuildType Then%>
359
   changeToAutoBuild('D');
360
   <% End If %>
361
 
4203 dpurdie 362
   var isAutobuild = document.NEWversion.version_type[0].checked;
151 ghuddy 363
   if (!isAutobuild)
364
   {
3959 dpurdie 365
      changeToManualVersionNumberAssignment();
151 ghuddy 366
   }
3959 dpurdie 367
   else
368
   {
369
      changeToAutoVersionNumberAssignment();
370
   }
4238 dpurdie 371
   updateCopyButton();
3959 dpurdie 372
   checkPackage();
373
   checkBaseView();
5338 dpurdie 374
   checkLicence();
151 ghuddy 375
 
3959 dpurdie 376
   // Hide error message
4028 dpurdie 377
   setIdText('eMessage','');
119 ghuddy 378
}
121 hknight 379
 
4028 dpurdie 380
function setIdText(id, text) {
381
    var element = document.getElementById(id);
382
    if ( element ) {
383
    while (element.firstChild!==null)
384
        element.removeChild(element.firstChild); // remove all existing content
385
    element.appendChild(document.createTextNode(text));
386
    }
387
}
388
 
121 hknight 389
//////////////////////////////////////////////////////////////////
3959 dpurdie 390
// Function: changeToAutoVersionNumberAssignment
121 hknight 391
//
4230 dpurdie 392
// Purpose: Hide the relevant sections of the form
121 hknight 393
//
3959 dpurdie 394
function changeToAutoVersionNumberAssignment()
121 hknight 395
{
4203 dpurdie 396
   document.getElementById('change_type1').style.display = 'table-row';
3959 dpurdie 397
   //document.getElementById('pkgver').style.display = 'none';
398
   savedVersion = document.getElementById('FRvnumber').value;
399
   document.getElementById('FRvnumber').disabled = true;
4238 dpurdie 400
   <%If NOT newPackage > 0 Then%>
4230 dpurdie 401
   document.getElementById('FRuseVersion').style.visibility = 'hidden';
4238 dpurdie 402
   <%End If%>
3959 dpurdie 403
   document.getElementById('FRvnumber').value = '(auto)';
404
   checkVersionNumber();
121 hknight 405
}
406
 
407
//////////////////////////////////////////////////////////////////
3959 dpurdie 408
// Function: changeToManualVersionNumberAssignment
121 hknight 409
//
4230 dpurdie 410
// Purpose: Show the relevant sections of the form
121 hknight 411
//
3959 dpurdie 412
function changeToManualVersionNumberAssignment()
121 hknight 413
{
4203 dpurdie 414
   document.getElementById('change_type1').style.display = 'none';
3959 dpurdie 415
   //document.getElementById('pkgver').style.display = 'table-row';
416
   document.getElementById('FRvnumber').disabled = false;
4238 dpurdie 417
   <%If NOT newPackage > 0 Then%>
4230 dpurdie 418
   document.getElementById('FRuseVersion').style.visibility = 'visible';
4238 dpurdie 419
   <%End If%>
4230 dpurdie 420
   if ( savedVersion.indexOf('(') != 0) {
421
       document.getElementById('FRvnumber').value = savedVersion;
422
   } else {
423
       document.getElementById('FRvnumber').value = "";
424
   }
3959 dpurdie 425
   checkVersionNumber();
426
}
121 hknight 427
 
4210 dpurdie 428
//////////////////////////////////////////////////////////////////
429
// Function: changeToAutoBuild
430
//
431
// Purpose: Maintain the Manual Auto Build state
432
//
433
var changeToAutoBuildData = new Array;
434
function changeToAutoBuild (mode)
435
{
436
    //  Set to Disable Mode
437
    //      Display only - no editing allowed
438
    if (mode == 'D')
439
    {
440
        document.NEWversion['build_type_M'].disabled = true;
441
        document.NEWversion['build_type_A'].disabled = true;
442
    }
443
 
444
    //  Set to Manual
445
    //      Remember current version_type
446
    //      Force version_type to manual
447
    //      Disable ability to set auto version type
448
    if (mode == 'M')
449
   {
450
       changeToAutoBuildData['M'] =  document.NEWversion['version_type_M'].checked;
451
       changeToAutoBuildData['A'] =  document.NEWversion['version_type_A'].checked;
452
 
453
       document.NEWversion['build_type_M'].checked = true;
4630 dpurdie 454
       document.all['build_type'].value = 'M';
4210 dpurdie 455
       document.NEWversion['version_type_M'].checked = true;
456
       document.NEWversion['version_type_A'].disabled = true;
457
       changeToManualVersionNumberAssignment();
458
   }
459
 
460
    //  Set to Auto
461
    //      Enable auto version_type
462
    //      Restore version type to previous value
463
   if (mode == 'A')
464
   {
465
       document.NEWversion['build_type_A'].checked = true;
466
       document.NEWversion['version_type_A'].disabled = false;
4630 dpurdie 467
       document.all['build_type'].value = 'A';
4210 dpurdie 468
 
469
       if (typeof changeToAutoBuildData['M'] != 'undefined')
470
       {
471
           document.NEWversion['version_type_M'].checked = changeToAutoBuildData['M'];
472
           document.NEWversion['version_type_A'].checked = changeToAutoBuildData['A'];
473
 
474
           if (document.NEWversion['version_type_M'].checked)
475
           {
476
               changeToManualVersionNumberAssignment();
477
           }
478
           else
479
           {
480
               changeToAutoVersionNumberAssignment();
481
           }
482
       }
483
   }
484
}
485
 
486
//////////////////////////////////////////////////////////////////
4238 dpurdie 487
//  Function: updateCopyButton
488
//  Args:     data - New data value
489
function updateCopyButton ()
490
{
491
    var e = document.getElementById("FRpkgver");
492
    var el = document.getElementById('FRuseVersion');
493
    if (e && el)
494
    {
495
        var data = e.value;
496
        el.disabled = (data.indexOf('(') == 0)
497
    }
498
}
499
 
500
//////////////////////////////////////////////////////////////////
4230 dpurdie 501
// Function: useVersion
502
//
503
// Purpose: Insert current version ino the version field
504
//          Attached to: FRuseVersion
505
//
506
function useVersion()
507
{
508
    var e = document.getElementById("FRpkgver");
509
    if (e)
510
    {
4238 dpurdie 511
        var strUser = e.value;
4230 dpurdie 512
        if ( strUser.indexOf('(') != 0)
513
        {
514
            var patt = /\.[a-z]{1,4}$/i;
515
            strUser = strUser.replace(patt,'');
516
            document.getElementById('FRvnumber').value = strUser;
517
            checkVersionNumber();
518
        }
519
    }
520
}
521
 
522
//////////////////////////////////////////////////////////////////
4210 dpurdie 523
// Function: checkPackage
524
//
525
// Purpose: 
526
//
3959 dpurdie 527
function checkPackage()
528
{
529
    var f = document.getElementById('NEWversion');
530
    if ( f.newPackage.value > 0 )
531
    {
532
        reseteMessage();
533
        MM_validateForm("--Silent",'FRpkgName','Package Name','RisPackage');
534
        checkPackageHighlight( ! document.MM_returnValue, 'Name well formed', 'Invalid Characters in name');
535
        if ( ! document.MM_returnValue ) return;
121 hknight 536
 
3959 dpurdie 537
        xmlHttp=GetXmlHttpObject(checkPackageDone);
538
        if (xmlHttp==null)
539
        {
540
          alert ("Your browser does not support AJAX!");
541
          return;
542
        }
543
 
544
        var url = "_json_checkPackage.asp?"
545
                + "packageName=" + document.getElementById('FRpkgName').value
546
                + "&Opr=checkName";
547
 
548
        MM_showProgressBar();
549
        xmlHttp.open("GET",url,false);  // `false` makes the request synchronous
550
        xmlHttp.send(null);
551
    }
121 hknight 552
}
553
 
3959 dpurdie 554
function checkPackageDone()
555
{
556
    //readyState of 4 or 'complete' represents that data has been returned
557
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){
121 hknight 558
 
3959 dpurdie 559
        //Gather the results from the callback
560
        var str = xmlHttp.responseText;
4062 dpurdie 561
        try {
562
            var myJson = JSON.parse(str);
563
            checkPackageHighlight( myJson.result != 0, 'Name is unused', 'Package Exists');
564
        }
565
        catch(e) {
566
            checkPackageHighlight( 1, '','Error in AJAX operation');
567
        }
3959 dpurdie 568
        MM_hideProgressBar();
569
    }
570
}
571
 
572
function checkPackageHighlight(v, msggood, msgbad)
121 hknight 573
{
3959 dpurdie 574
    if (v)
575
    {
4028 dpurdie 576
        setIdText('cpError',msgbad);
3959 dpurdie 577
        addClass(document.getElementById('FRpkgName'), 'form_error' );
578
        showeMessage(document.MM_error);
579
        fieldError = true;
580
    }
581
    else
582
    {
4028 dpurdie 583
        setIdText('cpError',msggood);
3959 dpurdie 584
        removeClass(document.getElementById('FRpkgName'), 'form_error' );
585
    }
121 hknight 586
}
587
 
3959 dpurdie 588
function checkBaseView()
589
{
590
    var f = document.getElementById('NEWversion');
591
    if ( f.newPackage.value > 0 )
592
    {
593
        reseteMessage();
594
        MM_validateForm("--Silent",'base_view_id','Base View','R');
595
        if ( ! document.MM_returnValue )
596
        {
597
            addClass(document.getElementById('base_view_id'), 'form_error' );
4028 dpurdie 598
            setIdText('bvError','Required');
3959 dpurdie 599
            fieldError = true;
600
        }
601
        else
602
        {
603
            removeClass(document.getElementById('base_view_id'), 'form_error' );
4028 dpurdie 604
            setIdText('bvError','');
3959 dpurdie 605
        }
606
    }
607
}
121 hknight 608
 
5338 dpurdie 609
function checkLicence()
610
{
611
    var f = document.getElementById('NEWversion');
612
    if ( f.newPackage.value > 0 )
613
    {
614
        reseteMessage();
615
        MM_validateForm("--Silent",'licence_id','Licence','R');
616
        if ( ! document.MM_returnValue )
617
        {
618
            addClass(document.getElementById('licence_id'), 'form_error' );
619
            setIdText('liError','Required');
620
            fieldError = true;
621
        }
622
        else
623
        {
624
            removeClass(document.getElementById('licence_id'), 'form_error' );
625
            setIdText('liError','');
626
        }
627
    }
628
}
629
 
3959 dpurdie 630
function checkVersionNumber()
151 ghuddy 631
{
3959 dpurdie 632
   reseteMessage();
4203 dpurdie 633
   if (document.NEWversion.version_type[0].checked)
3959 dpurdie 634
   {
635
        removeClass(document.getElementById('FRvnumber'), 'form_error' );
4028 dpurdie 636
        setIdText('vnError','');
637
 
638
        var versionExt = document.all['v_ext'].value;
639
        document.all['FRnewver'].value = versionExt;
3959 dpurdie 640
   }
641
   else
642
   {
643
        // Get Full version - store into hidden field processing
644
        var versionExt = document.all['v_ext'].value;
645
        var versionBase = document.all['FRvnumber'].value;
646
        document.all['FRnewver'].value = versionBase + versionExt;
647
 
648
        // check the version number is good
4980 dpurdie 649
        MM_validateForm("--Silent",{vBase:versionBase, vExt:versionExt, isPatch:<%=objPkgInfo.Item("is_patch")%>},'Version Number','RisVersionNumber');
3959 dpurdie 650
        if ( ! document.MM_returnValue )
651
        {
652
            addClass(document.getElementById('FRvnumber'), 'form_error' );
4028 dpurdie 653
            setIdText('vnError','Invalid form');
3959 dpurdie 654
            showeMessage(document.MM_error);
655
            fieldError = true;
656
            return;
657
        }
658
 
659
        xmlHttp=GetXmlHttpObject(checkVersionExistsDone);
660
        if (xmlHttp==null)
661
        {
662
            alert ("Your browser does not support AJAX!");
663
            return;
664
        }
665
 
666
        var url = "_json_checkPackage.asp?"
667
                + "packageName=" + document.getElementById('FRpkgName').value
668
                + "&Version=" + document.all['FRvnumber'].value + document.all['v_ext'].value
669
                + "&Opr=checkVer";
670
 
671
        MM_showProgressBar();
672
        xmlHttp.open("GET",url,false);  // `false` makes the request synchronous
673
        xmlHttp.send(null);
674
    }
151 ghuddy 675
}
676
 
3959 dpurdie 677
function checkVersionExistsDone()
121 hknight 678
{
3959 dpurdie 679
    //readyState of 4 or 'complete' represents that data has been returned
680
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){
681
 
682
        //Gather the results from the callback
4062 dpurdie 683
        var myJson;
3959 dpurdie 684
        var str = xmlHttp.responseText;
4062 dpurdie 685
        try {
686
            myJson = JSON.parse(str);
687
        }
688
        catch(e) {
689
            myJson = {};
690
            myJson.error = 2;
691
            myJson.emsgSummary = e.message;
692
            myJson.SqlQry = '';
693
        }
3959 dpurdie 694
 
695
        if(myJson.error)
696
        {
4062 dpurdie 697
            addClass(document.getElementById('FRvnumber'), 'form_error' );
698
            setIdText('vnError','Error in AJAX operation');
3959 dpurdie 699
            showeMessage(myJson.emsgSummary);
700
            fieldError = true;
701
        }
4062 dpurdie 702
        else if(myJson.result != 0)
3959 dpurdie 703
        {
704
            addClass(document.getElementById('FRvnumber'), 'form_error' );
4028 dpurdie 705
            setIdText('vnError','Exists');
3959 dpurdie 706
            showeMessage('Version already exists');
707
            fieldError = true;
708
        }
709
        else
710
        {
711
            removeClass(document.getElementById('FRvnumber'), 'form_error' );
4028 dpurdie 712
            setIdText('vnError','');
3959 dpurdie 713
        }
714
        MM_hideProgressBar();
715
    }
121 hknight 716
}
717
 
3959 dpurdie 718
function checkReason()
719
{
720
   reseteMessage();
721
    MM_validateForm("--Silent",'FRreason','Reason for This Version','maxLength:4000');
722
    if ( ! document.MM_returnValue )
723
    {
724
        addClass(document.getElementById('FRreason'), 'form_error' );
4028 dpurdie 725
        //setIdText('frError','Too Long');
726
 
3959 dpurdie 727
        showeMessage(document.MM_error);
728
        fieldError = true;
729
    }
730
    else
731
    {
732
        removeClass(document.getElementById('FRreason'), 'form_error' );
4028 dpurdie 733
        //setIdText('frError','');
3959 dpurdie 734
    }
735
}
151 ghuddy 736
 
4198 dpurdie 737
function getCheckedRadio(radio_group) {
738
    for (var i = 0; i < radio_group.length; i++) {
739
        var button = radio_group[i];
740
        if (button.checked) {
741
            return button;
742
        }
743
    }
744
    return undefined;
745
}
746
 
4203 dpurdie 747
<%If parRename <> "" Then%>
4198 dpurdie 748
function updateVersionInfo()
749
{
750
   reseteMessage();
751
 
752
    xmlHttp=GetXmlHttpObject(updateVersionInfoDone);
753
    if (xmlHttp==null)
754
    {
755
        alert ("Your browser does not support AJAX!");
756
        return;
757
    }
758
 
759
    var url = "_json_updateVersion.asp?"
760
            + "packageName=" + document.getElementById('FRpkgName').value
761
            + "&Version=" + document.all['FRvnumber'].value + document.all['v_ext'].value
4630 dpurdie 762
            + "&buildType=" + document.all['build_type'].value
4203 dpurdie 763
            + "&changeType=" + document.all['change_type'].value
4198 dpurdie 764
            + "&rtagId=" + document.all['rtag_id'].value
765
            + "&pvId=" + document.all['OLDpv_id'].value
766
            + "&vExt=" + document.all['v_ext'].value
767
            + "&Opr=updateVer";
768
 
769
    MM_showProgressBar();
770
    xmlHttp.open("GET",url,false);          // `false` makes the request synchronous
771
    xmlHttp.send(null);
772
}
773
 
774
function updateVersionInfoDone()
775
{
776
    //readyState of 4 or 'complete' represents that data has been returned
777
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){
778
 
779
        //Gather the results from the callback
780
        var myJson;
781
        var str = xmlHttp.responseText;
782
//alert("Results:" + str);
783
        try {
784
            myJson = JSON.parse(str);
785
        }
786
        catch(e) {
787
            myJson = {};
788
            myJson.error = 2;
789
            myJson.emsgDetails = e.message;
790
            myJson.SqlQry = '';
791
        }
792
        if(myJson.error)
793
        {
794
            showeMessage(myJson.emsgDetails);
795
            fieldError = true;
796
        }
797
        else if(myJson.result != 0)
798
        {
799
            showeMessage('Error changing version number');
800
            fieldError = true;
801
        }
802
        MM_hideProgressBar();
803
    }
804
}
805
<%End If%>
806
 
3959 dpurdie 807
function reseteMessage()
808
{
809
    if (checkMode == 0 )
810
    {
4028 dpurdie 811
        setIdText('eMessage','');
3959 dpurdie 812
    }
813
}
814
 
815
function showeMessage(msg)
816
{
4630 dpurdie 817
    var omsg, elem;
3959 dpurdie 818
    if (checkMode == 1 )
819
    {
4630 dpurdie 820
        elem = document.getElementById("eMessage");
821
        omsg = elem.textContent || elem.innerText;
822
        if ( (typeof osmg != 'undefined') && omsg.length > 0 )
3959 dpurdie 823
            omsg += '\n';
824
    }
825
    else
826
    {
827
        omsg = "";
828
    }
829
    omsg += msg;
4028 dpurdie 830
    setIdText('eMessage',omsg);
3959 dpurdie 831
}
832
 
121 hknight 833
// Do not remove these next few lines, otherwise the page does not load properly in Microsoft IE.
119 ghuddy 834
//-->
835
</script>
836
 
837
<script>
121 hknight 838
 
839
 
119 ghuddy 840
function Dependency()
841
{
4198 dpurdie 842
<%If parRename <> "" Then%>
843
   parent.window.close();
844
<%ElseIf newPackage > 0 Then%>
845
   parent.window.location.href="<%=rFile%>?rtag_id=<%=parRtag_id%>";
3959 dpurdie 846
<%Else%>
4198 dpurdie 847
   parent.window.location.href="<%=rFile%>?rtag_id=<%=parRtag_id%>&pv_id=<%=parPv_id%>";
3959 dpurdie 848
<%End If%>
119 ghuddy 849
}
121 hknight 850
 
151 ghuddy 851
////////////////////////////////////////////////////////////////////////////////////////////////////////
852
// This function returns true if form validation passes, else false
853
// It is called when a user hits the submit button.
854
////////////////////////////////////////////////////////////////////////////////////////////////////////
3959 dpurdie 855
 
151 ghuddy 856
function validateFormNEWversion()
857
{
3959 dpurdie 858
    var f = document.getElementById('NEWversion');
121 hknight 859
 
3959 dpurdie 860
    if (f == null)
5207 dpurdie 861
        vixAlert('Internal Error<p>Failed To Get NEWversion');   // should never happen unless a coding/rendering mistake is made?
3959 dpurdie 862
    else
863
    {
4028 dpurdie 864
        setIdText('eMessage','');
3959 dpurdie 865
        fieldError = false;
866
        checkMode = 1;
867
        checkPackage();
868
        checkBaseView();
5338 dpurdie 869
        checkLicence();
3959 dpurdie 870
        checkVersionNumber();
4198 dpurdie 871
        <%If NOT parRename <> "" Then%>
3959 dpurdie 872
        checkReason();
4198 dpurdie 873
        <%End If%>
3959 dpurdie 874
        if (!fieldError)
875
        {
4203 dpurdie 876
            //  Export the change_type field in a sanitised form
877
            var ct = getCheckedRadio(document.forms.NEWversion.elements.change_type1).value;
878
            if(!document.NEWversion.version_type[0].checked) ct = 'F';
879
            document.all['change_type'].value = ct;
880
 
3959 dpurdie 881
            MM_showProgressBar();
4198 dpurdie 882
            <%If parRename <> "" Then%>
883
                updateVersionInfo();
884
                if (!fieldError)
885
                {
886
                    parent.window.close();
887
                    window.opener.document.location='<%=rFile%>?rtag_id=<%=parRtag_id%>&pv_id=<%=parPv_id%>';
888
                    return true;
889
                }
890
            <%Else%>
891
                f.action='_new_version.asp';
892
                parent.window.location.href='<%=rFile%>?rtag_id=<%=parRtag_id%>&pv_id=<%=parPv_id%>';
893
                return true;
894
            <%End If%>
3959 dpurdie 895
        }
896
    }
151 ghuddy 897
 
3959 dpurdie 898
    // Hide progress bar that is exposed because the previous tests were OK
899
    MM_hideProgressBar();
900
    checkMode = 0;
901
    return false;
121 hknight 902
}
151 ghuddy 903
 
119 ghuddy 904
</script>
905
 
906
<table width="650" border="0" cellspacing="0" cellpadding="0">
151 ghuddy 907
   <tr>
908
      <td>
909
         <table width="100%" border="0" cellspacing="0" cellpadding="0">
910
            <tr>
911
               <td width="1%">&nbsp;</td>
912
               <td align="right"><img src="images/h_trsp_dot.gif" width="30" height="30"></td>
913
               <td width="1%">&nbsp;</td>
914
            </tr>
915
            <tr>
916
               <td width="1%">&nbsp;</td>
917
               <td>
918
                  <table width="100%" border="0" cellspacing="0" cellpadding="0">
919
                     <tr>
920
                        <td nowrap class="form_ttl"><%=parPage_title%></td>
921
                        <td align="right" valign="bottom">
922
                           <!-- TABS -->
923
                           &nbsp;
924
                        </td>
925
                     </tr>
926
                  </table>
927
               </td>
928
               <td width="1%">&nbsp;</td>
929
            </tr>
930
            <tr>
931
               <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>
932
               <td background="images/lbox_bg_blue.gif"><!-- Heading --><img src="images/h_trsp_dot.gif" width="1" height="20"><!-- END Heading --></td>
933
               <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>
934
            </tr>
935
            <tr>
936
               <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
937
               <td bgcolor="#FFFFFF" valign="top">
938
                  <!-- Body -->
939
                  <table width="100%" border="0" cellspacing="1" cellpadding="2">
940
                     <form id="NEWversion"  name="NEWversion" method="post">
941
                        <tr>
942
                           <td width="1%"><img src="images/h_trsp_dot.gif" width="1" height="10"></td>
943
                           <td width="1%" nowrap class="form_group" valign="bottom"></td>
944
                           <td nowrap width="100%" align="right" class="form_step"></td>
945
                        </tr>
946
                        <tr>
947
                           <td width="1%">&nbsp;</td>
948
                           <td colspan="2" width="1%" nowrap class="form_field">
949
                              <table width="100%" border="0" cellspacing="1" cellpadding="5">
3959 dpurdie 950
 
951
                                 <!-- Package Name -->
151 ghuddy 952
                                 <tr>
953
                                    <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">Package Name</td>
3959 dpurdie 954
                                   <% if newPackage > 0 Then %>
955
                                        <td background="images/bg_form_lightgray.gif" class="form_item">
956
                                          <input type="text" id="FRpkgName" name="FRpkgName" class="form_item" size="40" value="<%=parPkgName%>" onBlur="checkPackage()">
957
                                          <span id="cpError"></span>
958
                                        </td>
959
                                    <% Else %>
960
                                        <td background="images/bg_form_lightgray.gif" class="form_field"><%=parPkgName%></td>
961
                                    <% End If %>
151 ghuddy 962
                                 </tr>
3959 dpurdie 963
 
964
                                 <!--Base View -------------->
965
                                 <% if newPackage > 0 Then %>
966
                                    <tr>
967
                                        <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">To Base View</td>
968
                                        <td colspan="2" width="1%" nowrap background="images/bg_form_lightgray.gif" class="form_item">
969
                                           <select name="base_view_id" id="base_view_id" class="form_item" onBlur="checkBaseView()">
970
                                              <option></option>
971
                                              <%Call Get_All_Base_Views(parBase_view_id)%>
972
                                           </select>
973
                                           <span id="bvError"></span>
974
                                        </td>
975
                                     </tr>
976
 
977
                                 <!--Personal View -------------->
978
                                   <%If QStrPar("Pview") <> "disable" Then%>
979
                                    <tr>
980
                                        <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">To Personal View</td>
981
                                       <td colspan="2" width="1%" nowrap background="images/bg_form_lightgray.gif">
982
                                          <select name="personal_view_id" class="form_item">
983
                                             <option value="">None</option>
984
                                             <%Call Get_All_Personal_Views(objAccessControl.UserId )%>
985
                                          </select>
986
                                       </td>
987
                                    </tr>
988
                                    <%End If%>
989
 
5338 dpurdie 990
                                    <!-- Software Licence ----------------->
991
                                    <tr>
992
                                       <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">Software Licence<%=Quick_Help("Licence")%></td>
993
                                        <td colspan="2" width="1%" nowrap background="images/bg_form_lightgray.gif" class="form_item">
994
                                           <select name="licence_id" id="licence_id" class="form_item" onBlur="checkLicence()">
995
                                              <option></option>
996
                                              <%Call Get_All_Licences(-2)%>
997
                                           </select>
998
                                           <span id="liError"></span>
999
                                        </td>
1000
                                    </tr>
1001
 
3959 dpurdie 1002
                                 <!--Dummy Line to highlight New Package Data -------------->
1003
                                    <tr>
1004
                                        <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field"></td>
1005
                                        <td background="images/bg_form_lightbluedark.gif" class="form_field"></td>
1006
                                    </tr>
1007
                                 <% End If %>
1008
 
4203 dpurdie 1009
                                 <!-- Build Type Assignment ----------------->
1010
                                 <tr>
4230 dpurdie 1011
                                    <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">Build Type<%=Quick_Help("BuildType")%></td>
4203 dpurdie 1012
                                    <td background="images/bg_form_lightgray.gif" class="form_txt">
1013
                                    <table>
1014
                                        <tr>
1015
                                            <td background="images/bg_form_lightgray.gif" class="form_txt">
4630 dpurdie 1016
                                            <input name="build_type1" id="build_type_A" type="radio" value="A" checked onclick="changeToAutoBuild('A');"> Auto
1017
                                            <input name="build_type1" id="build_type_M" type="radio" value="M" onclick="changeToAutoBuild('M');"> Manual
4203 dpurdie 1018
                                        </td>
1019
                                    </table>
1020
                                 </tr>
3959 dpurdie 1021
                                 <!--Version Number Assignment -------------->
151 ghuddy 1022
                                 <tr>
4230 dpurdie 1023
                                    <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">Version Number Assignment<%=Quick_Help("ChangeType")%></td>
151 ghuddy 1024
                                    <td background="images/bg_form_lightgray.gif" class="form_txt">
3959 dpurdie 1025
                                       <%
1026
                                            Dim flagAuto, flagMan
1027
                                            if bDisableAuto Then
1028
                                                flagAuto = "disabled"
1029
                                                flagMan = "checked"
1030
                                            Else
1031
                                                If bIsAuto Then
1032
                                                    flagAuto = "checked"
1033
                                                    flagMan = ""
1034
                                                Else
1035
                                                    flagAuto = ""
1036
                                                    flagMan = "checked"
1037
                                                End if
1038
                                            End if
1039
                                       %>
1040
                                        <table>
1041
                                        <tr>
1042
                                            <td background="images/bg_form_lightgray.gif" class="form_txt">
1043
 
4210 dpurdie 1044
                                            <input name="version_type" id="version_type_A" type="radio" value="A" <%=flagAuto%> onclick="changeToAutoVersionNumberAssignment();"> Auto
1045
                                            <input name="version_type" id="version_type_M" type="radio" value="M" <%=flagMan%> onclick="changeToManualVersionNumberAssignment();"> Manual
3959 dpurdie 1046
                                        </td>
4203 dpurdie 1047
 
3959 dpurdie 1048
                                        </table>
151 ghuddy 1049
                                    </td>
1050
                                 </tr>
1051
 
3959 dpurdie 1052
                                 <!-- New Version Number -->
151 ghuddy 1053
                                 <tr>
1054
                                    <td background="images/bg_form_lightbluedark.gif"  width="20%" class="form_field">New Version Number</td>
3959 dpurdie 1055
                                    <td>
1056
                                        <table>
1057
                                        <tr>
1058
                                        <td background="images/bg_form_lightgray.gif" class="form_item">
1059
                                            <input type="text" id="FRvnumber"
1060
                                                    name="FRvnumber"
1061
                                                    class="form_item" size="12" onBlur="checkVersionNumber()">
1062
                                                    <span id="vnError"></span>
1063
                                        </td>
1064
                                           <td id="pkgver" background="images/bg_form_lightgray.gif" class="form_item">
1065
                                           <%If NOT newPackage > 0 Then%>
4230 dpurdie 1066
                                              <button type="button" style="visibility:hidden" id="FRuseVersion" class="form_item" onclick="useVersion();">&#8656;&nbsp;Copy</button>
4238 dpurdie 1067
                                              <select id="FRpkgver"  name="FRpkgver" class="form_item" onchange="updateCopyButton()";>
3959 dpurdie 1068
                                                 <option value=""></option>
1069
                                                 <%
1070
                                                 Set rsLatest = OraDatabase.DbCreateDynaset( Get_Latest_All_Ext( objPkgInfo.Item("pkg_id"), parPv_id ), cint(0))
151 ghuddy 1071
 
3959 dpurdie 1072
                                                 If rsLatest.RecordCount > 0 Then
1073
                                                    aVersions = rsLatest.GetRows()
1074
                                                    lastRow = UBound( aVersions, 2 )
1075
                                                    Set objSortHelper = New SortHelper
151 ghuddy 1076
 
3959 dpurdie 1077
                                                    ' Sort versions
1078
                                                    Call objSortHelper.VersionSort( aVersions, 0, lastRow, rsLatest.FieldIndex("pkg_version") )
151 ghuddy 1079
 
3959 dpurdie 1080
                                                    ' Descending order
1081
                                                    For i = lastRow To 0 Step -1
1082
                                                    %>
1083
                                                       <option value="<%=aVersions( rsLatest.FieldIndex("pkg_version"), i )%>" <%=aVersions( rsLatest.FieldIndex("selected"), i )%>>
1084
                                                          <%If aVersions( rsLatest.FieldIndex("dlocked"), i ) = "Y" Then%>
1085
                                                             R&nbsp;
1086
                                                          <%Else%>
1087
                                                             &nbsp;&nbsp;&nbsp;&nbsp;
1088
                                                          <%End If%>
1089
                                                          <%=aVersions( rsLatest.FieldIndex("pkg_version"), i )%>
1090
                                                       </option>
1091
                                                    <%
1092
                                                    Next
1093
                                                    Set objSortHelper = nothing
151 ghuddy 1094
 
3959 dpurdie 1095
                                                 End If
1096
                                                 %>
4230 dpurdie 1097
                                              </select>&nbsp;Existing Versions
3959 dpurdie 1098
                                           <%End If%>
1099
                                           </td>
1100
                                        </tr>
1101
                                        </table>
1102
                                    </td>
151 ghuddy 1103
                                 </tr>
1104
                                 <tr>
1105
                                    <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">Version Extension</td>
1106
                                    <td background="images/bg_form_lightgray.gif" class="form_item">
1107
                                       <DIV id="divVersionExt" name="divVersionExt">
3959 dpurdie 1108
                                          <select name="v_ext" id="v_ext" onchange="checkVersionNumber()">
151 ghuddy 1109
                                             <%
1110
                                             Call drawExtensionSelectBox( objPkgInfo.Item("v_ext"), true )
1111
                                             %>
1112
                                          </select>
1113
                                       </DIV>
1114
                                    </td>
1115
                                 </tr>
4198 dpurdie 1116
                                 <%If NOT parRename <> "" Then%>
3959 dpurdie 1117
                                 <!-- Reason For This Version -->
151 ghuddy 1118
                                 <tr>
1119
                                    <td background="images/bg_form_lightbluedark.gif" width="20%" class="form_field">Reason For This Version</td>
1120
                                    <td background="images/bg_form_lightgray.gif" nowrap width="100%" class="form_field">
3959 dpurdie 1121
                                       <textarea name="FRreason" id="FRreason" class="form_item" style="width: 420px; height: 150px" onBlur="checkReason()"></textarea>
1122
                                        <span id="frError"></span>
151 ghuddy 1123
                                    </td>
1124
                                 </tr>
4198 dpurdie 1125
                                <%End If%>
4203 dpurdie 1126
                                <tr id="change_type1">
3959 dpurdie 1127
                                   <td background="images/bg_form_lightbluedark.gif" nowrap width="20%" class="form_field">Change Type</td>
1128
                                   <td background="images/bg_form_lightgray.gif" >
1129
                                      <table width="100%" border="0" cellspacing="0" cellpadding="0">
1130
                                         <tr>
1131
                                            <td width="1%">
1132
                                              <%If bPatchOnly Then majorState = "disabled" %>
4203 dpurdie 1133
                                              <input name="change_type1" type="radio" value="M" <%=majorState%>>
3959 dpurdie 1134
                                            </td>
1135
                                            <td nowrap>
1136
                                               <span class="form_field">Major Change</span>
1137
                                            </td>
1138
                                            <td>&nbsp;</td>
1139
                                            <td>
1140
                                               <span class="form_txt">A major number change indicates the contract of the package has changed in a non-backwardly compatible manner.</span>
1141
                                            </td>
1142
                                         </tr>
1143
                                         <tr>
1144
                                            <td colspan="4"><hr width="100%" size="1" noshade></td>
1145
                                         </tr>
1146
                                         <tr>
1147
                                            <td width="1%">
1148
                                              <%If bPatchOnly Then minorState = "disabled" %>
4203 dpurdie 1149
                                              <input name="change_type1" type="radio" value="N" <%=minorState%>>
3959 dpurdie 1150
                                            </td>
1151
                                            <td align="center" nowrap>
1152
                                               <span class="form_field">Minor Change</span>
1153
                                            </td>
1154
                                            <td>&nbsp;</td>
1155
                                            <td>
1156
                                               <span class="form_txt">A minor number change indicates the contract of the package has changed in a backwardly compatible manner.</span>
1157
                                            </td>
1158
                                         </tr>
1159
                                         <tr>
1160
                                            <td colspan="4"><hr width="100%" size="1" noshade></td>
1161
                                         </tr>
1162
                                         <tr>
1163
                                            <td width="1%">
4203 dpurdie 1164
                                               <input name="change_type1" type="radio" value="P" <%=patchState%>>
3959 dpurdie 1165
                                            </td>
1166
                                            <td nowrap>
1167
                                               <span class="form_field">Patch Change</span>
1168
                                            </td>
1169
                                            <td>&nbsp;</td>
1170
                                            <td>
1171
                                               <span class="form_txt">A patch number change indicates the package has changed internally.</span>
1172
                                            </td>
1173
                                         </tr>
1174
                                      </table>
151 ghuddy 1175
 
3959 dpurdie 1176
                                   </td>
1177
                                </tr>
151 ghuddy 1178
                                 <tr>
1179
                                    <td nowrap><img src="images/h_trsp_dot.gif" width="120" height="1"></td>
1180
                                    <td></td>
1181
                                 </tr>
4203 dpurdie 1182
                                 <input type="hidden" name="change_type" id="change_type" value="X">
4631 dpurdie 1183
                                 <input type="hidden" name="build_type" id="build_type" value="A">
151 ghuddy 1184
                                 <input type="hidden" name="FRnewver" id="FRnewver" value="hello">
1185
                                 <input type="hidden" name="OLDpv_id" value="<%=parPv_id%>">
1186
                                 <input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
3959 dpurdie 1187
                                 <input type="hidden" name="newPackage" value="<%=newPackage%>">
1188
                                 <% if NOT (newPackage > 0) Then %>
1189
                                 <input type="hidden" id="FRpkgName" name="FRpkgName" value="<%=parPkgName%>">
1190
                                 <%End If%>
151 ghuddy 1191
                              </table>
1192
                           </td>
1193
                        </tr>
1194
                        <tr>
1195
                           <td width="1%">&nbsp;</td>
1196
                           <td width="1%" nowrap class="form_field"><img src="images/h_trsp_dot.gif" width="1" height="1"></td>
1197
                           <td nowrap width="100%" class="body_scol">
1198
                              <input type="submit" name="btn" value="Submit" class="form_btn" onClick="return validateFormNEWversion();">
1199
                              <input type="reset" name="btn" value="Cancel" class="form_btn" onClick="Dependency();">
1200
                              <SPAN id="ProgressBar" name="ProgressBar" style="visibility:hidden;"><img src="images/i_processing.gif" width="11" height="17" align="absmiddle" hspace="3">Processing...</SPAN>
1201
                              <br><br>
1202
                           </td>
3959 dpurdie 1203
                           <tr><td id="eMessage" colspan=3 class="err_alert">ERROR: Page Java script did not load</td><tr>
151 ghuddy 1204
                        </tr>
1205
                     </form>
1206
                  </table>
1207
                  <!-- END Body-->
1208
               </td>
1209
               <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
1210
            </tr>
1211
            <tr>
1212
               <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
1213
               <td background="images/lbox_bg_blue.gif"></td>
1214
               <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>
1215
            </tr>
1216
         </table>
1217
      </td>
1218
   </tr>
119 ghuddy 1219
</table>