diff --git a/lib/WebGUI/MetaData.pm b/lib/WebGUI/MetaData.pm index d67313a6a..8fe41468c 100644 --- a/lib/WebGUI/MetaData.pm +++ b/lib/WebGUI/MetaData.pm @@ -20,6 +20,7 @@ use WebGUI::Session; use WebGUI::SQL; use WebGUI::Macro; use Tie::IxHash; +use WebGUI::ErrorHandler; =head1 NAME @@ -294,7 +295,7 @@ sub getWobjectByCriteria { if ($wobjectId) { $scratchId = "WobjectProxy_" . $wobjectId; if($session{scratch}{$scratchId}) { - return $session{scratch}{$scratchId}; + return $session{scratch}{$scratchId} unless ($session{var}{adminOn}); } } @@ -360,7 +361,7 @@ sub getWobjectByCriteria { # No matching wobjects found. if (scalar(@wids) == 0) { - return undef; + return undef; # fall back to the originally mirrored wobject. } my $wid; # Grab a wid from the results diff --git a/lib/WebGUI/Wobject/WobjectProxy.pm b/lib/WebGUI/Wobject/WobjectProxy.pm index 49974ea87..d634d184f 100644 --- a/lib/WebGUI/Wobject/WobjectProxy.pm +++ b/lib/WebGUI/Wobject/WobjectProxy.pm @@ -281,7 +281,7 @@ sub _drawQueryBuilder { - + |; } diff --git a/www/extras/wobject/WobjectProxy/querybuilder.css b/www/extras/wobject/WobjectProxy/querybuilder.css index cf81e283b..e98ba2461 100644 --- a/www/extras/wobject/WobjectProxy/querybuilder.css +++ b/www/extras/wobject/WobjectProxy/querybuilder.css @@ -33,6 +33,13 @@ font-size: 12px; } +.qbButton { + height: 20px; + font-size: 12px; + border-width: 1px; + -moz-border-radius: 0px; +} + .qbText { background-color: white; text-align: left; diff --git a/www/extras/wobject/WobjectProxy/querybuilder.js b/www/extras/wobject/WobjectProxy/querybuilder.js index 9eca475d2..1e0dd7c40 100644 --- a/www/extras/wobject/WobjectProxy/querybuilder.js +++ b/www/extras/wobject/WobjectProxy/querybuilder.js @@ -4,14 +4,17 @@ function addCriteria ( fieldname, opform, valform ) { var value = getValue(valform); var criteria = form.proxyCriteria.value; var conjunction = ""; - var re = /^\s*$/; - if(! re.test(criteria)) { + if(! /^\s*$/.test(criteria)) { conjunction = " " + getValue(form.conjunction) + " "; } + //handle quotes if(/\s+/.test(fieldname)) { fieldname = '"' + fieldname + '"'; } - var statement = fieldname + " " + operator + " " + '"' + value + '"'; + if(/^\D+$/.test(value)) { + value = '"' + value + '"'; + } + var statement = fieldname + " " + operator + " " + value; form.proxyCriteria.value = criteria + conjunction + statement; }