| Index: chrome_release_test_status/war/SubmitStatus-Windows.jsp
|
| ===================================================================
|
| --- chrome_release_test_status/war/SubmitStatus-Windows.jsp (revision 0)
|
| +++ chrome_release_test_status/war/SubmitStatus-Windows.jsp (revision 0)
|
| @@ -0,0 +1,548 @@
|
| +<%@ page contentType="text/html;charset=UTF-8" language="java" %>
|
| +<%@ page import="java.util.List" %>
|
| +<%@ page import="java.util.ArrayList" %>
|
| +<%@ page import="javax.jdo.PersistenceManager" %>
|
| +<%@ page import="com.google.appengine.api.users.User" %>
|
| +<%@ page import="com.google.appengine.api.users.UserService" %>
|
| +<%@ page import="com.google.appengine.api.users.UserServiceFactory" %>
|
| +<%@ page import="mydemo.BuildInfo" %>
|
| +<%@ page import="mydemo.TestStatus" %>
|
| +<%@ page import="mydemo.RegisterFeature" %>
|
| +<%@ page import="mydemo.PMF" %>
|
| +
|
| +<html>
|
| +<Head>
|
| +
|
| +<style type="text/css">
|
| +body
|
| +{
|
| +background-color:#d0e4fe;
|
| +}
|
| +
|
| +
|
| +</style>
|
| +<style>
|
| +
|
| +
|
| +ul#list-nav li {
|
| +display:inline;
|
| +}
|
| +
|
| +ul#list-nav li a {
|
| +text-decoration:none;
|
| +padding:5px 5px 5px 5px;
|
| +background:9966ff;
|
| +color:#eee;
|
| +float:left;
|
| +text-align:center;
|
| +border-left:1px solid #fff;
|
| +}
|
| +
|
| +ul#list-nav li a:hover {
|
| +background:9999ff;
|
| +color:#000
|
| +}
|
| +
|
| +
|
| +</style>
|
| +<script>
|
| +
|
| +var DDSPEED = 10;
|
| +var DDTIMER = 15;
|
| +
|
| +// main function to handle the mouse events //
|
| +function ddMenu(id,d){
|
| + var h = document.getElementById(id + '-ddheader');
|
| + var c = document.getElementById(id + '-ddcontent');
|
| + clearInterval(c.timer);
|
| + if(d == 1){
|
| + clearTimeout(h.timer);
|
| + if(c.maxh && c.maxh <= c.offsetHeight){return}
|
| + else if(!c.maxh){
|
| + c.style.display = 'block';
|
| + c.style.height = 'auto';
|
| + c.maxh = c.offsetHeight;
|
| + c.style.height = '0px';
|
| + }
|
| + c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
|
| + }else{
|
| + h.timer = setTimeout(function(){ddCollapse(c)},50);
|
| + }
|
| +}
|
| +
|
| +// collapse the menu //
|
| +function ddCollapse(c){
|
| + c.timer = setInterval(function(){ddSlide(c,-1)},DDTIMER);
|
| +}
|
| +
|
| +// cancel the collapse if a user rolls over the dropdown //
|
| +function cancelHide(id){
|
| + var h = document.getElementById(id + '-ddheader');
|
| + var c = document.getElementById(id + '-ddcontent');
|
| + clearTimeout(h.timer);
|
| + clearInterval(c.timer);
|
| + if(c.offsetHeight < c.maxh){
|
| + c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
|
| + }
|
| +}
|
| +
|
| +// incrementally expand/contract the dropdown and change the opacity //
|
| +function ddSlide(c,d){
|
| + var currh = c.offsetHeight;
|
| + var dist;
|
| + if(d == 1){
|
| + dist = (Math.round((c.maxh - currh) / DDSPEED));
|
| + }else{
|
| + dist = (Math.round(currh / DDSPEED));
|
| + }
|
| + if(dist <= 1 && d == 1){
|
| + dist = 1;
|
| + }
|
| + c.style.height = currh + (dist * d) + 'px';
|
| + c.style.opacity = currh / c.maxh;
|
| + c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')';
|
| + if((currh < 2 && d != 1) || (currh > (c.maxh - 2) && d == 1)){
|
| + clearInterval(c.timer);
|
| + }
|
| +}
|
| +
|
| +</script>
|
| +
|
| +<style>
|
| +.menu{
|
| + width:717px;
|
| + height:65px;
|
| +
|
| +}
|
| +.links div{
|
| + float:left;}
|
| +.dropdown {
|
| +
|
| + background:9966ff;
|
| +color:#eee;
|
| + border-left:1px solid #fff;
|
| + font-family:BOOK ANTIQUA;
|
| + font-size:14px;
|
| + margin: 0;
|
| + padding:0px;}
|
| +
|
| +.dropdown dt:hover {
|
| + background:9999ff;
|
| + }
|
| +
|
| +.dropdown dt {
|
| +
|
| + cursor:pointer;}
|
| +.dropdown dd {
|
| + position:absolute;
|
| + overflow:hidden;
|
| + display:none;
|
| + background:9966ff;
|
| + z-index:1000;
|
| + opacity:.5;
|
| + margin:0 0 0 20px;
|
| + border-left:2px solid #620000;
|
| + border-right:2px solid #620000}
|
| +
|
| +.dropdown ul {
|
| + width:100px;
|
| + list-style:none;
|
| + margin:0;
|
| + padding: 0;
|
| + z-index:900;}
|
| +.dropdown li {
|
| + display:block;
|
| + width: 100px;
|
| + margin: 0;
|
| + padding: 5px;
|
| + border-bottom:2px solid #620000;}
|
| +.dropdown li a{
|
| + float:none;
|
| + width:auto;
|
| + padding: 0;
|
| + width:100px}
|
| +
|
| +.dropdown a:hover {
|
| + color:#FFFF00;}
|
| +
|
| +a{
|
| + color:blue;
|
| + font-family:BOOK ANTIQUA;
|
| + font-size:15px;
|
| + text-decoration: none;
|
| + padding-left:23px;
|
| + padding-right:23px;
|
| +}
|
| +a:hover {
|
| +background:9999ff;
|
| +color:#000
|
| +}
|
| +</style>
|
| +
|
| +<body>
|
| +<div align=center class="headerMembers">
|
| +<!-- menu starts here -->
|
| +<div class="menu">
|
| +<div class="links">
|
| +<body>
|
| +<H2 align=center><font color="background:9900CC"> Chrome Release testing dashboard </font></h2>
|
| +
|
| +<div>
|
| + <dl class="dropdown">
|
| + <dt id="one-ddheader" onmouseover="ddMenu('one',1)" onmouseout="ddMenu('one',-1)"><a>Register new feature</a></dt>
|
| + <dd id="one-ddcontent" onmouseover="cancelHide('one')" onmouseout="ddMenu('one',-1)">
|
| + <ul>
|
| + <li><a href="registerfeature.jsp">Chrome</a></li>
|
| + <li><a href="">Chrome Frame</a></li>
|
| + </ul>
|
| + </dd>
|
| + </dl>
|
| +</div>
|
| +
|
| +
|
| +<div>
|
| + <dl class="dropdown">
|
| + <dt id="two-ddheader" onmouseover="ddMenu('two',1)" onmouseout="ddMenu('two',-1)"><a>Submit Status</a></dt>
|
| + <dd id="two-ddcontent" onmouseover="cancelHide('two')" onmouseout="ddMenu('two',-1)">
|
| + <ul>
|
| + <li><a href="SubmitStatus-Windows.jsp">Windows</a></li>
|
| + <li><a href="SubmitStatus-Mac.jsp">Mac</a></li>
|
| + <li><a href="SubmitStatus-Linux.jsp">Linux</a></li>
|
| + <li><a href="">Chrome Frame </a></li>
|
| + </ul>
|
| + </dd>
|
| + </dl>
|
| +</div>
|
| +
|
| +<div>
|
| + <dl class="dropdown">
|
| + <dt id="three-ddheader" onmouseover="ddMenu('three',1)" onmouseout="ddMenu('three',-1)"><a>View Status</a></dt>
|
| + <dd id="three-ddcontent" onmouseover="cancelHide('three')" onmouseout="ddMenu('three',-1)">
|
| + <ul>
|
| + <li><a href="TestingStatus-query.jsp">Windows</a></li>
|
| + <li><a href="TestingStatus-query-Mac.jsp">Mac</a></li>
|
| + <li><a href="TestingStatus-query-Linux.jsp">Linux</a></li>
|
| + <li><a href="">Chrome Frame </a></li>
|
| + </ul>
|
| + </dd>
|
| + </dl>
|
| +</div>
|
| +
|
| +<div>
|
| + <dl class="dropdown">
|
| + <dt id="four-ddheader" onmouseover="ddMenu('four',1)" onmouseout="ddMenu('four',-1)"><a>Release Blockers</a></dt>
|
| + <dd id="four-ddcontent" onmouseover="cancelHide('four')" onmouseout="ddMenu('four',-1)">
|
| + <ul>
|
| + <li><a href="Release-blockers.jsp?channel=Dev">Dev</a></li>
|
| + <li><a href="Release-blockers.jsp?channel=Beta">Beta</a></li>
|
| + <li><a href="Release-blockers.jsp?channel=Stable">Stable</a></li>
|
| + <li><a href="">ChromeFrame-Dev</a></li>
|
| + <li><a href="">ChromeFrame-Beta</a></li>
|
| + </ul>
|
| + </dd>
|
| + </dl>
|
| +</div>
|
| +<div style="background:9966ff;border-left:1px solid #fff;"><a href="calendar.jsp">Calendar</a></div>
|
| +
|
| +</body>
|
| +</div>
|
| +</div>
|
| +</div>
|
| +</html>
|
| +<BODY style="background:CCCCFF;font-family:BOOK ANTIQUA">
|
| +
|
| +<script language="JavaScript">
|
| +var g_rowNo = 0;
|
| +function addRow(selected_val) {
|
| +if (selected_val == "New Build")
|
| + {
|
| + var div, br
|
| + br = document.createElement("BR");
|
| + div = document.createElement("DIV");
|
| + text = document.createTextNode("Enter New Build Number: ");
|
| + div.appendChild(text);
|
| +
|
| + var tbox;
|
| + tbox=document.createElement('input');
|
| + tbox.type = 'text';
|
| + tbox.name = 'build_number';
|
| + div.appendChild(tbox);
|
| + document.getElementById('mainForm1').insertBefore(div, document.getElementById('beforeThisRow'));
|
| + } else{
|
| + var s = "/UpdateStatus-exp-query.jsp?buildn=" + selected_val ;
|
| + window.location= s;
|
| +
|
| + }
|
| +}
|
| +
|
| +function showXP(){
|
| + document.getElementById('xp_status').style.display="block";
|
| + }
|
| +</script>
|
| +<div style="position:relative; width:100%; height:20px"></div>
|
| + <form id='mainForm1' action="/status" method="post" align=center>
|
| +<%
|
| + PersistenceManager pm = PMF.get().getPersistenceManager();
|
| + String query = "select from " + RegisterFeature.class.getName() + " where feature_type=='Backend'";
|
| + List<RegisterFeature> reg_feature = (List<RegisterFeature>) pm.newQuery(query).execute();
|
| + List<String> select = new ArrayList<String>();
|
| +
|
| + if (reg_feature.isEmpty()) { %>
|
| +<p>No features in the database.</p>
|
| +<% }
|
| +
|
| +else {
|
| + %>
|
| +
|
| + <br>
|
| +<%
|
| + PersistenceManager pm1 = PMF.get().getPersistenceManager();
|
| + String query1 = "select from " + BuildInfo.class.getName();
|
| + List<BuildInfo> build_val = (List<BuildInfo>) pm1.newQuery(query1).execute();
|
| + if (build_val.isEmpty()) { %>
|
| + <select name="buildn" onChange="addRow(this.options[selectedIndex].text);">
|
| +<option value="Pick a build" selected>Pick a build
|
| + <option value="New Build">New Build
|
| + </select>
|
| +
|
| + <% }
|
| +else {
|
| + %>
|
| +
|
| +
|
| +
|
| + <b>Pick a build:</b> <select name="buildn" onChange="addRow(this.options[selectedIndex].text);">
|
| +<% if(request.getParameter("update")!=null) { %>
|
| +<option value=<%= request.getParameter("update") %> selected><%= request.getParameter("update") %>
|
| + <% for (BuildInfo g : build_val) { %>
|
| + <option value=<%= g.getBuildNumber() %>><%= g.getBuildNumber() %>
|
| + <% } %>
|
| + <option value="New Build">New Build
|
| + </select>
|
| +<% } else{%>
|
| + <option value="Pick a build" selected>Pick a build
|
| + <% for (BuildInfo g : build_val) { %>
|
| + <option value=<%= g.getBuildNumber() %>><%= g.getBuildNumber() %>
|
| + <% } %>
|
| + <option value="New Build">New Build
|
| + </select>
|
| +
|
| +<%
|
| + }
|
| + }
|
| + pm1.close();
|
| +%>
|
| +
|
| +
|
| +
|
| +
|
| +<div id='beforeThisRow'></div>
|
| +
|
| +<table align=center><tr>
|
| +<td style="width:100px"><B>Pick Configurations: </b></td>
|
| +<td>
|
| +<select name="test_type_xp" onChange="showXP();">
|
| +<option value="XP">XP
|
| +<option value="XP-FullPass">FullPass
|
| +<option value="XP-BAT">BAT
|
| +</select>
|
| +</td>
|
| +<td>
|
| +<select name="test_type_vista" onChange="showVista();">
|
| +<option value="Vista">Vista
|
| +<option value="Vista-FullPass">FullPass
|
| +<option value="Vista-BAT">BAT
|
| +</select>
|
| +</td>
|
| +<td>
|
| +<select name="test_type_win7" onChange="showWin7();">
|
| +<option value="Win7">Win7
|
| +<option value="Win7-FullPass">FullPass
|
| +<option value="Win7-BAT">BAT
|
| +</select>
|
| +</td>
|
| +</tr>
|
| +
|
| +<tr><td> <b> Tester Name: </b><input type='text' name="user_name"></td></tr>
|
| +</table>
|
| +<hr>
|
| +<br>
|
| +
|
| +<%
|
| + PersistenceManager pm_fe = PMF.get().getPersistenceManager();
|
| + String query_fe = "select from " + RegisterFeature.class.getName() + " where feature_type=='Frontend'";
|
| + List<RegisterFeature> reg_feature1 = (List<RegisterFeature>) pm_fe.newQuery(query_fe).execute();
|
| +%>
|
| +
|
| +<table align=center >
|
| +<tr><td><b><H3><br>Frontend Features:</H3></b></td></tr>
|
| +<tr class="padding"><td><b>Featurename</b></td><td align=center><b>XP</b></td><td align=center><b>Vista</b></td><td align=center><b>Win7</b></td><td align=center><b>Comments/Bugs</b></td>
|
| + <% for (RegisterFeature g : reg_feature1) {
|
| + if (!(g.getFeatureName().equals(""))) {%>
|
| + <tr class="padding">
|
| +
|
| + <td> <input type="text" name="feature_name" value='<%= g.getFeatureName() %>'></td>
|
| +
|
| +
|
| +<td id="xp_status" ><select name="test_status_xp">
|
| +<option value="Not Started" selected>Not Started
|
| +<option value="InProgress">InProgress
|
| +<option value="Buggy">Buggy
|
| +<option value="Finished">Finished
|
| +</select>
|
| +</td>
|
| +
|
| +
|
| +
|
| +<td ><select name="test_status_vista">
|
| +<option value="Not Started" selected>Not Started
|
| +<option value="InProgress">InProgress
|
| +<option value="Buggy">Buggy
|
| +<option value="Finished">Finished
|
| +</select>
|
| +</td>
|
| +
|
| +
|
| +
|
| +<td ><select name="test_status_win7">
|
| +<option value="Not Started" selected>Not Started
|
| +<option value="InProgress">InProgress
|
| +<option value="Buggy">Buggy
|
| +<option value="Finished">Finished
|
| +</select>
|
| +</td>
|
| +
|
| +
|
| +
|
| +
|
| +
|
| +<td><input type='text' name="notes"></td>
|
| +</tr>
|
| +
|
| +<%
|
| + }
|
| + }
|
| + pm_fe.close();
|
| +%>
|
| +</table>
|
| +
|
| +<table align=center >
|
| +<tr><td><b><H3>Backend Features:</H3></b></td></tr>
|
| +<tr class="padding"><td><b>Featurename</b></td><td align=center><b>XP</b></td><td align=center><b>Vista</b></td><td align=center><b>Win7</b></td><td align=center><b>Comments/Bugs</b></td>
|
| + <% for (RegisterFeature g : reg_feature) {
|
| + if (!(g.getFeatureName().equals(""))) {%>
|
| + <tr class="padding">
|
| +
|
| + <td> <input type="text" name="feature_name" value='<%= g.getFeatureName() %>'></td>
|
| +
|
| +
|
| +<td id="xp_status" ><select name="test_status_xp">
|
| +<option value="Not Started" selected>Not Started
|
| +<option value="InProgress">InProgress
|
| +<option value="Buggy">Buggy
|
| +<option value="Finished">Finished
|
| +</select>
|
| +</td>
|
| +
|
| +
|
| +
|
| +<td ><select name="test_status_vista">
|
| +<option value="Not Started" selected>Not Started
|
| +<option value="InProgress">InProgress
|
| +<option value="Buggy">Buggy
|
| +<option value="Finished">Finished
|
| +</select>
|
| +</td>
|
| +
|
| +
|
| +
|
| +<td ><select name="test_status_win7">
|
| +<option value="Not Started" selected>Not Started
|
| +<option value="InProgress">InProgress
|
| +<option value="Buggy">Buggy
|
| +<option value="Finished">Finished
|
| +</select>
|
| +</td>
|
| +
|
| +
|
| +
|
| +
|
| +
|
| +<td><input type='text' name="notes"></td>
|
| +</tr>
|
| +
|
| +<%
|
| + }
|
| + }
|
| + }
|
| + pm.close();
|
| +%>
|
| +</table>
|
| +
|
| +
|
| +
|
| +<%
|
| + PersistenceManager pm_compat = PMF.get().getPersistenceManager();
|
| + String query_compat = "select from " + RegisterFeature.class.getName() + " where feature_type=='Compat'";
|
| + List<RegisterFeature> reg_feature_compat = (List<RegisterFeature>) pm_compat.newQuery(query_compat).execute();
|
| +%>
|
| +
|
| +<table align=center >
|
| +<tr><td><b><H3><br>Compatibility:</H3></b></td></tr>
|
| +<tr class="padding"><td><b>Featurename</b></td><td align=center><b>XP</b></td><td align=center><b>Vista</b></td><td align=center><b>Win7</b></td><td align=center><b>Comments/Bugs</b></td>
|
| + <% for (RegisterFeature g : reg_feature_compat) {
|
| + if (!(g.getFeatureName().equals(""))) {%>
|
| + <tr class="padding">
|
| +
|
| + <td> <input type="text" name="feature_name" value='<%= g.getFeatureName() %>'></td>
|
| +
|
| +
|
| +<td id="xp_status" ><select name="test_status_xp">
|
| +<option value="Not Started" selected>Not Started
|
| +<option value="InProgress">InProgress
|
| +<option value="Buggy">Buggy
|
| +<option value="Finished">Finished
|
| +</select>
|
| +</td>
|
| +
|
| +
|
| +
|
| +<td ><select name="test_status_vista">
|
| +<option value="Not Started" selected>Not Started
|
| +<option value="InProgress">InProgress
|
| +<option value="Buggy">Buggy
|
| +<option value="Finished">Finished
|
| +</select>
|
| +</td>
|
| +
|
| +
|
| +
|
| +<td ><select name="test_status_win7">
|
| +<option value="Not Started" selected>Not Started
|
| +<option value="InProgress">InProgress
|
| +<option value="Buggy">Buggy
|
| +<option value="Finished">Finished
|
| +</select>
|
| +</td>
|
| +
|
| +
|
| +
|
| +
|
| +
|
| +<td><input type='text' name="notes"></td>
|
| +</tr>
|
| +
|
| +<%
|
| + }
|
| + }
|
| + pm_compat.close();
|
| +
|
| +%>
|
| +</table>
|
| +
|
| +<br>
|
| +<div align=center><input type="submit" value="Submit Status" /></div>
|
| +</form>
|
| +
|
| +</body>
|
| +</html>
|
|
|