Subversion Repositories DevTools

Rev

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