Subversion Repositories DevTools

Rev

Rev 6874 | Rev 7002 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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