Subversion Repositories DevTools

Rev

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