Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
119 ghuddy 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
121 hknight 5
'|                    ADD                            |
6
'|                 PACKAGES                          |
7
'|              OR DEPENDENCIES                      |
119 ghuddy 8
'=====================================================
9
%>
10
<%
11
Option explicit
12
' Good idea to set when using redirect
121 hknight 13
Response.Expires = 0   ' always load the page, dont store
119 ghuddy 14
%>
15
<!--#include file="common/conf.asp"-->
16
<!--#include file="common/globals.asp"-->
17
<!--#include file="common/formating.asp"-->
18
<!--#include file="common/qstr.asp"-->
19
<!--#include file="common/common_subs.asp"-->
121 hknight 20
<!--#include file="_drawExtensionSelectBox.asp"-->
119 ghuddy 21
<%
22
 
23
'------------ ACCESS CONTROL ------------------
24
%>
25
<!--#include file="_access_control_login.asp"-->
26
<!--#include file="_access_control_general.asp"-->
27
<!--#include file="_access_control_project.asp"-->
28
<%
29
' Make sure rtag_id is always present
30
If Request("pv_id") = "" AND Request("rtag_id") = "" Then
121 hknight 31
   Response.Redirect("index.asp")
119 ghuddy 32
End If
33
%>
34
<%
35
'------------ Variable Definition -------------
36
Dim parAdd_type
37
Dim parPkg_list
38
Dim parBase_view_id
39
Dim rsPkgs
40
Dim HTML_pkg_list
41
Dim parPv_id
42
Dim parPkgfind
121 hknight 43
Dim parIsNewPackage
119 ghuddy 44
'------------ Constants Declaration -----------
45
'------------ Variable Init -------------------
46
parAdd_type = Request("add_type")
47
parPkg_list = Request("pkg_list")
48
parBase_view_id = Request("base_view_id")
49
parPv_id = Request("pv_id")
50
parPkgfind = Request("pkgfind")
121 hknight 51
parIsNewPackage = Request("isNewPackage")
119 ghuddy 52
Set pkgInfoHash = CreateObject("Scripting.Dictionary")
53
'----------------------------------------------
54
%>
55
<%
56
' ---- Action requirements ----
57
If parPkg_list = "" Then Response.Redirect( "form_search_result_pkgs.asp?pv_id="& parPv_id &_
58
                                            "&rtag_id="& parRtag_id &_
121 hknight 59
                                            "&pkgfind="& parPkgfind &_
119 ghuddy 60
                                            "&add_type="& parAdd_type &_
121 hknight 61
                                            "&errmsg=true" )
119 ghuddy 62
%>
63
<%
64
Function Page_Title ( NNadd_type )
121 hknight 65
   If NNadd_type = Cstr(enum_ADD_PACKAGES) Then
66
      Page_Title = "ADD package"
67
 
68
   ElseIf NNadd_type = Cstr(enum_ADD_DEPENDENCIES) Then
69
      Page_Title = "ADD dependency"
70
 
71
   ElseIf NNadd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then
72
      Page_Title = "ADD Runtime Dependency"
73
 
74
   Else
75
      Page_Title = ""
76
 
77
   End If
119 ghuddy 78
End Function
79
 
121 hknight 80
' Gets a set of records each one being unique by pkg_id, each row having (pkg_id, pkg_name, and num_of_versions)
81
Function Get_Pkg_Names ( NNpkg_or_pvid_list, NNadd_type )
119 ghuddy 82
 
121 hknight 83
   If NNadd_type = Cstr(enum_ADD_DEPENDENCIES) OR NNadd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then
84
      ' When adding dependencies, the NNpkg_or_pvid_list is a list of PV_ID's
85
      Get_Pkg_Names = _
86
      " SELECT pkg.PKG_ID, pkg.PKG_NAME, COUNT(pv.PV_ID) AS NUM_OF_VERSIONS "&_
87
      "     FROM PACKAGE_VERSIONS pv,"&_
88
      "           PACKAGES pkg"&_
89
      "    WHERE pv.PV_ID IN ( "& NNpkg_or_pvid_list &" ) "&_
90
      "      AND pv.PKG_ID (+) = pkg.PKG_ID"&_
91
      "    GROUP BY pv.PKG_ID, pkg.PKG_ID, pkg.PKG_NAME"
92
   Else
93
      ' When adding packages, the NNpkg_or_pvid_list is a list of PKG_ID's
94
      Get_Pkg_Names = _
95
      " SELECT pkg.PKG_ID, pkg.PKG_NAME, COUNT(pv.PV_ID) AS NUM_OF_VERSIONS "&_
96
      "     FROM PACKAGE_VERSIONS pv,"&_
97
      "           PACKAGES pkg"&_
98
      "    WHERE pkg.PKG_ID IN ( "& NNpkg_or_pvid_list &" ) "&_
99
      "      AND pv.PKG_ID (+) = pkg.PKG_ID"&_
100
      "    GROUP BY pv.PKG_ID, pkg.PKG_ID, pkg.PKG_NAME"
101
   End If
119 ghuddy 102
End Function
103
 
104
 
105
Sub Get_All_Base_Views ( NNnewgroup_id, nPkg_id )
121 hknight 106
   Dim rsTemp, Query_String
107
 
108
   Query_String = _
109
   "   SELECT vi.view_id, vi.view_name, bv.hint "&_
110
   "     FROM views vi,"&_
111
   "         ("&_
112
   "         SELECT DISTINCT rc.BASE_VIEW_ID, '>&nbsp;' AS hint"&_
113
   "           FROM release_content rc,"&_
114
   "               package_versions pv"&_
115
   "          WHERE rc.pv_id = pv.pv_id"&_
116
   "            AND pv.pkg_id IN ( "& nPkg_id &" )"&_
117
   "         ) bv"&_
118
   "    WHERE UPPER(vi.base_view) = 'Y'"&_
119
   "      AND bv.BASE_VIEW_ID (+) = vi.VIEW_ID"&_
120
   "    ORDER BY vi.view_name ASC"
121
 
122
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
123
 
124
   While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
125
      If NNnewgroup_id = Cstr( rsTemp.Fields("view_id") )  OR NOT IsNull(rsTemp("hint")) Then
126
         Response.write "<option value='"& rsTemp("view_id") &"' selected>"& rsTemp("hint") & rsTemp("view_name") &"</option>"
127
      Else
128
         Response.write "<option value='"& rsTemp("view_id") &"'>"& rsTemp("hint") & rsTemp("view_name") &"</option>"
129
      End If
130
 
131
      rsTemp.MoveNext
132
   WEnd
133
 
134
   rsTemp.Close
135
   Set rsTemp = nothing
119 ghuddy 136
End Sub
137
 
138
 
139
Sub Get_All_Personal_Views ( NNuser_id )
121 hknight 140
   Dim rsTemp, Query_String
141
   If NNuser_id = "" Then Exit Sub
142
 
143
   Query_String = _
144
   " SELECT vi.view_id, vi.view_name"&_
145
   "  FROM view_settings vs,"&_
146
   "       views vi"&_
147
   " WHERE vs.view_id = vi.view_id"&_
148
   "   AND vs.user_id = vi.owner_id  "&_
149
   "   AND vs.user_id = "& NNuser_id &_
150
   "   AND vi.base_view = 'N'"&_
151
   " ORDER BY UPPER(vi.view_name)"
152
 
153
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
154
 
155
   While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
156
      Response.write "<option value='"& rsTemp.Fields("view_id") &"'>"& rsTemp.Fields("view_name") &"</option>"
157
 
158
      rsTemp.MoveNext
159
   WEnd
160
 
161
   rsTemp.Close
162
   Set rsTemp = nothing
119 ghuddy 163
End Sub
164
 
165
 
121 hknight 166
' This function is only called when adding dependencies. It gets all of the items in the specified release
167
' and sets up dictionaries as follows:
168
'
169
'  Dict Name       key     item
170
'  ------------------------------------
171
'  DDdictPkgId     pv_id   pkg_id
172
'  DDdictPkgName   pv_id   pkg_name
173
'  DDdictPkgVer    pv_id   pkg_version
174
'  DDdictPkgExt    pv_id   v_ext
175
'
176
Sub Get_Versions_From_Release ( NNpv_id_list, NNrtag_id, DDdictPkgId, DDdictPkgName, DDdictPkgVer, DDdictPkgExt )
177
   Dim rsTemp, Query_String
178
 
179
   If NNrtag_id = "" Then
180
      Exit Sub
181
   End If
182
 
183
   Query_String = _
184
   " SELECT pv.pkg_id, pkgs.pkg_name, pv.pkg_version, pv.pv_id, pv.v_ext"&_
185
   "  FROM release_content rc,"&_
186
   "       package_versions pv,"&_
187
   "       packages pkgs"&_
188
   " WHERE rc.pv_id = pv.pv_id"&_
189
   "   AND pkgs.pkg_id = pv.pkg_id"&_
190
   "   AND rc.rtag_id = "& NNrtag_id &_
191
   "   AND pv.pv_id IN ( "& NNpv_id_list &" )"
192
 
193
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
194
 
195
   While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
196
 
197
      DDdictPkgId.ADD    Cstr(rsTemp("pv_id")), Cstr(rsTemp("pkg_id"))
198
      DDdictPkgName.ADD  Cstr(rsTemp("pv_id")), Cstr(rsTemp("pkg_name"))
199
      DDdictPkgVer.ADD   Cstr(rsTemp("pv_id")), Cstr(rsTemp("pkg_version"))
200
      If NOT IsNull(rsTemp("v_ext")) Then
201
         DDdictPkgExt.ADD   Cstr(rsTemp("pv_id")), Cstr(rsTemp("v_ext"))
202
      Else
203
         DDdictPkgExt.ADD   Cstr(rsTemp("pv_id")), Cstr("")
204
      End If
205
 
206
      rsTemp.MoveNext
207
   WEnd
208
 
209
   rsTemp.Close
210
   Set rsTemp = nothing
119 ghuddy 211
End Sub
212
 
213
 
121 hknight 214
' This function is used when adding packages to a release. The function processes a list of package ID's
215
' and forms the HTML to display for each item, the name, base version, extension, and full version,
216
' where the base version is an input text box, and the extension is a drop down list box.
217
Sub Generate_Package_List ( NNpkg_list, SShtml_pkg_list, NNrtag_id, NNadd_type )
218
 
219
   Dim rsPkgs, hidePatches, finalArg, currRsPkg, qparPkg_list
220
   Dim checkBoxId, spanPkgNameId, tdCheckBoxId
221
   Dim fullVersion
222
   Dim baseVersion
223
   Dim extension
224
   Dim commonHTML
225
   hidePatches = "hidepatches=true&"
226
 
227
   If pkgInfoHash.Item ("is_patch") = "Y" Then hidePatches = ""
228
 
229
   Set rsPkgs = OraDatabase.DbCreateDynaset( Get_Pkg_Names( NNpkg_list, NNadd_type ), cint(0))
230
   While ((NOT rsPkgs.BOF) AND (NOT rsPkgs.EOF))
231
      currRsPkg = chr(34) & rsPkgs("pkg_id") & chr(34)
232
      qparPkg_list = chr(34) & parPkg_list & chr(34)
233
 
234
      ' Begin table row
235
      SShtml_pkg_list = SShtml_pkg_list &"<tr> "
236
 
237
      spanPkgNameId = "spanPkgName" & rsPkgs("pkg_id")
238
 
239
      fullVersion = ""
240
      baseVersion = ""
241
      extension = ""
242
 
243
      ' Form package name
244
      SShtml_pkg_list = SShtml_pkg_list &"  <td background='images/bg_form_lightgray.gif' nowrap class='form_item'>" _
245
                                        & "<span id='" & spanPkgNameId & "'>"& rsPkgs("pkg_name") &"</span></td>"
246
 
247
      ' setup some common html so that we can make the (full) Version field on the right-most column of the
248
      ' table row update on certain events taking place in the version base input box, and version extension
249
      ' drop down list box
250
      commonHTML = rsPkgs("pkg_id") & "' onmouseout='updateVersion(" & currRsPkg & "," & qparPkg_list _
251
                                    & ");' onblur='updateVersion(" & currRsPkg & "," & qparPkg_list _
252
                                    & ");' onclick='updateVersion(" & currRsPkg & "," & qparPkg_list _
253
                                    & ");' onmouseup='updateVersion(" & currRsPkg & "," & qparPkg_list _
254
                                    & ");' onchange='updateVersion(" & currRsPkg & "," & qparPkg_list _
255
                                    & ");' onkeyup='updateVersion(" & currRsPkg & "," & qparPkg_list & ");'"
256
 
257
      ' Form the HTML for the version base input field
258
      SShtml_pkg_list = SShtml_pkg_list &"  <td background='images/bg_form_lightgray.gif'>"_
259
                                        &"<input type='text' style='visibility: visible' id='inputVersionBase"_
260
                                        & commonHTML & " class='form_item' size='12' value='"& baseVersion &"'"
261
 
262
      SShtml_pkg_list = SShtml_pkg_list & "> </td>"
263
 
264
 
265
      ' Form the HTML for the version Extension drop down list
266
      SShtml_pkg_list = SShtml_pkg_list &"  <td background='images/bg_form_lightgray.gif'> "_
267
                                        & "<select style='visibility: visible' id='selectVersionExtension"_
268
                                        & commonHTML & " id='selectExtension'"
269
 
270
      SShtml_pkg_list = SShtml_pkg_list & "> "
271
 
272
      ' populate drop down with valid list of extensions
273
      SShtml_pkg_list = SShtml_pkg_list & getExtensionSelectText(extension, false) ' getExtensionSelectText() is defined in _drawExtensionSelectBox.asp
274
 
275
      SShtml_pkg_list = SShtml_pkg_list &"</select>"
276
 
277
      If NNadd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then ' Runtime depencencies do not have constraints on pkg version
278
         finalArg = "'R'"
279
      Else ' Build dependencies have some format to follow
280
         finalArg = "'RisVersionStr'"
281
      End If
282
 
283
      SShtml_pkg_list = SShtml_pkg_list  &"</td>"
284
 
285
      ' Form the Use Existing Version checkbox
286
      checkBoxId = "checkBoxExistingVersion" & rsPkgs("pkg_id")
287
      tdCheckBoxId = "tdCheckBox" & rsPkgs("pkg_id")
288
 
289
      SShtml_pkg_list = SShtml_pkg_list  &"<td id='"&tdCheckBoxID&"' background='images/bg_form_lightgray.gif'>"
290
      SShtml_pkg_list = SShtml_pkg_list  &"<input type='checkBox' id='"&checkBoxId&"' onclick=""checkBoxChanged('" _
291
                                       & rsPkgs("pkg_id") & "','" & rsPkgs("pkg_name") & "');"">"
292
      SShtml_pkg_list = SShtml_pkg_list  &"</td>"
293
 
294
      ' Form the (full) Version display field
295
      SShtml_pkg_list = SShtml_pkg_list &"  <td background='images/bg_form_lightgray.gif'>"
296
 
297
      SShtml_pkg_list = SShtml_pkg_list &"<span nowrap class='form_item' name='spanFullVersion" & rsPkgs("pkg_id") _
298
                                        & "' id='spanFullVersion" & rsPkgs("pkg_id") & "'> unset </span>"
299
 
300
      SShtml_pkg_list = SShtml_pkg_list & "<input type='hidden'  id='pkgn" & rsPkgs("pkg_id") _
301
                                        & "' name='pkgn" & rsPkgs("pkg_id") & "' ' class='form_item' size='12' value='" & fullVersion & "'> "
302
 
303
      ' End table row
304
      SShtml_pkg_list = SShtml_pkg_list  &"</tr>"
305
 
306
      rsPkgs.MoveNext
307
   WEnd
119 ghuddy 308
End Sub
121 hknight 309
 
310
' This function deals with a PV_ID list, not a PKG_ID list. Hence, it is used for the ADD Dependencies user operation.
311
' The function was initially based on the Generate_Package_List() function, and then stripped back and reworked to use
312
' the result of the Get_Versions_From_Release() function, which now processes PV_ID lists also.
313
' It does not display the base version or an extension drop down list box, like the Generate_Package_List() function,
314
' because it is not needed. Adding a dependency means taking the latest version in the release, there is no choice about
315
' it.
316
Sub Generate_Version_List ( NNpv_id_list, SShtml_pkg_list, NNrtag_id, NNadd_type )
317
 
318
   Dim finalArg
319
   Dim spanPkgNameId
320
   Dim fullVersion
321
   Dim i
322
 
323
   ' dictionaries and arrays
324
   Dim dictPkgId, dictPkgVer, dictPkgExt, dictPkgName
325
   Dim pv_ids, pkg_ids, versions, pkg_names
326
 
327
   ' create dictionaries
328
   Set dictPkgId   = CreateObject("Scripting.Dictionary")
329
   Set dictPkgName = CreateObject("Scripting.Dictionary")
330
   Set dictPkgVer  = CreateObject("Scripting.Dictionary")
331
   Set dictPkgExt  = CreateObject("Scripting.Dictionary")   ' This one assigned, and populated, but currently not used thereafter
332
 
333
   ' populate dictionaries
334
   Call Get_Versions_From_Release ( NNpv_id_list, NNrtag_id, dictPkgId, dictPkgName, dictPkgVer, dictPkgExt )
335
 
336
   ' get the columns we need from the dictionaries
337
   pv_ids    = dictPkgId.Keys
338
   pkg_names = dictPkgName.Items
339
   pkg_ids   = dictPkgId.Items
340
   versions  = dictPkgVer.Items
341
 
342
   ' iterate through all the PV_ID's we found using the Get_Versions_From_Release() function
343
   For i = 0 to ubound(pv_ids)
344
 
345
      fullVersion = versions(i)
346
 
347
      ' Begin table row
348
      SShtml_pkg_list = SShtml_pkg_list &"<tr> "
349
 
350
      ' NOTE: the formation of this span name may result in more than one span of the same name in the HTML.
351
      ' This is because there may be >1 package version of the same package ID (eg sysbasetypes.mas, sysbasetypes.sea)
352
      ' being added as dependencies. It doesn't seem to matter though. It just reflects the ancestry of this code which
353
      ' used to be exclusively package ID focused, whereas now, it has a pv_id focus when dealing with dependencies.
354
      spanPkgNameId = "spanPkgName" & pkg_names(i)
355
 
356
      ' Form package name
357
      SShtml_pkg_list = SShtml_pkg_list & " <td background='images/bg_form_lightgray.gif' nowrap class='form_item'>" _
358
                                        & " <span id='" & spanPkgNameId & "'>"& pkg_names(i) &"</span></td>"
359
 
360
 
361
      If NNadd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then ' Runtime depencencies do not have constraints on pkg version
362
         finalArg = "'R'"
363
      Else ' Build dependencies have some format to follow
364
         finalArg = "'RisVersionStr'"
365
      End If
366
 
367
      ' Form the (full) Version display field
368
      SShtml_pkg_list = SShtml_pkg_list &"  <td background='images/bg_form_lightgray.gif'>"
369
 
370
      If fullVersion = "" Then
371
         SShtml_pkg_list = SShtml_pkg_list &"<span nowrap class='form_item' name='spanFullVersion" & pkg_ids(i) _
372
                                           & "' id='spanFullVersion" & pkg_ids(i) & "'> unset </span>"
373
      Else
374
         SShtml_pkg_list = SShtml_pkg_list &"<span nowrap class='form_item' name='spanFullVersion" & pkg_ids(i) _
375
                                           & "' id='spanFullVersion" & pkg_ids(i) & "'>" & fullVersion & "</span>"
376
      End If
377
 
378
      SShtml_pkg_list = SShtml_pkg_list & "<input type='hidden'  id='pkgn" & pkg_ids(i) _
379
                                        & "' name='pkgn" & pkg_ids(i) & "' ' class='form_item' size='12' value='" & fullVersion & "'> "
380
 
381
      ' End table row
382
      SShtml_pkg_list = SShtml_pkg_list  &"</tr>"
383
   Next
384
End Sub
385
 
386
 
119 ghuddy 387
%>
388
<%
389
If parPv_id <> "" Then
121 hknight 390
   Call Get_Pkg_Info ( parPv_id, NULL )
119 ghuddy 391
End If
392
%>
393
<html>
394
<head>
395
<title>Release Manager</title>
396
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
397
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
398
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
399
<link rel="stylesheet" href="images/navigation.css" type="text/css">
400
<script language="JavaScript" src="images/common.js"></script>
121 hknight 401
<script language="JavaScript" type="text/JavaScript">
402
<!--
403
window.onload = function()
404
{
405
   if( !isNewPackage() )
406
      return;
407
 
408
   var packageIds = new Array();
409
   {
410
      <%
411
      Dim rsPkgsTmp
412
      Set rsPkgsTmp = OraDatabase.DbCreateDynaset( Get_Pkg_Names( parPkg_list, parAdd_type ), cint(0))
413
      While ((NOT rsPkgsTmp.BOF) AND (NOT rsPkgsTmp.EOF))
414
      %>
415
         packageIds.push( "<%=rsPkgsTmp("pkg_id")%>" );
416
         updateVersion("<%=rsPkgsTmp("pkg_id")%>", "<%=rsPkgsTmp("pkg_id")%>");
417
      <%
418
         rsPkgsTmp.MoveNext
419
      Wend
420
      rsPkgsTmp.Close()
421
      %>
422
   }
423
 
424
   document.getElementById('tdUseExistingVersion').style.display = 'none';
425
   document.getElementById('tdCheckBox' + packageIds[0]).style.display = 'none';
426
}
427
 
428
function isNewPackage()
429
{
430
   if( "<%=parIsNewPackage%>" == "1" )
431
      return true;
432
   return false;
433
}
434
 
435
// checkBoxChanged is only called when adding packages to a release. It is not called when this form is
436
// being used to add dependencies to a package version in a release.
437
function checkBoxChanged( pkg_id, pkg_name )
438
{
439
   var checkBoxId = "checkBoxExistingVersion" + pkg_id;
440
 
441
   var popupURL = "_wform_get_version.asp";
442
 
443
   if( document.getElementById(checkBoxId).checked )
444
   {
445
      MM_openBrWindow( popupURL + "?pkg_id=" + pkg_id + "&pkg_name=" + pkg_name,"GetVersion","resizable=yes,width=400,height=400");
446
 
447
      document.getElementById('inputVersionBase'       + pkg_id).style.visibility = "hidden";
448
      document.getElementById('selectVersionExtension' + pkg_id).style.visibility = "hidden";
449
   }
450
   else
451
   {
452
      document.getElementById('inputVersionBase'       + pkg_id).style.visibility = "visible";
453
      document.getElementById('selectVersionExtension' + pkg_id).style.visibility = "visible";
454
   }
455
 
456
}
457
 
458
// getVersionObjectIds is only called when adding packages to a release. It is not called when this form is
459
// being used to add dependencies to a package version in a release.
460
function getVersionObjectIds ()
461
{
462
   var versionObjectIds = new Array(); // Memory leak?
463
 
464
   <%
465
   Dim rsPkgs3, versionObjectId
466
   Set rsPkgs3 = OraDatabase.DbCreateDynaset( Get_Pkg_Names( parPkg_list, parAdd_type ), cint(0))
467
 
468
   While ((NOT rsPkgs3.BOF) AND (NOT rsPkgs3.EOF))
469
      versionObjectId = "pkgn" & rsPkgs3("pkg_id")
470
      %>
471
      versionObjectIds.push( "<%=versionObjectId%>" );
472
      <%
473
      rsPkgs3.MoveNext
474
   Wend
475
   rsPkgs3.Close()
476
   %>
477
 
478
   return versionObjectIds;
479
}
480
 
481
// CheckVersion is only called when adding packages to a release. It is not called when this form is
482
// being used to add dependencies to a package version in a release.
483
function checkVersion ()
484
{
485
   var versionObjectIds = new Array();
486
   versionObjectIds = getVersionObjectIds();
487
 
488
   for( var iobj in versionObjectIds )
489
   {
490
      var checkBoxId = versionObjectIds[iobj].replace( /pkgn/, "checkBoxExistingVersion");
491
      var spanPkgNameId = versionObjectIds[iobj].replace( /pkgn/, "spanPkgName");
492
 
493
      var pkgName = document.getElementById(spanPkgNameId).innerHTML;
494
 
495
      var fullVersion = document.getElementById(versionObjectIds[iobj]).value;
496
      var versionBase = fullVersion.replace( /(.*)(\..*)/, "$1");
497
      var versionExt =  fullVersion.replace( /(.*)(\..*)/, "$2");
498
 
499
      var isAutobuild = document.getElementById(checkBoxId).checked;
500
 
133 ghuddy 501
      var isValid = MM_ValidateVersion(pkgName, versionBase, versionExt, isAutobuild, false);
121 hknight 502
      if (isValid)
503
      {
504
         continue;
505
      }
506
 
507
      // failed - exit function, returning false for the form.
508
      document.MM_returnValue = false;
509
      document.getElementById("ProgressBar").style.visibility = "hidden";
510
      return false;
511
   }
512
   return true;
513
}
514
 
515
 
516
//-----------------------------------------------------------------------------------------------------------------------------
517
// Javascript Function: updateFields
518
//
519
// Purpose: This is a function that is called by external javascript to updates fields in form
520
//
521
// Arguments: myPkgId (integer) - Package number
522
// myPv_id (integer) - package version number (not used in form_add_pkg_versions.asp implementation of this function)
523
// newVersion (string) - output value of the external javascript.  This is the new version
524
// cancelled (boolean) - true if user cancelled popup, else false
525
//
526
// Returns: nothing
527
//
528
// Notes: this is called by the popup window coded in _wform_get_version.asp when the user clicks 'submit' in that popup window.  An equivalent function also
529
// exists in form_edit_deps.asp for when it activates the code in _wform_get_version.asp.
530
function updateFields( myPv_id, myPkgId, newVersion, cancelled )
531
{
532
   // if user is cancelling the popup, or if the version we have got from the popup is empty...
533
   if (cancelled || newVersion == "")
534
   {
535
      // uncheck the "Use Existing Version" checkbox, and re-enable the version number and extension inputs
536
      var checkBoxId = "checkBoxExistingVersion" + myPkgId;
537
 
538
      document.getElementById(checkBoxId).checked = false;
539
 
540
      document.getElementById('inputVersionBase'       + myPkgId).style.visibility = "visible";
541
      document.getElementById('selectVersionExtension' + myPkgId).style.visibility = "visible";
542
   }
543
   else
544
   {
545
      // Note here we use myPkgId as the spanFullVersion span is associated with a pkg_id rather than a pv_id
546
      document.getElementById('spanFullVersion' + myPkgId).innerHTML = newVersion;
547
 
548
       var fullVersion = document.getElementById('spanFullVersion' + myPkgId).innerHTML;
549
      var versionBase = fullVersion.replace( /(.*)\..*/, "$1");
550
      var versionExt = fullVersion.replace( /(.*)\./, ".");
551
 
552
      document.getElementById('inputVersionBase' + myPkgId).value = versionBase;
553
      document.getElementById('selectVersionExtension' + myPkgId).value = versionExt;
554
      document.getElementById('pkgn' + myPkgId).value = fullVersion;
555
   }
556
}
557
 
558
// updateVersion is only called when adding packages to a release. It is not called when this form is
559
// being used to add dependencies to a package version in a release.
560
function updateVersion( myPkgId, myParPkg_list )
561
{
562
   document.getElementById("spanFullVersion" + myPkgId).innerHTML =
563
   document.getElementById("inputVersionBase"       + myPkgId).value +
564
   document.getElementById("selectVersionExtension" + myPkgId).value;
565
 
566
   document.getElementById("pkgn"                   + myPkgId).value =
567
   document.getElementById("inputVersionBase"       + myPkgId).value +
568
   document.getElementById("selectVersionExtension" + myPkgId).value;
569
}
570
 
571
//-->
572
</script>
119 ghuddy 573
<!-- DROPDOWN MENUS -->
574
<!--#include file="_menu_def.asp"-->
575
<script language="JavaScript1.2" src="images/popup_menu.js"></script>
121 hknight 576
<script language="JavaScript" src="images/tipster.js"></script>
577
<script language="JavaScript" src="images/_help_tips.js"></script>
119 ghuddy 578
</head>
579
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
580
<!-- MENU LAYERS -------------------------------------->
121 hknight 581
<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
119 ghuddy 582
</div>
583
<!-- TIPS LAYERS -------------------------------------->
584
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
585
<!----------------------------------------------------->
586
<!-- HEADER -->
587
<!--#include file="_header.asp"-->
588
<!-- BODY ---->
589
<table width="100%" height="80%" border="0" cellpadding="0" cellspacing="0">
121 hknight 590
   <tr>
591
      <td align="center" valign="top" background="images/bg_lght_gray.gif">
592
         <!-- MIDDLE ---------------------------------------->
593
         <table width="650" border="0" cellspacing="0" cellpadding="0">
594
            <tr>
595
               <td>
596
                  <table width="100%" border="0" cellspacing="0" cellpadding="0">
597
                     <tr>
598
                        <td width="1%"></td>
599
                           <td align="right"><img src="images/h_trsp_dot.gif" width="30" height="30"></td>
600
                        <td width="1%"></td>
601
                     </tr>
602
                     <tr>
603
                        <td width="1%"></td>
604
                        <td>
605
                           <table width="100%" border="0" cellspacing="0" cellpadding="0">
606
                              <tr>
607
                                 <td nowrap class="form_ttl"><%=Page_Title ( parAdd_type )%></td>
608
                                 <td align="right" valign="bottom"></td>
609
                              </tr>
610
                           </table>
119 ghuddy 611
                        </td>
121 hknight 612
                        <td width="1%"></td>
613
                     </tr>
614
                     <tr>
615
                        <td align="left" valign="top" width="1%" background="images/lbox_bg_blue.gif">
616
                           <img src="images/lbox_tl_cnr_b.gif" width="13" height="13">
617
                        </td>
618
                        <td background="images/lbox_bg_blue.gif" align="right">
619
                           <!-- Heading -->
620
                           <img src="images/h_trsp_dot.gif" width="1" height="20">
621
                           <!-- END Heading -->
622
                        </td>
623
                        <td align="right" valign="top" width="1%" background="images/lbox_bg_blue.gif">
624
                           <img src="images/lbox_tr_cnr_b.gif" width="13" height="13">
625
                        </td>
626
                     </tr>
627
                     <tr>
628
                        <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
629
                        <td bgcolor="#FFFFFF" valign="top">
630
                           <!-- Body -->
631
                           <table width="100%" border="0" cellspacing="1" cellpadding="2">
632
                              <% 'Use the parPkg_list in two different ways. When adding dependencies, the list contains pv_id's.
633
                                 'When adding packages it contains pkg_id's. Different functions deal with each situation.
634
                              If ( (parAdd_type <> Cstr(enum_ADD_DEPENDENCIES)) AND (parAdd_type <> Cstr(enum_ADD_RUNTIME_DEPENDENCIES)) ) Then
635
                                 Call Generate_Package_List( parPkg_list, HTML_pkg_list, parRtag_id, parAdd_type )
636
                              Else
637
                                 Call Generate_Version_List( parPkg_list, HTML_pkg_list, parRtag_id, parAdd_type )
638
                              End If%>
639
 
640
                              <%If parAdd_type = Cstr(enum_ADD_PACKAGES) Then%>
641
                                 <form name="addpkg" id="addpkg" method="post" action="_add_pkgs_to_release.asp" onSubmit="return checkVersion();">
642
                                 <%'----------- Base View --------------%>
643
                                 <tr>
644
                                    <td width="1%" nowrap class="form_group" valign="bottom"></td>
645
                                    <td nowrap width="100%" align="right" class="form_step">&nbsp;</td>
646
                                 </tr>
647
                                 <tr>
648
                                    <td colspan="2" width="1%" nowrap class="form_field" background="images/bg_form_lightbluedark.gif">To Base View</td>
649
                                 </tr>
650
                                 <tr>
651
                                    <td colspan="2" width="1%" nowrap background="images/bg_form_lightgray.gif">
652
                                       <select name="base_view_id" id="base_view_id" class="form_item">
653
                                          <option></option>
654
                                          <%Call Get_All_Base_Views( parBase_view_id, parPkg_list )%>
655
                                       </select>
656
 
657
                                       <br>
658
                                       <span class="rep_small">NOTE: Symbol '>' in Base Views drop-down list is a suggestion where to place selected package(s).</span>
659
                                    </td>
660
                                 </tr>
661
                                 <tr>
662
                                    <td width="1%" nowrap class="form_group" valign="bottom"></td>
663
                                    <td nowrap width="100%" align="right" class="form_step"><br></td>
664
                                 </tr>
665
                                 <%'----------- Private View --------------%>
666
                                 <%If QStrPar("Pview") <> "disable" Then%>
667
                                    <tr>
668
                                       <td colspan="2" width="1%" nowrap class="form_field" background="images/bg_form_lightbluedark.gif">To Personal View</td>
669
                                    </tr>
670
                                    <tr>
671
                                       <td colspan="2" width="1%" nowrap background="images/bg_form_lightgray.gif">
672
                                          <select name="personal_view_id" class="form_item">
673
                                             <option value="">None</option>
674
                                             <%Call Get_All_Personal_Views( objAccessControl.UserId )%>
675
                                          </select>
676
                                       </td>
677
                                    </tr>
678
                                    <tr>
679
                                       <td width="1%" nowrap class="form_group" valign="bottom"></td>
680
                                       <td nowrap width="100%" align="right" class="form_step"><br></td>
681
                                    </tr>
682
                                 <%End If%>
683
                                 <%'---------------------------------------%>
684
                              <%Else%>
685
                                 <%If parAdd_type = Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then%>
686
                                    <form name="addpkg" method="post" action="_add_runtime_dependencies.asp" onSubmit="return true">
687
                                 <%Else%>
688
                                    <form name="addpkg" method="post" action="_update_dependencies.asp" onSubmit="return true">
689
                                 <%End If%>
690
                                 <tr>
691
                                    <td colspan="2" width="1%" nowrap class="form_field">
692
                                       <%=pkgInfoHash.Item ("pkg_name")%>&nbsp;<%=pkgInfoHash.Item ("pkg_version")%>
693
                                    </td>
694
                                 </tr>
695
                              <%End If%>
696
 
697
                              <tr>
698
                                 <td colspan="2" width="1%" nowrap class="form_field">
699
                                    <table width="100%" border="0" cellspacing="1" cellpadding="2">
700
                                       <tr>
701
                                          <td background="images/bg_form_lightbluedark.gif" nowrap width="10%" class="form_field">Package Name
702
                                             <img src="images/h_trsp_dot.gif" width="1" height="20" align="absmiddle">
703
                                          </td>
704
                                          <% 'Do not display the VersionBase, VersionExtension, and Use Existing Version columns if we are adding dependencies
705
                                          If parAdd_type <> Cstr(enum_ADD_DEPENDENCIES) AND parAdd_type <> Cstr(enum_ADD_RUNTIME_DEPENDENCIES) Then%>
706
                                             <td background="images/bg_form_lightbluedark.gif" nowrap width="10%" class="form_field">Version Base</td>
707
                                             <td background="images/bg_form_lightbluedark.gif" nowrap width="10%" class="form_field">Version Extension</td>
708
                                             <td id='tdUseExistingVersion' background="images/bg_form_lightbluedark.gif" nowrap class="form_field" width="30%">
709
                                                Use Existing Version
710
                                                <a onmouseout="formTips.hide()" onmouseover="formTips.show('existingVersion')" href="javascript:;">
711
                                                   <img width="12" hspace="2" height="12" border="0" align="absmiddle" src="images/i_help.gif" />
712
                                                </a>
713
                                             </td>
714
                                          <%End If%>
715
 
716
                                          <td background="images/bg_form_lightbluedark.gif" nowrap width="40%" class="form_field">Version</td>
717
                                       </tr>
718
                                       <%=HTML_pkg_list%>
719
                                       <tr>
720
                                          <td nowrap><img src="images/h_trsp_dot.gif" width="120" height="1"></td>
721
                                          <td></td>
722
                                       </tr>
723
                                    </table>
724
                                 </td>
725
                              </tr>
726
                              <tr>
727
                                 <td colspan="2" nowrap class="form_field">
728
                                    <input type="reset" name="btn" value="&laquo; Back" class="form_btn" onClick="history.back();">
729
                                    <input type="reset" name="btn" value="Cancel" class="form_btn" onClick="history.go(-3);">
730
                                    <input type="submit" name="btn" value="  Add  " class="form_btn">
731
                                    <SPAN id="ProgressBar" name="ProgressBar" style="visibility:hidden;" class="body_scol">
732
                                       <img src="images/i_processing.gif" width="11" height="17" align="absmiddle" hspace="3">Processing...
733
                                    </SPAN>
734
                                    <br> <br>
735
                                 </td>
736
                              </tr>
737
                              <input type="hidden" name="update_type" value="add_custom">
738
                              <input type="hidden" name="pv_id" value="<%=parPv_id%>">
739
                              <input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
740
                              <input type="hidden" name="pkg_list" value="<%=parPkg_list%>">
741
                              </form>
742
                           </table>
743
                           <!-- END Body-->
744
                        </td>
745
                        <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
746
                     </tr>
747
                     <tr>
748
                        <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom">
749
                           <img src="images/lbox_bl_cnr_b.gif" width="13" height="13">
750
                        </td>
751
                        <td background="images/lbox_bg_blue.gif"></td>
752
                        <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom" align="right">
753
                           <img src="images/lbox_br_cnr_b.gif" width="13" height="13">
754
                        </td>
755
                     </tr>
119 ghuddy 756
                  </table>
121 hknight 757
               </td>
758
            </tr>
759
         </table>
760
         <!-------------------------------------------------->
761
      </td>
762
   </tr>
763
   <tr>
764
      <td valign="bottom" background="images/bg_lght_gray.gif">
765
         <!-- FOOTER -->
766
         <!--#include file="_footer.asp"-->
767
      </td>
768
   </tr>
119 ghuddy 769
</table>
770
</body>
771
</html>
772
<%
773
Call Destroy_All_Objects
121 hknight 774
%>