Subversion Repositories DevTools

Rev

Rev 1281 | Rev 3898 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
119 ghuddy 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|				        EDIT 					     |
6
'|					  DEPENDENCIES				     |
7
'|                   				                 |
8
'=====================================================
9
%>
10
<%
11
Option explicit
12
' Good idea to set when using redirect
13
Response.Expires = 0	' always load the page, dont store
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"-->
3896 dpurdie 20
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
21
<script type="text/javascript" src="scripts/json2.js"></script>
119 ghuddy 22
 
23
<%
24
' Make sure rtag_id is always present
25
If Request("pv_id") = "" Then
26
	Response.Redirect("index.asp")
27
End If
28
%>
29
<%
30
'------------ ACCESS CONTROL ------------------
31
%>
32
<!--#include file="_access_control_login.asp"-->
33
<!--#include file="_access_control_general.asp"-->
34
<!--#include file="_access_control_project.asp"-->
35
<%
36
'------------ Variable Definition -------------
37
Dim parPv_id
38
Dim rsPkgs
39
Dim HTML_pkg_list
40
Dim JSrequirementsSTR
41
'------------ Constants Declaration -----------
42
'------------ Variable Init -------------------
43
parPv_id = Request("pv_id")
44
Set pkgInfoHash = CreateObject("Scripting.Dictionary")
121 hknight 45
 
119 ghuddy 46
Sub Generate_Dependencies_List ( NNpv_id, nRtag_id, SShtml_pkg_list, SSJSreq )
47
	Dim rsDeps, Query_String, LatestVisible, disabled
121 hknight 48
 
119 ghuddy 49
	Query_String = ReadFile( rootPath & "queries\edit_dependencies.sql" )
121 hknight 50
 
119 ghuddy 51
	OraDatabase.Parameters.Add "RTAG_ID", nRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
52
	OraDatabase.Parameters.Add "PV_ID", NNpv_id, ORAPARM_INPUT, ORATYPE_NUMBER
121 hknight 53
 
119 ghuddy 54
	Set rsDeps = OraDatabase.DbCreateDynaset( Query_String, cint(0))
55
	While ((NOT rsDeps.BOF) AND (NOT rsDeps.EOF))
56
		disabled = FALSE
121 hknight 57
		'If IsNull(rsDeps("lpv_id")) Then
119 ghuddy 58
		'	disabled = TRUE
59
		'End If
121 hknight 60
 
61
		If NOT disabled Then
119 ghuddy 62
			SShtml_pkg_list = SShtml_pkg_list &"<tr> "
63
			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>"
3896 dpurdie 64
			SShtml_pkg_list = SShtml_pkg_list &"  <td background='images/bg_form_lightgray.gif'><select disabled='disabled' style='width:10em' id='pkgn"& rsDeps("pv_id") &"' name='pkgn"& rsDeps("pv_id") &"' class='form_item' onBlur='Compare_Version ( """& rsDeps("pv_id") &""" );' onchange='Compare_Version ( """& rsDeps("pv_id") &""" );' value='"&rsDeps("pkg_version")&"'><option>"& rsDeps("pkg_version") &"</option></select> "
65
			'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") &""" );'> "
66
			SShtml_pkg_list = SShtml_pkg_list &"    <a href='javascript:;' onClick='getVersions("& 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> "
119 ghuddy 67
			SShtml_pkg_list = SShtml_pkg_list &"  </td>"
68
		Else
69
			SShtml_pkg_list = SShtml_pkg_list &"<tr> "
70
			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'><input disabled type='text' class='form_item' size='12' value='"& rsDeps("pkg_version") &"'>"
72
			SShtml_pkg_list = SShtml_pkg_list &"  </td>"
73
		End If
121 hknight 74
 
119 ghuddy 75
		' Latest Versions
76
		LatestVisible = "style='display:none;'"
77
		If ( rsDeps("pv_id") <> rsDeps("lpv_id") ) AND ( NOT disabled ) Then
78
			LatestVisible = ""
79
		End If
80
		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
								  		      "<a href='javascript:;' onClick='Merge_Version ( ""pkgn"& rsDeps("pv_id") &""", """& rsDeps("lpkg_version") &""", ""divLPV"& rsDeps("pv_id") &""" );'>"&_
82
											  "<img src='images/bt_move_left.gif' border='0' alt='Bring over this latest version' hspace='2' align='absmiddle'>"&_
83
											  "</a>"& rsDeps("lpkg_version") &"<input name='lp"& rsDeps("pv_id") &"' type='hidden' value='"& rsDeps("lpkg_version") &"'></DIV></td> "
121 hknight 84
 
119 ghuddy 85
		SShtml_pkg_list = SShtml_pkg_list &"</tr>"
121 hknight 86
 
119 ghuddy 87
		If disabled Then
121 hknight 88
			' Store not found dependency as hidden field.
119 ghuddy 89
			' NOTE: This is not safe as the client can temper with hidden value but it will do for now.
90
			SShtml_pkg_list = SShtml_pkg_list &"<input type='hidden' name='pkgn"& rsDeps("pv_id") &"' value='"& rsDeps("pkg_version") &"'>"
91
		Else
92
			SSJSreq = SSJSreq & ",'pkgn"& rsDeps("pv_id") &"','"& rsDeps("pkg_name") &" Version','RisVersionStr'"
93
		End If
121 hknight 94
 
119 ghuddy 95
		rsDeps.MoveNext
96
	WEnd
97
	If SSJSreq <> "" Then SSJSreq = Right( SSJSreq, Len(SSJSreq)-1 )		' Remove first comma
121 hknight 98
 
119 ghuddy 99
	OraDatabase.Parameters.Remove "RTAG_ID"
100
	OraDatabase.Parameters.Remove "PV_ID"
101
End Sub
102
%>
103
<%
104
If parPv_id <> "" Then
105
	Call Get_Pkg_Info ( parPv_id, NULL )
106
End If
107
%>
108
 
109
<%
110
'=================== MAIN LINE =====================
111
Call Generate_Dependencies_List ( parPv_id, parRtag_id, HTML_pkg_list, JSrequirementsSTR )
112
 
121 hknight 113
If JSrequirementsSTR = "" Then
119 ghuddy 114
	'Edit button clicked on empty dependency list. Redirect user to Add Dependencies
115
	Response.Redirect ("form_search_pkgs.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_id &"&add_type="& enum_ADD_DEPENDENCIES)
116
End If
117
%>
118
<html>
119
<head>
120
<title>Release Manager</title>
121
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
122
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
123
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
124
<link rel="stylesheet" href="images/navigation.css" type="text/css">
125
<script language="JavaScript" src="images/common.js"></script>
126
<!-- DROPDOWN MENUS -->
127
<!--#include file="_menu_def.asp"-->
128
<script language="JavaScript1.2" src="images/popup_menu.js"></script>
129
<script language="JavaScript" type="text/JavaScript">
130
<!--
3896 dpurdie 131
 
132
// Restore original value
119 ghuddy 133
function Merge_Version ( pkgtxt_name, lpkg_version, lpkg_div ) {
3896 dpurdie 134
    var elem = MM_findObj( pkgtxt_name )
135
    if (elem) {
136
        elem.disabled = false;
137
        elem.innerHTML = '<option>'+lpkg_version+'</option>';
138
    }
139
	MM_findObj(lpkg_div).style.display = "none";
119 ghuddy 140
}
141
 
3896 dpurdie 142
// Highlight diff between release and user selection
119 ghuddy 143
function Compare_Version ( pv_id ) {
144
	var cv, lv;
145
	cv = MM_findObj( "pkgn" + pv_id ).value;
146
	lv = MM_findObj( "lp" + pv_id ).value;
121 hknight 147
 
119 ghuddy 148
	if ( cv != lv ) {
149
		MM_findObj( "divLPV"+ pv_id ).style.display = "block";
150
	} else {
151
		MM_findObj( "divLPV"+ pv_id ).style.display = "none";
152
	}
153
 
154
}
121 hknight 155
 
3896 dpurdie 156
// Allow the user to populate the version selector box
157
// Enables the selector once its been populated
158
// Uses AJAX to populate the item on demand
159
function getVersions(NNpkg_id, NN_pv_id)
121 hknight 160
{
3896 dpurdie 161
    xmlHttp=GetXmlHttpObject(getVersionsDone);
162
    if (xmlHttp==null)
163
    {
164
        alert ("Your browser does not support AJAX!");
165
        return;
166
    }
167
 
168
    var url = "_json_checkPackage.asp?"
169
            + "pkg_id=" + NNpkg_id
170
            + "&ref=" + NN_pv_id
171
            + "&Opr=getVerList";
172
    MM_showProgressBar();
173
    xmlHttp.open("GET",url,true);  // `false` makes the request synchronous
174
    xmlHttp.send(null);
121 hknight 175
}
3896 dpurdie 176
 
177
// Call back for getVersions
178
function getVersionsDone()
179
{
180
    //readyState of 4 or 'complete' represents that data has been returned
181
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){
182
        MM_hideProgressBar();
183
 
184
        //Gather the results from the callback
185
        var str = xmlHttp.responseText;
186
//alert("JSON:" + str);
187
        var myJson = JSON.parse(str);
188
        if(myJson.error)
189
        {
190
            alert("Invalid respoce from Release Manager");
191
            return;
192
        }
193
 
194
        var ref = myJson.VersionRef;
195
        var sver = MM_findObj( "lp" + ref ).value;
196
        var select = document.getElementById("pkgn" + ref);
197
        var prefix;
198
        select.innerHTML = '';
199
        select.disabled = false;
200
        for( var ii=0; ii< myJson.Versions.length; ii++)
201
        {
202
            var el = document.createElement("option");
203
            var vname = myJson.Versions[ii].vname;
204
            if ( myJson.Versions[ii].dlocked == "Y" )
205
                prefix = 'R ';
206
            else
207
                prefix = '    ';
208
 
209
            el.textContent = prefix + vname;
210
            el.value = vname;
211
            if ( vname == sver )
212
                el.selected = true;
213
            select.appendChild(el);
214
        }
215
    }
216
}
217
 
121 hknight 218
// -->
119 ghuddy 219
</script>
220
 
221
</head>
222
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
223
<!-- MENU LAYERS -------------------------------------->
121 hknight 224
<div id="popmenu" class="menuskin" onMouseover="clearhidemenu();highlightmenu(event,'on')" onMouseout="highlightmenu(event,'off');dynamichide(event)">
119 ghuddy 225
</div>
226
<!-- TIPS LAYERS -------------------------------------->
227
<div id="formTipsLayer" style="position: absolute; z-index: 1000; visibility: hidden; left:0; top: 0; width: 10">&nbsp;</div>
228
<!----------------------------------------------------->
229
<!-- HEADER -->
230
<!--#include file="_header.asp"-->
231
<!-- BODY ---->
232
<table width="100%" height="80%" border="0" cellpadding="0" cellspacing="0">
233
  <tr>
121 hknight 234
    <td align="center" valign="top" background="images/bg_lght_gray.gif">
119 ghuddy 235
      <!-- MIDDLE ---------------------------------------->
236
      <table width="650" border="0" cellspacing="0" cellpadding="0">
121 hknight 237
        <tr>
119 ghuddy 238
          <td> <table width="100%" border="0" cellspacing="0" cellpadding="0">
121 hknight 239
              <tr>
119 ghuddy 240
                <td width="1%"></td>
241
                <td align="right"><img src="images/h_trsp_dot.gif" width="30" height="30"></td>
242
                <td width="1%"></td>
243
              </tr>
121 hknight 244
              <tr>
119 ghuddy 245
                <td width="1%"></td>
246
                <td> <table width="100%" border="0" cellspacing="0" cellpadding="0">
121 hknight 247
                    <tr>
119 ghuddy 248
                      <td nowrap class="form_ttl">EDIT dependencies</td>
249
                      <td align="right" valign="bottom"></td>
250
                    </tr>
251
                  </table></td>
252
                <td width="1%"></td>
253
              </tr>
121 hknight 254
              <tr>
119 ghuddy 255
                <td align="left" valign="top" width="1%" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
256
                <td background="images/lbox_bg_blue.gif" align="right">
257
                  <!-- Heading -->
258
                  <img src="images/h_trsp_dot.gif" width="1" height="20">
259
                  <!-- END Heading -->
260
                </td>
261
                <td align="right" valign="top" width="1%" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
262
              </tr>
121 hknight 263
              <tr>
119 ghuddy 264
                <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
121 hknight 265
                <td bgcolor="#FFFFFF" valign="top">
119 ghuddy 266
                  <!-- Body -->
267
                  <table width="100%" border="0" cellspacing="1" cellpadding="2">
268
				    <form name="editdep" method="post" action="_update_dependencies.asp" onSubmit="MM_validateForm(<%=JSrequirementsSTR%>);return document.MM_returnValue">
121 hknight 269
				      <tr>
119 ghuddy 270
                        <td colspan="2" width="1%" nowrap class="form_field"><%=pkgInfoHash.Item ("pkg_name")%>&nbsp;<%=pkgInfoHash.Item ("pkg_version")%></td>
271
                      </tr>
121 hknight 272
                      <tr>
273
                        <td colspan="2" width="1%" nowrap class="form_field">
119 ghuddy 274
                          <table width="100%" border="0" cellspacing="1" cellpadding="2">
121 hknight 275
                            <tr>
119 ghuddy 276
                              <td background="images/bg_form_lightbluedark.gif" nowrap width="1%" class="form_field">Package Name<img src="images/h_trsp_dot.gif" width="1" height="20" align="absmiddle"></td>
277
                              <td background="images/bg_form_lightbluedark.gif" nowrap width="50%" class="form_field">Version</td>
278
							  <td background="images/bg_form_lightbluedark.gif" nowrap width="50%" class="form_field">Released</td>
279
                            </tr>
280
                      		<%=HTML_pkg_list%>
121 hknight 281
                            <tr>
119 ghuddy 282
                              <td nowrap><img src="images/h_trsp_dot.gif" width="120" height="1"></td>
283
                              <td></td>
284
							  <td></td>
285
                            </tr>
286
                          </table></td>
287
                      </tr>
121 hknight 288
                      <tr>
119 ghuddy 289
                        <td colspan="2" nowrap>
121 hknight 290
                          <input type="submit" name="btn" value="Update" class="form_btn">
291
						  <input type="reset" name="btn" value="Cancel" class="form_btn" onClick="history.back();">
292
                          <SPAN id="ProgressBar" name="ProgressBar" style="visibility:hidden;" class="body_scol"><img src="images/i_processing.gif" width="11" height="17" align="absmiddle" hspace="3">Processing...</SPAN>
119 ghuddy 293
                          <br> <br> </td>
294
                      </tr>
295
					  <input type="hidden" name="update_type" value="edit_custom">
296
					  <input type="hidden" name="pv_id" value="<%=parPv_id%>">
297
                      <input type="hidden" name="rtag_id" value="<%=parRtag_id%>">
298
                    </form>
299
                  </table>
300
                  <!-- END Body-->
301
                </td>
302
                <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
303
              </tr>
121 hknight 304
              <tr>
119 ghuddy 305
                <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
306
                <td background="images/lbox_bg_blue.gif"></td>
307
                <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td>
308
              </tr>
309
            </table></td>
310
        </tr>
121 hknight 311
      </table>
119 ghuddy 312
      <!-------------------------------------------------->
313
    </td>
314
  </tr>
315
  <tr>
316
    <td valign="bottom" background="images/bg_lght_gray.gif">
317
	<!-- FOOTER -->
318
	<!--#include file="_footer.asp"-->
319
	</td>
320
  </tr>
321
</table>
322
</body>
323
</html>
324
<%
325
Call Destroy_All_Objects
121 hknight 326
%>