| Line 15... |
Line 15... |
| 15 |
<!--#include file="common/conf.asp"-->
|
15 |
<!--#include file="common/conf.asp"-->
|
| 16 |
<!--#include file="common/globals.asp"-->
|
16 |
<!--#include file="common/globals.asp"-->
|
| 17 |
<!--#include file="common/formating.asp"-->
|
17 |
<!--#include file="common/formating.asp"-->
|
| 18 |
<!--#include file="common/qstr.asp"-->
|
18 |
<!--#include file="common/qstr.asp"-->
|
| 19 |
<!--#include file="common/common_subs.asp"-->
|
19 |
<!--#include file="common/common_subs.asp"-->
|
| 20 |
|
- |
|
| 21 |
<%
|
20 |
<%
|
| 22 |
' Make sure rtag_id is always present
|
21 |
' Make sure rtag_id is always present
|
| 23 |
If Request("pv_id") = "" Then
|
22 |
If Request("pv_id") = "" Then
|
| 24 |
Response.Redirect("index.asp")
|
23 |
Response.Redirect("index.asp")
|
| 25 |
End If
|
24 |
End If
|
| Line 49... |
Line 48... |
| 49 |
OraDatabase.Parameters.Add "RTAG_ID", nRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
48 |
OraDatabase.Parameters.Add "RTAG_ID", nRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
| 50 |
OraDatabase.Parameters.Add "PV_ID", NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
49 |
OraDatabase.Parameters.Add "PV_ID", NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
| 51 |
|
50 |
|
| 52 |
Set rsDeps = OraDatabase.DbCreateDynaset( Query_String, cint(0))
|
51 |
Set rsDeps = OraDatabase.DbCreateDynaset( Query_String, cint(0))
|
| 53 |
While ((NOT rsDeps.BOF) AND (NOT rsDeps.EOF))
|
52 |
While ((NOT rsDeps.BOF) AND (NOT rsDeps.EOF))
|
| - |
|
53 |
Dim PVID : PVID=rsDeps("pv_id")
|
| - |
|
54 |
Dim PKGID: PKGID=rsDeps("pkg_id")
|
| - |
|
55 |
|
| 54 |
disabled = FALSE
|
56 |
disabled = FALSE
|
| 55 |
'If IsNull(rsDeps("lpv_id")) Then
|
57 |
'If IsNull(rsDeps("lpv_id")) Then
|
| 56 |
' disabled = TRUE
|
58 |
' disabled = TRUE
|
| 57 |
'End If
|
59 |
'End If
|
| 58 |
|
60 |
|
| 59 |
If NOT disabled Then
|
61 |
If NOT disabled Then
|
| 60 |
SShtml_pkg_list = SShtml_pkg_list &"<tr> "
|
62 |
SShtml_pkg_list = SShtml_pkg_list &"<tr> "
|
| 61 |
SShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif' nowrap class='form_item'>"& rsDeps("pkg_name") &"<input name='bt"& rsDeps("pv_id") &"' type='hidden' value='"& rsDeps("build_type") &"'></td>"
|
63 |
SShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif' nowrap class='form_item'>"& rsDeps("pkg_name") &"<input name='bt"& PVID &"' type='hidden' value='"& rsDeps("build_type") &"'></td>"
|
| 62 |
SShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif'><input type='text' id='pkgn"& rsDeps("pv_id") &"' name='pkgn"& rsDeps("pv_id") &"' class='form_item' size='12' value='"& rsDeps("pkg_version") &"' onBlur='Compare_Version ( """& rsDeps("pv_id") &""" );' onFocus='Compare_Version ( """& rsDeps("pv_id") &""" );'> "
|
64 |
SShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif'>" &_
|
| - |
|
65 |
"<select style='width:10em;display:none' id='edpkgn"& PVID &"' class='form_item' > " &_
|
| - |
|
66 |
"<input type='text' readonly ondblclick='editVerNum("& PKGID &","& PVID&");' id='pkgn"& PVID &"' name='pkgn"& PVID &"' class='form_item' size='12' value='"& rsDeps("pkg_version") &"' onBlur='Compare_Version ( """& PVID &""" );' onFocus='Compare_Version ( """& PVID &""" );'> "
|
| 63 |
SShtml_pkg_list = SShtml_pkg_list &" <a href='javascript:;' onClick='MM_openBrWindow(""_wform_get_version.asp?pkg_id="& rsDeps("pkg_id") &"&pkg_name="& rsDeps("pkg_name") &"&pv_id="& rsDeps("pv_id") &""",""GetVersion"",""resizable=yes,width=350,height=150"")'><img src='images/i_get.gif' width='16' height='16' align='absmiddle' hspace='5' border='0' alt='Get package version from the list' title='Get package version from the list'></a> "
|
67 |
SShtml_pkg_list = SShtml_pkg_list &" <a href='javascript:;' onClick='editVerNum("& PKGID &","& PVID & ")'><img src='images/i_edit.gif' width='12' height='12' align='absmiddle' border='0' alt='Edit Version' title='Select Version from a list'></a> "
|
| 64 |
SShtml_pkg_list = SShtml_pkg_list &" </td>"
|
68 |
SShtml_pkg_list = SShtml_pkg_list &" </td>"
|
| 65 |
Else
|
69 |
Else
|
| 66 |
SShtml_pkg_list = SShtml_pkg_list &"<tr> "
|
70 |
SShtml_pkg_list = SShtml_pkg_list &"<tr> "
|
| 67 |
SShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif' nowrap class='form_item'>"& rsDeps("pkg_name") &"<input name='bt"& rsDeps("pv_id") &"' type='hidden' value='"& rsDeps("build_type") &"'></td>"
|
71 |
SShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif' nowrap class='form_item'>"& rsDeps("pkg_name") &"<input name='bt"& PVID &"' type='hidden' value='"& rsDeps("build_type") &"'></td>"
|
| 68 |
SShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif'><input disabled type='text' class='form_item' size='12' value='"& rsDeps("pkg_version") &"'>"
|
72 |
SShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif'><input disabled type='text' class='form_item' size='12' value='"& rsDeps("pkg_version") &"'>"
|
| 69 |
SShtml_pkg_list = SShtml_pkg_list &" </td>"
|
73 |
SShtml_pkg_list = SShtml_pkg_list &" </td>"
|
| 70 |
End If
|
74 |
End If
|
| 71 |
|
75 |
|
| 72 |
' Latest Versions
|
76 |
' Latest Versions
|
| 73 |
LatestVisible = "style='display:none;'"
|
77 |
LatestVisible = "style='display:none;'"
|
| 74 |
If ( rsDeps("pv_id") <> rsDeps("lpv_id") ) AND ( NOT disabled ) Then
|
78 |
If ( PVID <> rsDeps("lpv_id") ) AND ( NOT disabled ) Then
|
| 75 |
LatestVisible = ""
|
79 |
LatestVisible = ""
|
| 76 |
End If
|
80 |
End If
|
| 77 |
SShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif' class='sublbox_hitem'><DIV id='divLPV"& rsDeps("pv_id") &"' name='divLPV"& rsDeps("pv_id") &"' "& LatestVisible &">"&_
|
81 |
SShtml_pkg_list = SShtml_pkg_list &" <td background='images/bg_form_lightgray.gif' class='sublbox_hitem'><DIV id='divLPV"& PVID &"' name='divLPV"& PVID &"' "& LatestVisible &">"&_
|
| 78 |
"<a href='javascript:;' onClick='Merge_Version ( ""pkgn"& rsDeps("pv_id") &""", """& rsDeps("lpkg_version") &""", ""divLPV"& rsDeps("pv_id") &""" );'>"&_
|
82 |
"<a href='javascript:;' onClick='Merge_Version ( """& PVID &""", """& rsDeps("lpkg_version") &""" );'>"&_
|
| 79 |
"<img src='images/bt_move_left.gif' border='0' alt='Bring over this latest version' hspace='2' align='absmiddle'>"&_
|
83 |
"<img src='images/bt_move_left.gif' border='0' alt='Bring over this latest version' hspace='2' align='absmiddle'>"&_
|
| 80 |
"</a>"& rsDeps("lpkg_version") &"<input name='lp"& rsDeps("pv_id") &"' type='hidden' value='"& rsDeps("lpkg_version") &"'></DIV></td> "
|
84 |
"</a>"& rsDeps("lpkg_version") &"<input name='lp"& PVID &"' type='hidden' value='"& rsDeps("lpkg_version") &"'></DIV></td> "
|
| 81 |
|
85 |
|
| 82 |
SShtml_pkg_list = SShtml_pkg_list &"</tr>"
|
86 |
SShtml_pkg_list = SShtml_pkg_list &"</tr>"
|
| 83 |
|
87 |
|
| 84 |
If disabled Then
|
88 |
If disabled Then
|
| 85 |
' Store not found dependency as hidden field.
|
89 |
' Store not found dependency as hidden field.
|
| 86 |
' NOTE: This is not safe as the client can temper with hidden value but it will do for now.
|
90 |
' NOTE: This is not safe as the client can temper with hidden value but it will do for now.
|
| 87 |
SShtml_pkg_list = SShtml_pkg_list &"<input type='hidden' name='pkgn"& rsDeps("pv_id") &"' value='"& rsDeps("pkg_version") &"'>"
|
91 |
SShtml_pkg_list = SShtml_pkg_list &"<input type='hidden' name='pkgn"& PVID &"' value='"& rsDeps("pkg_version") &"'>"
|
| 88 |
Else
|
92 |
Else
|
| 89 |
SSJSreq = SSJSreq & ",'pkgn"& rsDeps("pv_id") &"','"& rsDeps("pkg_name") &" Version','RisVersionStr'"
|
93 |
SSJSreq = SSJSreq & ",'pkgn"& PVID &"','"& rsDeps("pkg_name") &" Version','RisVersionStr'"
|
| 90 |
End If
|
94 |
End If
|
| 91 |
|
95 |
|
| 92 |
rsDeps.MoveNext
|
96 |
rsDeps.MoveNext
|
| 93 |
WEnd
|
97 |
WEnd
|
| 94 |
If SSJSreq <> "" Then SSJSreq = Right( SSJSreq, Len(SSJSreq)-1 ) ' Remove first comma
|
98 |
If SSJSreq <> "" Then SSJSreq = Right( SSJSreq, Len(SSJSreq)-1 ) ' Remove first comma
|
| Line 121... |
Line 125... |
| 121 |
<link rel="stylesheet" href="images/navigation.css" type="text/css">
|
125 |
<link rel="stylesheet" href="images/navigation.css" type="text/css">
|
| 122 |
<script language="JavaScript" src="images/common.js"></script>
|
126 |
<script language="JavaScript" src="images/common.js"></script>
|
| 123 |
<!-- DROPDOWN MENUS -->
|
127 |
<!-- DROPDOWN MENUS -->
|
| 124 |
<!--#include file="_menu_def.asp"-->
|
128 |
<!--#include file="_menu_def.asp"-->
|
| 125 |
<script language="JavaScript1.2" src="images/popup_menu.js"></script>
|
129 |
<script language="JavaScript1.2" src="images/popup_menu.js"></script>
|
| - |
|
130 |
<!-- JSON Support -------------------------->
|
| - |
|
131 |
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
|
| - |
|
132 |
<script type="text/javascript" src="scripts/json2.js"></script>
|
| 126 |
<script language="JavaScript" type="text/JavaScript">
|
133 |
<script language="JavaScript" type="text/JavaScript">
|
| 127 |
<!--
|
134 |
<!--
|
| - |
|
135 |
|
| - |
|
136 |
// Restore original value
|
| 128 |
function Merge_Version ( pkgtxt_name, lpkg_version, lpkg_div ) {
|
137 |
function Merge_Version (pv_id, lpkg_version) {
|
| - |
|
138 |
endEditVerNum(pv_id);
|
| - |
|
139 |
var ediv = MM_findObj("divLPV"+ pv_id );
|
| - |
|
140 |
var epkg = MM_findObj("pkgn"+ pv_id );
|
| - |
|
141 |
|
| 129 |
MM_findObj( pkgtxt_name ).value = lpkg_version;
|
142 |
if(epkg) epkg.value = lpkg_version;
|
| 130 |
MM_findObj( lpkg_div ).style.display = "none";
|
143 |
if(ediv) ediv.style.display = "none";
|
| 131 |
}
|
144 |
}
|
| 132 |
|
145 |
|
| - |
|
146 |
// Highlight diff between release and user selection
|
| 133 |
function Compare_Version ( pv_id ) {
|
147 |
function Compare_Version ( pv_id ) {
|
| 134 |
var cv, lv;
|
148 |
var cv, lv, el;
|
| - |
|
149 |
|
| 135 |
cv = MM_findObj( "pkgn" + pv_id ).value;
|
150 |
el = MM_findObj( "pkgn" + pv_id );
|
| - |
|
151 |
cv = (el) ? el.value : 0;
|
| - |
|
152 |
|
| 136 |
lv = MM_findObj( "lp" + pv_id ).value;
|
153 |
lv = MM_findObj( "lp" + pv_id ).value;
|
| - |
|
154 |
var ediv = MM_findObj("divLPV"+ pv_id );
|
| - |
|
155 |
ediv.style.display = (cv == lv) ? 'none' : 'block';
|
| - |
|
156 |
}
|
| 137 |
|
157 |
|
| 138 |
if ( cv != lv ) {
|
158 |
// Edit the version number
|
| - |
|
159 |
var editData = new Object();
|
| 139 |
MM_findObj( "divLPV"+ pv_id ).style.display = "block";
|
160 |
function editVerNum(NNpkg_id, NN_pv_id)
|
| - |
|
161 |
{
|
| - |
|
162 |
// Only initiate the edit once
|
| - |
|
163 |
if (editData[NN_pv_id])
|
| 140 |
} else {
|
164 |
{
|
| - |
|
165 |
endEditVerNum(NN_pv_id);
|
| - |
|
166 |
return;
|
| - |
|
167 |
}
|
| - |
|
168 |
|
| - |
|
169 |
// Get the base element in the document
|
| - |
|
170 |
var elem = document.getElementById('pkgn' + NN_pv_id );
|
| - |
|
171 |
var elemed = document.getElementById('edpkgn' + NN_pv_id );
|
| - |
|
172 |
if ( ! (elem && elemed) )
|
| - |
|
173 |
return;
|
| - |
|
174 |
|
| - |
|
175 |
// Show edit element and hide the fixed text
|
| 141 |
MM_findObj( "divLPV"+ pv_id ).style.display = "none";
|
176 |
elem.style.display = 'none';
|
| - |
|
177 |
elemed.style.display = '';
|
| - |
|
178 |
|
| - |
|
179 |
// Populate essential fields
|
| - |
|
180 |
elemed.onchange = function(){editUpdate(NN_pv_id);}
|
| - |
|
181 |
elemed.onblur = elemed.onchange;
|
| - |
|
182 |
|
| - |
|
183 |
// Create a dummy selection to indicate loading
|
| - |
|
184 |
var el = document.createElement("option");
|
| - |
|
185 |
var vname = "Loading";
|
| - |
|
186 |
el.textContent = vname;
|
| - |
|
187 |
el.value = vname;
|
| - |
|
188 |
elemed.appendChild(el);
|
| 142 |
}
|
189 |
|
| - |
|
190 |
// Save refs to the two elements
|
| - |
|
191 |
var np = editData[NN_pv_id] = new Object();
|
| - |
|
192 |
|
| - |
|
193 |
np.edit = elemed;
|
| - |
|
194 |
np.elem = elem;
|
| - |
|
195 |
np.Value = elem.value;
|
| 143 |
|
196 |
|
| - |
|
197 |
// Load version data into this new element
|
| - |
|
198 |
getVersions(NNpkg_id, NN_pv_id);
|
| 144 |
}
|
199 |
}
|
| 145 |
|
200 |
|
| 146 |
//-----------------------------------------------------------------------------------------------------------------------------
|
- |
|
| 147 |
// Javascript Function: updateFields
|
201 |
function editUpdate(NN_pv_id)
|
| 148 |
//
|
- |
|
| 149 |
// Purpose: This is a function that is called by external javascript to update fields in form
|
- |
|
| 150 |
//
|
- |
|
| 151 |
// Arguments: myPv_id (integer) - Package version number
|
- |
|
| 152 |
// myPkgId (integer) - Package number (not used in form_edit_deps.asp implementation of this function)
|
- |
|
| 153 |
// newVersion (string) - output value of the external javascript. This is the new version
|
- |
|
| 154 |
// cancelled (boolean) - true if user cancelled popup, else false
|
- |
|
| 155 |
//
|
- |
|
| 156 |
// Returns: nothing
|
- |
|
| 157 |
//
|
- |
|
| 158 |
// 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
|
- |
|
| 159 |
// exists in form_add_pkg_versions.asp for when it activates the code in _wform_get_version.asp.
|
- |
|
| 160 |
function updateFields( myPv_id, myPkgId, newVersion, cancelled )
|
- |
|
| 161 |
{
|
202 |
{
|
| 162 |
// if user is cancelling the popup, or if the version we have got from the popup is empty...
|
- |
|
| 163 |
if (cancelled || newVersion == "")
|
203 |
var sd = editData[NN_pv_id];
|
| 164 |
{
|
- |
|
| 165 |
// do nothing
|
- |
|
| 166 |
}
|
- |
|
| 167 |
else
|
- |
|
| 168 |
{
|
- |
|
| 169 |
// Note here we use myPv_id as the pkgn input field of the 'editdep' form is associated with a pv_id rather than a pkg_id
|
- |
|
| 170 |
document.getElementById("pkgn" + myPv_id).value = newVersion;
|
204 |
sd.elem.value = sd.edit.value;
|
| 171 |
document.getElementById("pkgn" + myPv_id).focus();
|
205 |
Compare_Version(NN_pv_id);
|
| 172 |
}
|
- |
|
| 173 |
}
|
206 |
}
|
| - |
|
207 |
|
| - |
|
208 |
// Globals are used to save state information
|
| - |
|
209 |
function endEditVerNum(NN_pv_id)
|
| - |
|
210 |
{
|
| - |
|
211 |
var sd = editData[NN_pv_id];
|
| - |
|
212 |
if (sd) {
|
| - |
|
213 |
sd.elem.value = sd.edit.value;
|
| - |
|
214 |
sd.edit.style.display = 'none';
|
| - |
|
215 |
sd.elem.style.display = '';
|
| - |
|
216 |
|
| - |
|
217 |
delete editData[NN_pv_id];
|
| - |
|
218 |
}
|
| - |
|
219 |
}
|
| - |
|
220 |
|
| - |
|
221 |
// Allow the user to populate the version selector box
|
| - |
|
222 |
// Enables the selector once its been populated
|
| - |
|
223 |
// Uses AJAX to populate the item on demand
|
| - |
|
224 |
function getVersions(NNpkg_id, NN_pv_id)
|
| - |
|
225 |
{
|
| - |
|
226 |
xmlHttp=GetXmlHttpObject(getVersionsDone);
|
| - |
|
227 |
if (xmlHttp==null)
|
| - |
|
228 |
{
|
| - |
|
229 |
alert ("Your browser does not support AJAX!");
|
| - |
|
230 |
return;
|
| - |
|
231 |
}
|
| - |
|
232 |
|
| - |
|
233 |
var url = "_json_checkPackage.asp?"
|
| - |
|
234 |
+ "pkg_id=" + NNpkg_id
|
| - |
|
235 |
+ "&ref=" + NN_pv_id
|
| - |
|
236 |
+ "&Opr=getVerList";
|
| - |
|
237 |
MM_showProgressBar();
|
| - |
|
238 |
xmlHttp.open("GET",url,true); // `false` makes the request synchronous
|
| - |
|
239 |
xmlHttp.send(null);
|
| - |
|
240 |
}
|
| - |
|
241 |
|
| - |
|
242 |
// Call back for getVersions
|
| - |
|
243 |
function getVersionsDone()
|
| - |
|
244 |
{
|
| - |
|
245 |
//readyState of 4 or 'complete' represents that data has been returned
|
| - |
|
246 |
if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){
|
| - |
|
247 |
MM_hideProgressBar();
|
| - |
|
248 |
|
| - |
|
249 |
//Gather the results from the callback
|
| - |
|
250 |
var str = xmlHttp.responseText;
|
| - |
|
251 |
//alert("JSON:" + str);
|
| - |
|
252 |
if ( !str ) {
|
| - |
|
253 |
alert("Empty responce from Release Manager. May have been logged ");
|
| - |
|
254 |
return;
|
| - |
|
255 |
}
|
| - |
|
256 |
var myJson = JSON.parse(str);
|
| - |
|
257 |
if(myJson.error)
|
| - |
|
258 |
{
|
| - |
|
259 |
alert("Invalid responce from Release Manager");
|
| - |
|
260 |
return;
|
| - |
|
261 |
}
|
| - |
|
262 |
|
| - |
|
263 |
var ref = myJson.VersionRef;
|
| - |
|
264 |
var sd = editData[ref];
|
| - |
|
265 |
var select = sd.edit;
|
| - |
|
266 |
var sv = (sd) ? sd.Value : 0;
|
| - |
|
267 |
|
| - |
|
268 |
select.innerHTML = '';
|
| - |
|
269 |
select.disabled = false;
|
| - |
|
270 |
for( var ii=0; ii< myJson.Versions.length; ii++)
|
| - |
|
271 |
{
|
| - |
|
272 |
var el = document.createElement("option");
|
| - |
|
273 |
var vname = myJson.Versions[ii].vname;
|
| - |
|
274 |
|
| - |
|
275 |
el.selected = ( vname == sv );
|
| - |
|
276 |
var p1 = el.selected ? '>' : ' ';
|
| - |
|
277 |
var p2 = (myJson.Versions[ii].dlocked == "Y") ? 'R ' : ' ';
|
| - |
|
278 |
|
| - |
|
279 |
el.textContent = p1 + p2 + vname;
|
| - |
|
280 |
el.value = vname;
|
| - |
|
281 |
select.appendChild(el);
|
| - |
|
282 |
}
|
| - |
|
283 |
}
|
| - |
|
284 |
}
|
| - |
|
285 |
|
| 174 |
// -->
|
286 |
// -->
|
| 175 |
</script>
|
287 |
</script>
|
| 176 |
|
288 |
|
| 177 |
</head>
|
289 |
</head>
|
| 178 |
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
|
290 |
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
|