Subversion Repositories DevTools

Rev

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