diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index d18adbe3a..0109cbe51 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -4,6 +4,7 @@ - Added a lot more tests to the test suite. - Added a new pluggable templating system. (Thanks to Misja Op de Coul / E-Wise) + - Added "201" http status to various entity creation responses. 6.8.6 - Added logic to deal with case sensitivity and whitespace problems in LDAP diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index 3d980d07b..438b6f0f0 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -1221,7 +1221,7 @@ sub processPropertiesFromFormPost { ); } } - foreach my $form ($self->session->request->param) { + foreach my $form ($self->session->form->param) { if ($form =~ /^metadata_(.*)$/) { $self->updateMetaData($1,$self->session->form->process($form)); } diff --git a/lib/WebGUI/Asset/Shortcut.pm b/lib/WebGUI/Asset/Shortcut.pm index d1826bf70..3ea39ee25 100644 --- a/lib/WebGUI/Asset/Shortcut.pm +++ b/lib/WebGUI/Asset/Shortcut.pm @@ -708,7 +708,7 @@ sub www_saveUserPrefs { $self->uncacheOverrides; my $i18n = WebGUI::International->new($self->session); my $u = WebGUI::User->new($self->session, $self->discernUserId); - foreach my $fieldId ($self->request->param) { + foreach my $fieldId ($self->form->param) { my $field = WebGUI::ProfileField->new($self->session,$fieldId); next unless $field; $data{$field->getId} = $field->formProcess; diff --git a/lib/WebGUI/Asset/Wobject/HttpProxy.pm b/lib/WebGUI/Asset/Wobject/HttpProxy.pm index d0ceebf77..892d4ea2a 100644 --- a/lib/WebGUI/Asset/Wobject/HttpProxy.pm +++ b/lib/WebGUI/Asset/Wobject/HttpProxy.pm @@ -229,7 +229,7 @@ sub view { if($self->session->env->get("REQUEST_METHOD")=~/GET/i || $redirect != 0) { # request_method is also GET after a redirection. Just to make sure we're # not posting the same data over and over again. if($redirect == 0) { - foreach my $input_name ($self->session->request->param) { + foreach my $input_name ($self->session->form->param) { next if ($input_name !~ /^HttpProxy_/); # Skip non proxied form var's $input_name =~ s/^HttpProxy_//; $proxiedUrl=$self->session->url->append($proxiedUrl,"$input_name=".$self->session->form->process('HttpProxy_'.$input_name)); @@ -241,7 +241,7 @@ sub view { my $contentType = 'application/x-www-form-urlencoded'; # default Content Type header # Create a %formdata hash to pass key/value pairs to the POST request - foreach my $input_name ($self->session->request->param) { + foreach my $input_name ($self->session->form->param) { next if ($input_name !~ /^HttpProxy_/); # Skip non proxied form var's $input_name =~ s/^HttpProxy_//; diff --git a/lib/WebGUI/Asset/Wobject/SQLReport.pm b/lib/WebGUI/Asset/Wobject/SQLReport.pm index 271a626f6..73b21e7b8 100644 --- a/lib/WebGUI/Asset/Wobject/SQLReport.pm +++ b/lib/WebGUI/Asset/Wobject/SQLReport.pm @@ -320,7 +320,7 @@ sub _processQuery { if (defined $dbh) { if ($query =~ /^select/i || $query =~ /^show/i || $query =~ /^describe/i) { my $url = $self->getUrl('func=view'); - foreach ($self->session->request->param) { + foreach ($self->session->form->param) { unless ($_ eq "pn" || $_ eq "func" || $_ =~ /identifier/i || $_ =~ /password/i) { $url = $self->session->url->append($url, $self->session->url->escape($_) .'='.$self->session->url->escape($self->session->form->process($_))); diff --git a/lib/WebGUI/Asset/Wobject/Survey.pm b/lib/WebGUI/Asset/Wobject/Survey.pm index 8c7e87718..38c5a3b0a 100644 --- a/lib/WebGUI/Asset/Wobject/Survey.pm +++ b/lib/WebGUI/Asset/Wobject/Survey.pm @@ -1168,7 +1168,7 @@ sub www_respond { return "" unless ($self->session->scratch->get($varname)); my $userId = ($self->get("anonymous")) ? substr(md5_hex($self->session->user->userId),0,8) : $self->session->user->userId; my $terminate = 0; - foreach my $key ($self->session->request->param) { + foreach my $key ($self->session->form->param) { if ($key =~ /^answerId_(.+)$/) { my $id = $1; my ($previousResponse) = $self->session->db->quickArray("select count(*) from Survey_questionResponse diff --git a/lib/WebGUI/Asset/Wobject/WSClient.pm b/lib/WebGUI/Asset/Wobject/WSClient.pm index 4faaa0d02..a9dee917c 100644 --- a/lib/WebGUI/Asset/Wobject/WSClient.pm +++ b/lib/WebGUI/Asset/Wobject/WSClient.pm @@ -245,7 +245,7 @@ sub view { # this page, with important params @seen{@exclude_params} = (); - foreach ($self->session->request->param) { + foreach ($self->session->form->param) { unless (exists $seen{$_}) { $query_string .= $self->session->url->escape($_) . '=' . $self->session->url->escape($self->session->form->process($_)) . ';'; diff --git a/lib/WebGUI/AssetBranch.pm b/lib/WebGUI/AssetBranch.pm index 4ce6048f4..813ed80bd 100644 --- a/lib/WebGUI/AssetBranch.pm +++ b/lib/WebGUI/AssetBranch.pm @@ -334,7 +334,7 @@ sub www_editBranchSave { } } my $newRevision = $descendant->addRevision(\%data); - foreach my $form ($self->session->request->param) { + foreach my $form ($self->session->form->param) { if ($form =~ /^metadata_(.*)$/) { my $fieldName = $1; if ($self->session->form->yesNo("change_metadata_".$fieldName)) { diff --git a/lib/WebGUI/AssetClipboard.pm b/lib/WebGUI/AssetClipboard.pm index f6c48bae4..eba14c999 100644 --- a/lib/WebGUI/AssetClipboard.pm +++ b/lib/WebGUI/AssetClipboard.pm @@ -188,7 +188,7 @@ Copies to clipboard assets in a list, then returns self calling method www_manag sub www_copyList { my $self = shift; return $self->session->privilege->insufficient() unless $self->canEdit; - foreach my $assetId ($self->session->request->param("assetId")) { + foreach my $assetId ($self->session->form->param("assetId")) { my $asset = WebGUI::Asset->newByDynamicClass($self->session,$assetId); if ($asset->canEdit) { my $newAsset = $asset->duplicate; @@ -264,7 +264,7 @@ Cuts assets in a list (removes to clipboard), then returns self calling method w sub www_cutList { my $self = shift; return $self->session->privilege->insufficient() unless $self->canEdit; - foreach my $assetId ($self->session->request->param("assetId")) { + foreach my $assetId ($self->session->form->param("assetId")) { my $asset = WebGUI::Asset->newByDynamicClass($self->session,$assetId); if ($asset->canEdit) { $asset->cut; @@ -390,7 +390,7 @@ Returns a www_manageAssets() method. Pastes a selection of assets. If canEdit is sub www_pasteList { my $self = shift; return $self->session->privilege->insufficient() unless $self->canEdit; - foreach my $clipId ($self->session->request->param("assetId")) { + foreach my $clipId ($self->session->form->param("assetId")) { $self->paste($clipId); } return $self->www_manageAssets(); diff --git a/lib/WebGUI/AssetLineage.pm b/lib/WebGUI/AssetLineage.pm index 0feda3478..4400170d2 100644 --- a/lib/WebGUI/AssetLineage.pm +++ b/lib/WebGUI/AssetLineage.pm @@ -66,6 +66,7 @@ sub addChild { my $newAsset = $temp->addRevision($properties,$now); $self->session->db->commit; $self->updateHistory("added child ".$id); + $self->session->http->setStatus(201,"Asset Creation Successful"); return $newAsset; } diff --git a/lib/WebGUI/AssetTrash.pm b/lib/WebGUI/AssetTrash.pm index 68fce2b41..f30effce2 100644 --- a/lib/WebGUI/AssetTrash.pm +++ b/lib/WebGUI/AssetTrash.pm @@ -160,7 +160,7 @@ Moves list of assets to trash, returns www_manageAssets() method of self if canE sub www_deleteList { my $self = shift; return $self->session->privilege->insufficient() unless $self->canEdit; - foreach my $assetId ($self->session->request->param("assetId")) { + foreach my $assetId ($self->session->form->param("assetId")) { my $asset = WebGUI::Asset->newByDynamicClass($self->session,$assetId); if ($asset->canEdit) { $asset->trash; @@ -245,7 +245,7 @@ Restores a piece of content from the trash back to it's original location. sub www_restoreList { my $self = shift; return $self->session->privilege->insufficient() unless $self->canEdit; - foreach my $id ($self->session->request->param("assetId")) { + foreach my $id ($self->session->form->param("assetId")) { my $asset = WebGUI::Asset->newByDynamicClass($self->session,$id); $asset->publish; } diff --git a/lib/WebGUI/Auth.pm b/lib/WebGUI/Auth.pm index 8ab2ed03f..80730299f 100644 --- a/lib/WebGUI/Auth.pm +++ b/lib/WebGUI/Auth.pm @@ -266,6 +266,7 @@ sub createAccountSave { $self->session->var->end($self->session->var->get("sessionId")); $self->session->var->start($userId,$self->session->getId); $self->_logLogin($userId,"success"); + $self->session->http->setStatus(201,"Account Registration Successful"); my $command = $self->session->setting->get("runOnRegistration"); WebGUI::Macro::process($self->session,\$command); system($command) if ($self->session->setting->get("runOnRegistration") ne ""); diff --git a/lib/WebGUI/Form/Checkbox.pm b/lib/WebGUI/Form/Checkbox.pm index ed7546dae..547b121be 100644 --- a/lib/WebGUI/Form/Checkbox.pm +++ b/lib/WebGUI/Form/Checkbox.pm @@ -104,7 +104,7 @@ Retrieves a value from a form GET or POST and returns it. If the value comes bac sub getValueFromPost { my $self = shift; - my $formValue = $self->session->request->param($self->get("name")); + my $formValue = $self->session->form->param($self->get("name")); if (defined $formValue) { return $formValue; } else { diff --git a/lib/WebGUI/Form/Color.pm b/lib/WebGUI/Form/Color.pm index 4fe277837..59d4239f8 100644 --- a/lib/WebGUI/Form/Color.pm +++ b/lib/WebGUI/Form/Color.pm @@ -67,7 +67,7 @@ Returns a hex color like "#000000". Returns undef if the return value is not a v sub getValueFromPost { my $self = shift; - my $color = $self->session->request->param($self->get("name")); + my $color = $self->session->form->param($self->get("name")); return undef unless $color =~ /\#\w{6}/; return $color; } diff --git a/lib/WebGUI/Form/Combo.pm b/lib/WebGUI/Form/Combo.pm index cf4151896..0e295110e 100644 --- a/lib/WebGUI/Form/Combo.pm +++ b/lib/WebGUI/Form/Combo.pm @@ -86,8 +86,8 @@ the list. sub getValueFromPost { my $self = shift; - if ($self->session->request->param($self->get("name")."_new")) { - return $self->session->request->param($self->get("name")."_new"); + if ($self->session->form->param($self->get("name")."_new")) { + return $self->session->form->param($self->get("name")."_new"); } return $self->SUPER::getValueFromPost; } diff --git a/lib/WebGUI/Form/Control.pm b/lib/WebGUI/Form/Control.pm index 7b8752a52..b87cf58fb 100644 --- a/lib/WebGUI/Form/Control.pm +++ b/lib/WebGUI/Form/Control.pm @@ -397,7 +397,7 @@ Retrieves a value from a form GET or POST and returns it. If the value comes bac sub getValueFromPost { my $self = shift; - my $formValue = $self->session->request->param($self->get("name")) if ($self->session->request); + my $formValue = $self->session->form->param($self->get("name")) if ($self->session->request); if (defined $formValue) { return $formValue; } else { diff --git a/lib/WebGUI/Form/Date.pm b/lib/WebGUI/Form/Date.pm index 44d860f67..04b9b1fe9 100644 --- a/lib/WebGUI/Form/Date.pm +++ b/lib/WebGUI/Form/Date.pm @@ -121,7 +121,7 @@ Returns a validated form post result. If the result does not pass validation, it sub getValueFromPost { my $self = shift; - return $self->session->datetime->setToEpoch($self->session->request->param($self->get("name"))); + return $self->session->datetime->setToEpoch($self->session->form->param($self->get("name"))); } #------------------------------------------------------------------- diff --git a/lib/WebGUI/Form/DateTime.pm b/lib/WebGUI/Form/DateTime.pm index a8fb97337..c8a294b56 100644 --- a/lib/WebGUI/Form/DateTime.pm +++ b/lib/WebGUI/Form/DateTime.pm @@ -100,7 +100,7 @@ Returns a validated form post result. If the result does not pass validation, it sub getValueFromPost { my $self = shift; - return $self->session->datetime->setToEpoch($self->session->request->param($self->get("name"))); + return $self->session->datetime->setToEpoch($self->session->form->param($self->get("name"))); } #------------------------------------------------------------------- diff --git a/lib/WebGUI/Form/Email.pm b/lib/WebGUI/Form/Email.pm index f6116d04e..b0a986fb9 100644 --- a/lib/WebGUI/Form/Email.pm +++ b/lib/WebGUI/Form/Email.pm @@ -78,7 +78,7 @@ Returns a validated email address. If the result does not pass validation, it re sub getValueFromPost { my $self = shift; - my $value = $self->session->request->param($self->get("name")); + my $value = $self->session->form->param($self->get("name")); if ($value =~ /^([A-Z0-9]+[._+-]?){1,}([A-Z0-9]+[_+-]?)+\@(([A-Z0-9]+[._-]?){1,}[A-Z0-9]+\.){1,}[A-Z]{2,4}$/i) { return $value; diff --git a/lib/WebGUI/Form/FieldType.pm b/lib/WebGUI/Form/FieldType.pm index 845716af4..ff5f29a0b 100644 --- a/lib/WebGUI/Form/FieldType.pm +++ b/lib/WebGUI/Form/FieldType.pm @@ -114,7 +114,7 @@ Returns either what's posted or if nothing comes back it returns "text". sub getValueFromPost { my $self = shift; - return $self->session->request->param($self->get("name")) || "text"; + return $self->session->form->param($self->get("name")) || "text"; } #------------------------------------------------------------------- diff --git a/lib/WebGUI/Form/File.pm b/lib/WebGUI/Form/File.pm index a8a6a468b..80410c1d0 100644 --- a/lib/WebGUI/Form/File.pm +++ b/lib/WebGUI/Form/File.pm @@ -144,8 +144,8 @@ deleting the file if it was specified. sub getValueFromPost { my $self = shift; - my $value = $self->session->request->param($self->get("name")); - if ($self->session->request->param(join '_', '_', $self->get("name"), 'delete')) { + my $value = $self->session->form->param($self->get("name")); + if ($self->session->form->param(join '_', '_', $self->get("name"), 'delete')) { my $storage = WebGUI::Storage->get($self->session,$value); $storage->delete; return ''; diff --git a/lib/WebGUI/Form/FilterContent.pm b/lib/WebGUI/Form/FilterContent.pm index 2dfd9cd6d..d8c348a87 100644 --- a/lib/WebGUI/Form/FilterContent.pm +++ b/lib/WebGUI/Form/FilterContent.pm @@ -93,7 +93,7 @@ Returns either what's posted or if nothing comes back it returns "most". sub getValueFromPost { my $self = shift; - return $self->session->request->param($self->get("name")) || "most"; + return $self->session->form->param($self->get("name")) || "most"; } #------------------------------------------------------------------- diff --git a/lib/WebGUI/Form/Float.pm b/lib/WebGUI/Form/Float.pm index 0392e2f1d..5f3d7ab95 100644 --- a/lib/WebGUI/Form/Float.pm +++ b/lib/WebGUI/Form/Float.pm @@ -99,7 +99,7 @@ Returns the integer from the form post, or returns 0.0 if the post result is inv sub getValueFromPost { my $self = shift; - my $value = $self->session->request->param($self->get("name")); + my $value = $self->session->form->param($self->get("name")); if ($value =~ /^[\d\-\.]+$/) { return $value; } diff --git a/lib/WebGUI/Form/Integer.pm b/lib/WebGUI/Form/Integer.pm index 6ab7b0d38..f89954238 100644 --- a/lib/WebGUI/Form/Integer.pm +++ b/lib/WebGUI/Form/Integer.pm @@ -99,7 +99,7 @@ Returns the integer from the form post, or returns 0 if the post result is inval sub getValueFromPost { my $self = shift; - my $value = $self->session->request->param($self->get("name")); + my $value = $self->session->form->param($self->get("name")); if ($value =~ /^[\d\-]+$/) { return $value; } diff --git a/lib/WebGUI/Form/Interval.pm b/lib/WebGUI/Form/Interval.pm index 41810ed4b..e4abf34e0 100644 --- a/lib/WebGUI/Form/Interval.pm +++ b/lib/WebGUI/Form/Interval.pm @@ -90,7 +90,7 @@ Returns either the interval that was posted (in seconds) or if nothing comes bac sub getValueFromPost { my $self = shift; - return $self->session->datetime->intervalToSeconds($self->session->request->param($self->get("name")."_interval"),$self->session->request->param($self->get("name")."_units")) || 0; + return $self->session->datetime->intervalToSeconds($self->session->form->param($self->get("name")."_interval"),$self->session->form->param($self->get("name")."_units")) || 0; } #------------------------------------------------------------------- diff --git a/lib/WebGUI/Form/List.pm b/lib/WebGUI/Form/List.pm index 8749e9853..fe3d0af06 100644 --- a/lib/WebGUI/Form/List.pm +++ b/lib/WebGUI/Form/List.pm @@ -198,7 +198,7 @@ Returns an array or a carriage return ("\n") separated scalar depending upon whe sub getValueFromPost { my $self = shift; - my @data = $self->session->request->param($self->get("name")); + my @data = $self->session->form->param($self->get("name")); return wantarray ? @data : join("\n",@data); } diff --git a/lib/WebGUI/Form/Phone.pm b/lib/WebGUI/Form/Phone.pm index 0b3511b09..b43acf1bf 100644 --- a/lib/WebGUI/Form/Phone.pm +++ b/lib/WebGUI/Form/Phone.pm @@ -78,7 +78,7 @@ Returns a string filtered to allow only digits, spaces, and these special charac sub getValueFromPost { my $self = shift; - my $value = $self->session->request->param($self->get("name")); + my $value = $self->session->form->param($self->get("name")); if ($value =~ /^[\d\s\-\+\(\)]+$/) { return $value; } diff --git a/lib/WebGUI/Form/SelectBox.pm b/lib/WebGUI/Form/SelectBox.pm index 4b4a52dfb..1b5caa7c4 100644 --- a/lib/WebGUI/Form/SelectBox.pm +++ b/lib/WebGUI/Form/SelectBox.pm @@ -95,7 +95,7 @@ Retrieves a value from a form GET or POST and returns it. If the value comes bac sub getValueFromPost { my $self = shift; - my $formValue = $self->session->request->param($self->get("name")); + my $formValue = $self->session->form->param($self->get("name")); if (defined $formValue) { return $formValue; } else { diff --git a/lib/WebGUI/Form/TimeField.pm b/lib/WebGUI/Form/TimeField.pm index 54b8a0679..f603e56f7 100644 --- a/lib/WebGUI/Form/TimeField.pm +++ b/lib/WebGUI/Form/TimeField.pm @@ -94,7 +94,7 @@ Returns the number of seconds since 00:00:00 on a 24 hour clock. Note, this will sub getValueFromPost { my $self = shift; - return $self->session->datetime->timeToSeconds($self->session->request->param($self->get("name")))-($self->session->user->profileField("timeOffset")*3600); + return $self->session->datetime->timeToSeconds($self->session->form->param($self->get("name")))-($self->session->user->profileField("timeOffset")*3600); } #------------------------------------------------------------------- diff --git a/lib/WebGUI/Form/Url.pm b/lib/WebGUI/Form/Url.pm index 1359b7a0b..24837d9f7 100644 --- a/lib/WebGUI/Form/Url.pm +++ b/lib/WebGUI/Form/Url.pm @@ -85,7 +85,7 @@ Parses the posted value and tries to make corrections if necessary. sub getValueFromPost { my $self = shift; - my $value = $self->session->request->param($self->get("name")); + my $value = $self->session->form->param($self->get("name")); if ($value =~ /mailto:/) { return $value; } elsif ($value =~ /^([A-Z0-9]+[._+-]?){1,}([A-Z0-9]+[_+-]?)+\@(([A-Z0-9]+[._-]?){1,}[A-Z0-9]+\.){1,}[A-Z]{2,4}$/i) { diff --git a/lib/WebGUI/Form/YesNo.pm b/lib/WebGUI/Form/YesNo.pm index 617152534..5b164ab97 100644 --- a/lib/WebGUI/Form/YesNo.pm +++ b/lib/WebGUI/Form/YesNo.pm @@ -86,7 +86,7 @@ Returns either a 1 or 0 representing yes, no. sub yesNo { my $self = shift; - if ($self->session->request->param($self->get("name")) > 0) { + if ($self->session->form->param($self->get("name")) > 0) { return 1; } return 0; diff --git a/lib/WebGUI/Form/Zipcode.pm b/lib/WebGUI/Form/Zipcode.pm index 4558dba12..e885dc4ac 100644 --- a/lib/WebGUI/Form/Zipcode.pm +++ b/lib/WebGUI/Form/Zipcode.pm @@ -85,7 +85,7 @@ Returns a validated form post result. If the result does not pass validation, it sub getValueFromPost { my $self = shift; - my $value = $self->session->request->param($self->get("name")); + my $value = $self->session->form->param($self->get("name")); if ($value =~ /^[A-Z\d\s\-]+$/) { return $value; } diff --git a/lib/WebGUI/Operation/Commerce.pm b/lib/WebGUI/Operation/Commerce.pm index e3549e92a..56bf08d05 100644 --- a/lib/WebGUI/Operation/Commerce.pm +++ b/lib/WebGUI/Operation/Commerce.pm @@ -513,7 +513,7 @@ sub www_editCommerceSettingsSave { my $session = shift; use WebGUI; WebGUI::dumpSession($session); return $session->privilege->adminOnly() unless ($session->user->isInGroup(3)); - foreach ($session->request->param) { + foreach ($session->form->param) { # Store the plugin confiuration data in a special table for security and the general settings in the # normal settings table for easy access. if (/~([^~]*)~([^~]*)~([^~]*)/) { @@ -768,7 +768,7 @@ sub www_updateCart { my $session = shift; use WebGUI; WebGUI::dumpSession($session); my $shoppingCart = WebGUI::Commerce::ShoppingCart->new($session); - foreach my $formElement ($session->request->param) { + foreach my $formElement ($session->form->param) { if ($formElement =~ m/^quantity~([^~]*)~([^~]*)$/) { $shoppingCart->setQuantity($2, $1, $session->form->process($formElement)); } diff --git a/lib/WebGUI/Session/Form.pm b/lib/WebGUI/Session/Form.pm index f32fcda93..fce26b4a0 100644 --- a/lib/WebGUI/Session/Form.pm +++ b/lib/WebGUI/Session/Form.pm @@ -128,7 +128,7 @@ sub paramsHashRef { my $self = shift; unless ($self->{_paramsHashRef}) { my $hash; - foreach ($self->session->request->param) { + foreach ($self->param) { $hash->{$_} = $self->process($_); } $self->{_paramsHashRef} = $hash;