Subversion Repositories DevTools

Rev

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