Subversion Repositories DevTools

Rev

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

Rev 3901 Rev 3902
Line 48... Line 48...
48
	OraDatabase.Parameters.Add "RTAG_ID", nRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
48
	OraDatabase.Parameters.Add "RTAG_ID", nRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
49
	OraDatabase.Parameters.Add "PV_ID", NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBER
49
	OraDatabase.Parameters.Add "PV_ID", NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBER
50
 
50
 
51
	Set rsDeps = OraDatabase.DbCreateDynaset( Query_String, cint(0))
51
	Set rsDeps = OraDatabase.DbCreateDynaset( Query_String, cint(0))
52
	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
 
53
		disabled = FALSE
56
		disabled = FALSE
54
		'If IsNull(rsDeps("lpv_id")) Then
57
		'If IsNull(rsDeps("lpv_id")) Then
55
		'	disabled = TRUE
58
		'	disabled = TRUE
56
		'End If
59
		'End If
57
 
60
 
58
		If NOT disabled Then
61
		If NOT disabled Then
59
			SShtml_pkg_list = SShtml_pkg_list &"<tr> "
62
			SShtml_pkg_list = SShtml_pkg_list &"<tr> "
60
			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>"
61
			SShtml_pkg_list = SShtml_pkg_list &"  <td background='images/bg_form_lightgray.gif'>" &_
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' > " &_
62
                                "<input type='text' readonly ondblclick='editVerNum("& rsDeps("pkg_id") &","& rsDeps("pv_id")&");' 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") &""" );'> "
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='editVerNum("& rsDeps("pkg_id") &","& rsDeps("pv_id") & ")'><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 128... Line 132...
128
<script type="text/javascript" src="scripts/json2.js"></script>
132
<script type="text/javascript" src="scripts/json2.js"></script>
129
<script language="JavaScript" type="text/JavaScript">
133
<script language="JavaScript" type="text/JavaScript">
130
<!--
134
<!--
131
 
135
 
132
// Restore original value
136
// Restore original value
133
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
 
134
    MM_findObj( pkgtxt_name ).value = lpkg_version;
142
    if(epkg) epkg.value = lpkg_version;
135
	MM_findObj(lpkg_div).style.display = "none";
143
    if(ediv) ediv.style.display = "none";
136
}
144
}
137
 
145
 
138
// Highlight diff between release and user selection
146
// Highlight diff between release and user selection
139
function Compare_Version ( pv_id ) {
147
function Compare_Version ( pv_id ) {
140
	var cv, lv, el;
148
	var cv, lv, el;
141
 
149
 
142
    el = MM_findObj( "pkgn" + pv_id );
150
    el = MM_findObj( "pkgn" + pv_id );
143
	cv = (el) ? el.value : 0;
151
	cv = (el) ? el.value : 0;
144
 
152
 
145
	lv = MM_findObj( "lp" + pv_id ).value;
153
	lv = MM_findObj( "lp" + pv_id ).value;
146
 
-
 
147
	if ( cv != lv ) {
-
 
148
		MM_findObj( "divLPV"+ pv_id ).style.display = "block";
154
    var ediv = MM_findObj("divLPV"+ pv_id );
149
	} else {
-
 
150
		MM_findObj( "divLPV"+ pv_id ).style.display = "none";
155
    ediv.style.display = (cv == lv) ? 'none' : 'block';
151
	}
-
 
152
 
-
 
153
}
156
}
154
 
157
 
155
// Edit the version number
158
// Edit the version number
156
var editElementSaved;
-
 
157
var editElement;
-
 
158
var editElementValue;
159
var editData = new Object();
159
function editVerNum(NNpkg_id, NN_pv_id)
160
function editVerNum(NNpkg_id, NN_pv_id)
160
{
161
{
161
    // Determine element to be edited
162
    // Only initiate the edit once
-
 
163
    if (editData[NN_pv_id])
-
 
164
    {
-
 
165
        endEditVerNum(NN_pv_id);
-
 
166
        return;
-
 
167
    }
-
 
168
 
162
    // Won't be found if we are editing one.
169
    // Get the base element in the document
163
    var elem = document.getElementById('pkgn' + NN_pv_id );
170
    var elem = document.getElementById('pkgn' + NN_pv_id );
-
 
171
    var elemed = document.getElementById('edpkgn' + NN_pv_id );
164
    if ( !elem)
172
    if ( ! (elem && elemed) )
165
        return;
173
        return;
166
 
174
 
167
    // Only edit one at a time
175
    // Show edit element and hide the fixed text
168
    // Close previous one first
176
    elem.style.display = 'none';
169
    if (editElementSaved) {
177
    elemed.style.display = '';
170
        endEditVerNum();
-
 
171
    }
-
 
172
 
178
 
173
    // Create a new selection element
-
 
174
    // Populate essential fields
179
    // Populate essential fields
175
    var nel = document.createElement("select");
180
    elemed.onchange = function(){editUpdate(NN_pv_id);}
176
    nel.style.width = '10em';
-
 
177
    nel.className = elem.className;
-
 
178
    nel.id = 'ed' + elem.id;
-
 
179
    nel.onblur = endEditVerNum;
181
    elemed.onblur = elemed.onchange;
180
    nel.onchange = function(){Compare_Version(NN_pv_id);}
-
 
181
 
182
 
182
    // Create a dummy selection to indicate loading
183
    // Create a dummy selection to indicate loading
183
    var el = document.createElement("option");
184
    var el = document.createElement("option");
184
    var vname = "Loading";
185
    var vname = "Loading";
185
    el.textContent = vname;
186
    el.textContent = vname;
186
    el.value = vname;
187
    el.value = vname;
187
    nel.appendChild(el);
188
    elemed.appendChild(el);
188
 
189
 
189
    // Save element and replace the DOM with our edit element
190
    // Save refs to the two elements
190
    editElementSaved = elem;
191
    var np = editData[NN_pv_id] = new Object();
-
 
192
    
191
    editElement = nel;
193
    np.edit = elemed;
192
    editElementValue = elem.value;
194
    np.elem = elem;
193
    elem.parentNode.replaceChild(nel, elem);
195
    np.Value = elem.value;
194
 
196
 
195
    // Load version data into this new element
197
    // Load version data into this new element
196
    getVersions(NNpkg_id, NN_pv_id);
198
    getVersions(NNpkg_id, NN_pv_id);
197
}
199
}
198
 
200
 
-
 
201
function editUpdate(NN_pv_id)
-
 
202
{
-
 
203
    var sd = editData[NN_pv_id];
199
// Only one element is being edited at any one time
204
    sd.elem.value = sd.edit.value;
-
 
205
    Compare_Version(NN_pv_id);
-
 
206
}
-
 
207
 
200
// Globals are used to save state information
208
// Globals are used to save state information
201
function endEditVerNum()
209
function endEditVerNum(NN_pv_id)
202
{
210
{
-
 
211
    var sd = editData[NN_pv_id];
203
    if (editElementSaved ) {
212
    if (sd) {
204
        editElementSaved.value = editElement.value;
213
        sd.elem.value = sd.edit.value;
205
        editElement.parentNode.replaceChild(editElementSaved, editElement);
214
        sd.edit.style.display = 'none';
206
        editElementSaved.onblur();
215
        sd.elem.style.display = '';
207
 
216
 
208
        editElementSaved = null;
217
        delete editData[NN_pv_id];
209
    }
218
    }
210
}
219
}
211
 
220
 
212
// Allow the user to populate the version selector box
221
// Allow the user to populate the version selector box
213
// Enables the selector once its been populated
222
// Enables the selector once its been populated
Line 250... Line 259...
250
            alert("Invalid responce from Release Manager");
259
            alert("Invalid responce from Release Manager");
251
            return;
260
            return;
252
        }
261
        }
253
 
262
 
254
        var ref = myJson.VersionRef;
263
        var ref = myJson.VersionRef;
-
 
264
        var sd = editData[ref];
255
        var select = document.getElementById("edpkgn" + ref);
265
        var select = sd.edit;
-
 
266
        var sv = (sd) ? sd.Value  : 0;
256
 
267
 
257
        select.innerHTML = '';
268
        select.innerHTML = '';
258
        select.disabled = false;
269
        select.disabled = false;
259
        for( var ii=0; ii< myJson.Versions.length; ii++)
270
        for( var ii=0; ii< myJson.Versions.length; ii++)
260
        {
271
        {
261
            var el = document.createElement("option");
272
            var el = document.createElement("option");
262
            var vname = myJson.Versions[ii].vname;
273
            var vname = myJson.Versions[ii].vname;
263
 
274
 
264
            el.selected = ( vname == editElementValue );
275
            el.selected = ( vname == sv );
265
            var p1 = el.selected ? '>' : ' ';
276
            var p1 = el.selected ? '>' : ' ';
266
            var p2 = (myJson.Versions[ii].dlocked == "Y") ? 'R ' : '    ';
277
            var p2 = (myJson.Versions[ii].dlocked == "Y") ? 'R ' : '    ';
267
 
278
 
268
            el.textContent = p1 + p2 + vname;
279
            el.textContent = p1 + p2 + vname;
269
            el.value = vname;
280
            el.value = vname;