Subversion Repositories DevTools

Rev

Rev 121 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 121 Rev 3959
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">