diff --git a/checkin_notes b/checkin_notes
index baa8dd2528..977502045a 100755
--- a/checkin_notes
+++ b/checkin_notes
@@ -19611,3 +19611,17 @@ Rom 17 Nov 2004
app_ipc.C, .h
gui_rpc_client.C, .h
gui_test.C
+
+Bruce 17 Nov 2004
+ - Fixed RESULT form on ops page so that it now covers correctly
+ all possible states (including ones with value 0) and
+ eliminated the 'Unknown' values that previously appeared on the
+ form. These were in error. This is a clean fix, by defining (for example)
+ outcome='CHOOSE_ALL', eg a non-numerical value, for the 'select ALL' case.
+ - Added a select menu for validate_state to the RESULT form.
+ - In forms for outcome, validate_state, client_state and server_state, indicate
+ numeric values (helpful if using additional clauses for more sophisticated queries)
+ html/inc/
+ db_ops.inc
+ html/ops/
+ db_form.php
diff --git a/html/inc/db_ops.inc b/html/inc/db_ops.inc
index 23b8774d0d..e5da681dfc 100644
--- a/html/inc/db_ops.inc
+++ b/html/inc/db_ops.inc
@@ -123,16 +123,12 @@ class SqlQueryString {
$this->urlquery .= "&$name=".urlencode($value);
}
}
- function addeqnz($name) {
+ function addeq_not_CHOOSE_ALL($name) {
$value = $_GET[$name];
- if (strlen($value) && $value > 0) {
- $this->add("$name = '$value'");
- $this->urlquery .= "&$name=".urlencode($value);
- }
- }
- function addeqn100($name) {
- $value = $_GET[$name];
- if (strlen($value) && $value != 100) {
+ // On the selection menu, the ALL selection criteria sets (for example)
+ // outcome=='CHOOSE_ALL' rather than a numeric value. This means that
+ // we enter no condition for this case.
+ if (strlen($value) && strcmp("CHOOSE_ALL", $value)) {
$this->add("$name = '$value'");
$this->urlquery .= "&$name=".urlencode($value);
}
@@ -191,10 +187,10 @@ class SqlQueryString {
$_GET['received_time'] = time() - $_GET['nsecs'];
}
$this->addgt('received_time');
- $this->addeqnz('server_state');
- $this->addeqn100('outcome');
- $this->addeqnz('client_state');
- $this->addeqnz('validate_state');
+ $this->addeq_not_CHOOSE_ALL('server_state');
+ $this->addeq_not_CHOOSE_ALL('outcome');
+ $this->addeq_not_CHOOSE_ALL('client_state');
+ $this->addeq_not_CHOOSE_ALL('validate_state');
if ($_GET['clauses']) {
$this->addclause("( " . urldecode($_GET['clauses']) . " )");
}
@@ -390,10 +386,10 @@ if ($query_wuid)
function server_state_select() {
echo "
\n";
}
@@ -401,10 +397,21 @@ function server_state_select() {
function outcome_select() {
echo "
\n";
+}
+
+function validate_state_select() {
+ echo "
+ \n";
}
@@ -412,10 +419,10 @@ function outcome_select() {
function client_state_select() {
echo "
\n";
}
@@ -680,6 +687,7 @@ function server_state_string($s) {
case 4: return "In Progress";
case 5: return "Over";
}
+ echo "THIS IS AN INTERNAL BUG IN BOINC: PLEASE CONTACT BOINC DEVELOPERS
";
return "Unknown";
}
@@ -693,6 +701,7 @@ function outcome_string($s) {
case 5: return "Didn't need";
case 6: return "Validate error";
}
+ echo "THIS IS AN INTERNAL BUG IN BOINC: PLEASE CONTACT BOINC DEVELOPERS
";
return "Unknown";
}
@@ -705,6 +714,7 @@ function client_state_string($s) {
case 4: return "Uploading";
case 5: return "Done";
}
+ echo "THIS IS AN INTERNAL BUG IN BOINC: PLEASE CONTACT BOINC DEVELOPERS
";
return "Unknown";
}
@@ -715,6 +725,7 @@ function validate_state_str($s) {
case 2: return "Invalid";
case 3: return "Skipped";
}
+ echo "THIS IS AN INTERNAL BUG IN BOINC: PLEASE CONTACT BOINC DEVELOPERS
";
return "Unknown";
}
diff --git a/html/ops/db_form.php b/html/ops/db_form.php
index 3c2a0af546..a3e155c664 100644
--- a/html/ops/db_form.php
+++ b/html/ops/db_form.php
@@ -59,7 +59,9 @@ echo "\n";
echo "