diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt
index 02f6f1bd8..cc246ec21 100644
--- a/docs/changelog/6.x.x.txt
+++ b/docs/changelog/6.x.x.txt
@@ -1,7 +1,11 @@
6.2.4
- Changed text processor to convert HTML tags into text rather than
discarding them.
-
+ - Fixed some bugs in the WS Client that were checked in with the new Caching
+ code.
+ - Fixed a bug in the URL checker javascript that wouldn't allow for relative
+ paths.
+ - bugfix [ 991205 ] 6.0.3 Data Form data field sequence problem (Steven Chan)
6.2.3
- Changed to new POD format.
diff --git a/lib/WebGUI/Wobject/DataForm.pm b/lib/WebGUI/Wobject/DataForm.pm
index 14a04295c..aec32e679 100644
--- a/lib/WebGUI/Wobject/DataForm.pm
+++ b/lib/WebGUI/Wobject/DataForm.pm
@@ -106,6 +106,12 @@ sub _tabAdminIcons {
}
+#-------------------------------------------------------------------
+sub _tonull {
+ return $_[1] eq "0" ? (undef, undef) : @_ ;
+}
+
+
#-------------------------------------------------------------------
sub _createTabInit {
my $wid = $_[0];
@@ -642,6 +648,7 @@ sub www_editField {
%field = WebGUI::SQL->quickHash("select * from DataForm_field where DataForm_fieldId=".quote($session{form}{fid}));
}
$tab = WebGUI::SQL->buildHashRef("select DataForm_tabId,label from DataForm_tab where wobjectId=".quote($_[0]->get("wobjectId")));
+ $tab->{0} = $_[0]->i18n("no tab");
$output = helpIcon("data form fields add/edit",$_[0]->get("namespace"));
$output .= '
'.WebGUI::International::get(20,$_[0]->get("namespace")).'
';
$f = WebGUI::HTMLForm->new;
@@ -662,7 +669,7 @@ sub www_editField {
-name=>"tid",
-options=>$tab,
-label=>WebGUI::International::get(104,$_[0]->get("namespace")),
- -value=>[ $field{DataForm_tabId}]
+ -value=>[ $field{DataForm_tabId}] || [0]
);
$f->text(
-name=>"subtext",
@@ -750,8 +757,8 @@ sub www_editFieldSave {
rows=>$session{form}{rows},
vertical=>$session{form}{vertical},
extras=>$session{form}{extras},
- }, "1","1", "DataForm_tabId",$session{form}{tid});
- $_[0]->reorderCollateral("DataForm_field","DataForm_fieldId", "DataForm_tabId",$session{form}{tid}) if ($session{form}{fid} ne "new");
+ }, "1","1", _tonull("DataForm_tabId",$session{form}{tid}));
+ $_[0]->reorderCollateral("DataForm_field","DataForm_fieldId", _tonull("DataForm_tabId",$session{form}{tid})) if ($session{form}{fid} ne "new");
if ($session{form}{proceed} eq "addField") {
$session{form}{fid} = "new";
return $_[0]->www_editField();
@@ -846,14 +853,14 @@ sub www_exportTab {
#-------------------------------------------------------------------
sub www_moveFieldDown {
return WebGUI::Privilege::insufficient() unless ($_[0]->canEdit);
- $_[0]->moveCollateralDown("DataForm_field","DataForm_fieldId",$session{form}{fid},"DataForm_tabId",$session{form}{tid});
+ $_[0]->moveCollateralDown("DataForm_field","DataForm_fieldId",$session{form}{fid},_tonull("DataForm_tabId",$session{form}{tid}));
return "";
}
#-------------------------------------------------------------------
sub www_moveFieldUp {
return WebGUI::Privilege::insufficient() unless ($_[0]->canEdit);
- $_[0]->moveCollateralUp("DataForm_field","DataForm_fieldId",$session{form}{fid},"DataForm_tabId",$session{form}{tid});
+ $_[0]->moveCollateralUp("DataForm_field","DataForm_fieldId",$session{form}{fid},_tonull("DataForm_tabId",$session{form}{tid}));
return "";
}
diff --git a/lib/WebGUI/Wobject/WSClient.pm b/lib/WebGUI/Wobject/WSClient.pm
index 6806764cb..e9fe918f8 100644
--- a/lib/WebGUI/Wobject/WSClient.pm
+++ b/lib/WebGUI/Wobject/WSClient.pm
@@ -261,11 +261,9 @@ sub www_view {
$url = WebGUI::URL::page("func=view&wid=" . $self->get("wobjectId"));
# snag our SOAP call and preprocess if needed
- $call = WebGUI::Macro::process($self->get('call'));
- $param_str = WebGUI::Macro::process($self->get('params'));
if ($self->get('preprocessMacros')) {
- WebGUI::Macro::process($call);
- WebGUI::Macro::process($param_str);
+ $call = WebGUI::Macro::process($self->get("call"));
+ $param_str = WebGUI::Macro::process($self->get("params"));
}
# see if we can shortcircuit this whole process
@@ -289,10 +287,10 @@ sub www_view {
# check to see if this exact query has already been cached, using either
# a cache specific to this session, or a shared global cache
- $cache_key = $_[0]->get('sharedCache')
+ $cache_key = $self->get('sharedCache')
? Digest::MD5::md5_hex($call, $param_str)
: Digest::MD5::md5_hex($call, $param_str, $session{'var'}{'sessionId'});
- WebGUI::ErrorHandler::warn(($_[0]->get('sharedCache')?'shared':'session')
+ WebGUI::ErrorHandler::warn(($self->get('sharedCache')?'shared':'session')
. " cache_key=$cache_key md5_hex($call, $param_str)");
$cache = WebGUI::Cache->new($cache_key,
WebGUI::International::get(4, $self->get('namespace')));
diff --git a/lib/WebGUI/i18n/English/DataForm.pm b/lib/WebGUI/i18n/English/DataForm.pm
index f5875e3e5..f723d7d13 100644
--- a/lib/WebGUI/i18n/English/DataForm.pm
+++ b/lib/WebGUI/i18n/English/DataForm.pm
@@ -613,7 +613,11 @@ A conditional indicating whether this field exists for the mail subsystem of the
message => q|Displayed|,
lastUpdated => 1031514049
},
-
+ 'no tab' =>{
+ message =>q|No Tab|,
+ lastUpdated=>1095701013,
+ context=>q|Tells the user that there is no tab to set the field to.|
+ },
};
diff --git a/www/extras/addHTTP.js b/www/extras/addHTTP.js
index b19c7780e..af9f9bc94 100644
--- a/www/extras/addHTTP.js
+++ b/www/extras/addHTTP.js
@@ -1,9 +1,9 @@
function addHTTP(element) {
if (element.value != "") {
- if (!element.value.match(/^\w+:\/\//)) {
+ if (!element.value.match(/^\w+:\/\//) && !element.value.match(/^\^/) && !element.value.match(/^\//)) {
element.value = "http://"+element.value;
}
- if (!element.value.match(/^\w+:\/\/.+\..+/)){
+ if (!element.value.match(/^\w+:\/\/.+\..+/) && !element.value.match(/^\^/) && !element.value.match(/^\//)){
alert("That does not look like a proper URL. Please check if it is correct.");
}
}