diff --git a/docs/migration.txt b/docs/migration.txt index b311c3901..23c47d30f 100644 --- a/docs/migration.txt +++ b/docs/migration.txt @@ -756,6 +756,13 @@ processReplacements functions. perl -pi.bak -e 's!WebGUI\:\:HTML\:\:makeAbsolute\(!WebGUI::HTML::makeAbsolute(\$self->session,!g' fileNameGoesHere perl -pi.bak -e 's!WebGUI\:\:HTML\:\:processReplacements\(!WebGUI::HTML::processReplacements(\$self->session,!g' fileNameGoesHere +5.23.15 WebGUI::HTMLForm API Refactored + +You now need to pass in a reference to session to the constructor. + +perl -pi.bak -e 's!WebGUI\:\:HTMLForm\-\>new\(!WebGUI::HTMLForm->new(\$self->session,!g' fileNameGoesHere +perl -pi.bak -e 's!WebGUI\:\:HTMLForm\-\>new\;!WebGUI::HTMLForm->new(\$self->session);!g' fileNameGoesHere + 6. Automatic list of Assets in Help System. diff --git a/lib/WebGUI/Asset/File/Image.pm b/lib/WebGUI/Asset/File/Image.pm index b77a48152..b8b7376e6 100644 --- a/lib/WebGUI/Asset/File/Image.pm +++ b/lib/WebGUI/Asset/File/Image.pm @@ -247,7 +247,7 @@ sub www_resize { $self->setSize($self->getStorageLocation->getFileSize($self->get("filename"))); } $self->getAdminConsole->addSubmenuItem($self->getUrl('func=edit'),WebGUI::International::get("edit image","Asset_Image")); - my $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name=>"func", -value=>"resize" diff --git a/lib/WebGUI/Asset/Shortcut.pm b/lib/WebGUI/Asset/Shortcut.pm index 3b04918bc..18f59536d 100644 --- a/lib/WebGUI/Asset/Shortcut.pm +++ b/lib/WebGUI/Asset/Shortcut.pm @@ -640,7 +640,7 @@ sub www_getUserPrefsForm { return 'You are not allowed to personalize this Dashboard.' unless $self->getParent->canPersonalize; my $output; my @fielden = $self->getPrefFieldsToShow; - my $f = WebGUI::HTMLForm->new(extras=>' onSubmit="submitForm(this,\''.$self->getId.'\',\''.$self->getUrl.'\');return false;"'); + my $f = WebGUI::HTMLForm->new($self->session,extras=>' onSubmit="submitForm(this,\''.$self->getId.'\',\''.$self->getUrl.'\');return false;"'); $f->raw(''); $f->hidden( -name => 'func', @@ -741,7 +741,7 @@ sub www_editOverride { %props = (%props,%{$def->{properties}}); } $output .= '
'; - my $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden(-name=>"func",-value=>"saveOverride"); $f->hidden(-name=>"overrideFieldName",-value=>$self->session->form->process("fieldName")); $f->readOnly(-label=>$i18n->get("fieldName"),-value=>$self->session->form->process("fieldName")); diff --git a/lib/WebGUI/Asset/Template.pm b/lib/WebGUI/Asset/Template.pm index 51e7ea0ae..6d231e729 100644 --- a/lib/WebGUI/Asset/Template.pm +++ b/lib/WebGUI/Asset/Template.pm @@ -357,7 +357,7 @@ sub www_styleWizard { return $self->session->privilege->insufficient() unless $self->canEdit; my $output = ""; if ($self->session->form->process("step") == 2) { - my $f = WebGUI::HTMLForm->new({action=>$self->getUrl}); + my $f = WebGUI::HTMLForm->new($self->session,{action=>$self->getUrl}); $f->hidden(name=>"func", value=>"styleWizard"); $f->hidden(name=>"proceed", value=>"manageAssets") if ($self->session->form->process("proceed")); $f->hidden(name=>"step", value=>3); diff --git a/lib/WebGUI/Asset/Wobject/DataForm.pm b/lib/WebGUI/Asset/Wobject/DataForm.pm index ba60dfb61..589f74b24 100644 --- a/lib/WebGUI/Asset/Wobject/DataForm.pm +++ b/lib/WebGUI/Asset/Wobject/DataForm.pm @@ -757,7 +757,7 @@ sub www_editField { } $tab = $self->session->db->buildHashRef("select DataForm_tabId,label from DataForm_tab where assetId=".$self->session->db->quote($self->getId)); $tab->{0} = WebGUI::International::get("no tab","Asset_DataForm"); - $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "fid", -value => $self->session->form->process("fid") @@ -914,7 +914,7 @@ sub www_editTab { unless ($self->session->form->process("tid") eq "new") { %tab = $self->session->db->quickHash("select * from DataForm_tab where DataForm_tabId=".$self->session->db->quote($self->session->form->process("tid"))); } - $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "tid", -value => $self->session->form->process("tid") diff --git a/lib/WebGUI/Asset/Wobject/InOutBoard.pm b/lib/WebGUI/Asset/Wobject/InOutBoard.pm index 44b155cfb..16d66ace7 100644 --- a/lib/WebGUI/Asset/Wobject/InOutBoard.pm +++ b/lib/WebGUI/Asset/Wobject/InOutBoard.pm @@ -172,7 +172,7 @@ sub view { ##Find all the users for which I am a delegate my @users = $self->session->db->buildArray("select userId from InOutBoard_delegates where assetId=".$self->session->db->quote($self->getId)." and delegateUserId=".$self->session->db->quote($self->session->user->profileField("userId"))); - my $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); if (@users) { my %nameHash; tie %nameHash, "Tie::IxHash"; @@ -311,7 +311,7 @@ group by userId", $self->session->db->quote($self->getId), $self->session->db->q $sql = sprintf "select delegateUserId from InOutBoard_delegates where userId=%s and assetId=%s", $self->session->db->quote($self->session->user->profileField("userId")), $self->session->db->quote($self->getId); my $delegates = $self->session->db->buildArrayRef($sql); - my $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "func", -value => "selectDelegatesEditSave" @@ -379,7 +379,7 @@ sub www_viewReport { my $self = shift; return "" unless ($self->session->user->isInGroup($self->getValue("reportViewerGroup"))); my %var; - my $f = WebGUI::HTMLForm->new(-action=>$self->getUrl, -method=>"GET"); + my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl, -method=>"GET"); my %changedBy = (); $f->hidden( -name=>"func", diff --git a/lib/WebGUI/Asset/Wobject/Matrix.pm b/lib/WebGUI/Asset/Wobject/Matrix.pm index 128775120..33a9990d3 100644 --- a/lib/WebGUI/Asset/Wobject/Matrix.pm +++ b/lib/WebGUI/Asset/Wobject/Matrix.pm @@ -442,7 +442,7 @@ sub www_editListing { my $self = shift; my $listing= $self->session->db->getRow("Matrix_listing","listingId",$self->session->form->process("listingId")); return WebGUI::International('no edit rights','Asset_Matrix') unless (($self->session->form->process("listingId") eq "new" && $self->session->user->isInGroup($self->get("groupToAdd"))) || $self->session->user->profileField("userId") eq $listing->{maintainerId} || $self->canEdit); - my $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name=>"func", -value=>"editListingSave" @@ -650,7 +650,7 @@ sub www_editField { my $self = shift; return $self->session->privilege->insufficient() unless($self->canEdit); my $field = $self->session->db->getRow("Matrix_field","fieldId",$self->session->form->process("fieldId")); - my $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name=>"func", -value=>"editFieldSave" @@ -986,7 +986,7 @@ sub www_viewDetail { $var{manufacturerUrl} = $listing->{manufacturerUrl}; $var{'manufacturerUrl.click'} = $self->getUrl("m=1&func=click&listingId=".$listingId); $var{versionNumber} = $listing->{versionNumber}; - my $f = WebGUI::HTMLForm->new( + my $f = WebGUI::HTMLForm->new($self->session, -extras=>'class="content"', -tableExtras=>'class="content"' ); @@ -1061,7 +1061,7 @@ sub www_viewDetail { 10=>"10 - Best" ); my $ratingsTable = ''; - $f = WebGUI::HTMLForm->new( + $f = WebGUI::HTMLForm->new($self->session, -extras=>'class="ratingForm"', -tableExtras=>'class="ratingForm"' ); diff --git a/lib/WebGUI/Asset/Wobject/Product.pm b/lib/WebGUI/Asset/Wobject/Product.pm index 81b54245b..2618e710f 100644 --- a/lib/WebGUI/Asset/Wobject/Product.pm +++ b/lib/WebGUI/Asset/Wobject/Product.pm @@ -312,7 +312,7 @@ sub www_addAccessory { my $self = shift; return $self->session->privilege->insufficient() unless ($self->canEdit); my ($f, $accessory, @usedAccessories); - $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "func", -value => "addAccessorySave", @@ -351,7 +351,7 @@ sub www_addRelated { my $self = shift; return $self->session->privilege->insufficient() unless ($self->canEdit); my ($f, $related, @usedRelated); - $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "func", -value => "addRelatedSave", @@ -469,7 +469,7 @@ sub www_editBenefit { return $self->session->privilege->insufficient() unless ($self->canEdit); my ($data, $f, $benefits); $data = $self->getCollateral("Product_benefit","Product_benefitId",$self->session->form->process("bid")); - $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "bid", -value => $data->{Product_benefitId}, @@ -516,7 +516,7 @@ sub www_editFeature { return $self->session->privilege->insufficient() unless ($self->canEdit); my ($data, $f, $features); $data = $self->getCollateral("Product_feature","Product_featureId",$self->session->form->process("fid")); - $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "fid", -value => $data->{Product_featureId}, @@ -562,7 +562,7 @@ sub www_editSpecification { return $self->session->privilege->insufficient() unless ($self->canEdit); my ($data, $f, $hashRef); $data = $self->getCollateral("Product_specification","Product_specificationId",$self->session->form->process("sid")); - $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "sid", -value => $data->{Product_specificationId}, diff --git a/lib/WebGUI/Asset/Wobject/Survey.pm b/lib/WebGUI/Asset/Wobject/Survey.pm index 4dec446cc..6148438a6 100644 --- a/lib/WebGUI/Asset/Wobject/Survey.pm +++ b/lib/WebGUI/Asset/Wobject/Survey.pm @@ -778,7 +778,7 @@ sub www_editAnswer { return $self->session->privilege->insufficient() unless ($self->canEdit); $answer = $self->getCollateral("Survey_answer","Survey_answerId",$self->session->form->process("aid")); - $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "assetId", -value => $self->session->form->process("assetId") @@ -881,7 +881,7 @@ sub www_editQuestion { $question = $self->getCollateral("Survey_question","Survey_questionId",$self->session->form->process("qid")); $answerFieldType = $question->{answerFieldType} || "radioList"; - $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "assetId", -value => $self->get("assetId") @@ -1048,7 +1048,7 @@ sub www_editSection { return $self->session->privilege->vitalComponent; } - $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "assetId", -value => $self->get("assetId") diff --git a/lib/WebGUI/AssetExportHtml.pm b/lib/WebGUI/AssetExportHtml.pm index a6258935d..b7b70166d 100644 --- a/lib/WebGUI/AssetExportHtml.pm +++ b/lib/WebGUI/AssetExportHtml.pm @@ -139,7 +139,7 @@ sub www_export { my $self = shift; return $self->session->privilege->insufficient() unless ($self->session->user->isInGroup(13)); $self->getAdminConsole->setHelp("page export", "Asset"); - my $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "func", -value => "exportStatus" diff --git a/lib/WebGUI/AssetMetaData.pm b/lib/WebGUI/AssetMetaData.pm index 4ffe1eacd..c8fd3851e 100644 --- a/lib/WebGUI/AssetMetaData.pm +++ b/lib/WebGUI/AssetMetaData.pm @@ -165,7 +165,7 @@ sub www_editMetaDataField { $fieldInfo = $self->getMetaDataFields($self->session->form->process("fid")); } my $fid = $self->session->form->process("fid") || "new"; - my $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( -name => "func", -value => "editMetaDataFieldSave" diff --git a/lib/WebGUI/AssetVersioning.pm b/lib/WebGUI/AssetVersioning.pm index ed23e1652..de4613ea9 100644 --- a/lib/WebGUI/AssetVersioning.pm +++ b/lib/WebGUI/AssetVersioning.pm @@ -348,7 +348,7 @@ sub www_addVersionTag { return $self->session->privilege->insufficient() unless ($self->session->user->isInGroup(12)); my $i18n = WebGUI::International->new("Asset"); $ac->addSubmenuItem($self->getUrl('func=manageVersions'), $i18n->get("manage versions")); - my $f = WebGUI::HTMLForm->new(-action=>$self->getUrl); + my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); my $tag = $self->session->db->getRow("assetVersionTag","tagId",$self->session->form->process("tagId")); $f->hidden( -name=>"func", diff --git a/lib/WebGUI/Auth/LDAP.pm b/lib/WebGUI/Auth/LDAP.pm index 2f3e6355e..e8b1c7e68 100644 --- a/lib/WebGUI/Auth/LDAP.pm +++ b/lib/WebGUI/Auth/LDAP.pm @@ -96,7 +96,7 @@ sub addUserForm { my $connectDN = $session{form}{'authLDAP_connectDN'} || $userData->{connectDN}; my $ldapConnection = $session{form}{'authLDAP_ldapConnection'} || $userData->{ldapConnection}; my $ldapLinks = $self->session->db->buildHashRef("select ldapLinkId,ldapUrl from ldapLink"); - my $f = WebGUI::HTMLForm->new; + my $f = WebGUI::HTMLForm->new($self->session); my $jscript = ""; if(scalar(keys %{$ldapLinks}) > 0) { my $jsArray = ""; @@ -359,7 +359,7 @@ sub editUserFormSave { sub editUserSettingsForm { my $self = shift; - my $f = WebGUI::HTMLForm->new; + my $f = WebGUI::HTMLForm->new($self->session); my $ldapConnection = WebGUI::Form::selectBox({ name=>"ldapConnection", options=>WebGUI::LDAPLink::getList(), diff --git a/lib/WebGUI/Auth/WebGUI.pm b/lib/WebGUI/Auth/WebGUI.pm index dd0f558e7..6a808e851 100644 --- a/lib/WebGUI/Auth/WebGUI.pm +++ b/lib/WebGUI/Auth/WebGUI.pm @@ -80,7 +80,7 @@ sub _logSecurityMessage { sub addUserForm { my $self = shift; my $userData = $self->getParams; - my $f = WebGUI::HTMLForm->new; + my $f = WebGUI::HTMLForm->new($self->session); $f->password( name=>"authWebGUI.identifier", label=>WebGUI::International::get(51), @@ -348,7 +348,7 @@ sub editUserFormSave { sub editUserSettingsForm { my $self = shift; - my $f = WebGUI::HTMLForm->new; + my $f = WebGUI::HTMLForm->new($self->session); $f->text( -name=>"webguiPasswordLength", -value=>$self->session->setting->get("webguiPasswordLength"), diff --git a/lib/WebGUI/Commerce/Payment.pm b/lib/WebGUI/Commerce/Payment.pm index fe7aa2c35..e533f4652 100644 --- a/lib/WebGUI/Commerce/Payment.pm +++ b/lib/WebGUI/Commerce/Payment.pm @@ -81,7 +81,7 @@ sub configurationForm { $self = shift; $form = shift; - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($self->session); $f->yesNo( -name => $self->prepend('enabled'), -value => $self->enabled, @@ -386,7 +386,7 @@ the database. Use it on all fields in the configurationForm method. For instance: - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($self->session); $f->text( -name => $self->prepend('MyField'); -label => 'MyField' diff --git a/lib/WebGUI/Commerce/Payment/ITransact.pm b/lib/WebGUI/Commerce/Payment/ITransact.pm index 4915746bf..2f79e9c87 100644 --- a/lib/WebGUI/Commerce/Payment/ITransact.pm +++ b/lib/WebGUI/Commerce/Payment/ITransact.pm @@ -110,7 +110,7 @@ sub checkoutForm { $u = WebGUI::User->new($self->session->user->profileField("userId")); - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($self->session); $f->text( -name => 'firstName', -label => $i18n->get('firstName'), @@ -435,7 +435,7 @@ sub configurationForm { $self = shift; $i18n = WebGUI::International->new('CommercePaymentITransact'); - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($self->session); $f->text( -name => $self->prepend('vendorId'), -label => $i18n->get('vendorId'), diff --git a/lib/WebGUI/Commerce/Shipping.pm b/lib/WebGUI/Commerce/Shipping.pm index f4593ad91..4efc8fa8f 100644 --- a/lib/WebGUI/Commerce/Shipping.pm +++ b/lib/WebGUI/Commerce/Shipping.pm @@ -47,7 +47,7 @@ sub configurationForm { $self = shift; $form = shift; - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($self->session); $f->yesNo( -name => $self->prepend('enabled'), -value => $self->enabled, @@ -262,7 +262,7 @@ the database. Use it on all fields in the configurationForm method. For instance: - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($self->session); $f->text( -name => $self->prepend('MyField'); -label => 'MyField' diff --git a/lib/WebGUI/Commerce/Shipping/ByPrice.pm b/lib/WebGUI/Commerce/Shipping/ByPrice.pm index 5f752f68e..ee7331600 100644 --- a/lib/WebGUI/Commerce/Shipping/ByPrice.pm +++ b/lib/WebGUI/Commerce/Shipping/ByPrice.pm @@ -23,7 +23,7 @@ sub configurationForm { my ($self, $f); $self = shift; - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($self->session); $f->float( -name => $self->prepend('percentageOfPrice'), -label => WebGUI::International::get('percentage of price', 'CommerceShippingByPrice'), diff --git a/lib/WebGUI/Commerce/Shipping/ByWeight.pm b/lib/WebGUI/Commerce/Shipping/ByWeight.pm index dc6176763..8b1476e6f 100644 --- a/lib/WebGUI/Commerce/Shipping/ByWeight.pm +++ b/lib/WebGUI/Commerce/Shipping/ByWeight.pm @@ -23,7 +23,7 @@ sub configurationForm { my ($self, $f); $self = shift; - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($self->session); $f->float( -name => $self->prepend('pricePerUnitWeight'), -label => WebGUI::International::get('price per weight', 'CommerceShippingByWeight'), diff --git a/lib/WebGUI/Commerce/Shipping/PerTransaction.pm b/lib/WebGUI/Commerce/Shipping/PerTransaction.pm index e8f91ad70..70f89d417 100644 --- a/lib/WebGUI/Commerce/Shipping/PerTransaction.pm +++ b/lib/WebGUI/Commerce/Shipping/PerTransaction.pm @@ -19,7 +19,7 @@ sub configurationForm { my ($self, $f); $self = shift; - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($self->session); $f->float( -name => $self->prepend('pricePerTransaction'), -label => WebGUI::International::get('price', 'CommerceShippingPerTransaction'), diff --git a/lib/WebGUI/HTMLForm.pm b/lib/WebGUI/HTMLForm.pm index 60d891d53..5ecc342c3 100644 --- a/lib/WebGUI/HTMLForm.pm +++ b/lib/WebGUI/HTMLForm.pm @@ -16,13 +16,9 @@ package WebGUI::HTMLForm; use CGI::Util qw(rearrange); use strict qw(vars refs); -use WebGUI::DateTime; use WebGUI::Form; use WebGUI::Icon; use WebGUI::International; -use WebGUI::Grouping; -use WebGUI::Session; -use WebGUI::SQL; use WebGUI::Utility; =head1 NAME @@ -36,7 +32,7 @@ Package that makes HTML forms typed data and significantly reduces the code need =head1 SYNOPSIS use WebGUI::HTMLForm; - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($self->session); $f->someFormControlType( name=>"someName", @@ -65,6 +61,7 @@ These methods are available from this class: #------------------------------------------------------------------- sub _uiLevelChecksOut { + my $self = shift; if ($_[0] <= $self->session->user->profileField("uiLevel")) { return 1; } else { @@ -146,17 +143,18 @@ If you want to add anything special to the form's table like a name or styleshee sub new { my ($header, $footer); my $class = shift; + my $session = shift; my %param = @_; - $header = "\n\n".WebGUI::Form::formHeader({ - action=>($param{action} || $param{'-action'}), + $header = "\n\n".WebGUI::Form::formHeader($session,{ + action=>($param{action} || $param{'-action'} || $session->url->page), extras=>($param{extras} || $param{'-extras'}), method=>($param{method} || $param{'-method'}), enctype=>($param{enctype} || $param{'-enctype'}) }); $header .= "\n
MeanMedianCount
'; $footer = "
\n" ; - $footer .= WebGUI::Form::formFooter($self->session,); - bless {_uiLevelOverride=>$param{uiLevelOverride}, _header => $header, _footer => $footer, _data => ''}, $class; + $footer .= WebGUI::Form::formFooter($session); + bless {_session=>$session, _uiLevelOverride=>$param{uiLevelOverride}, _header => $header, _footer => $footer, _data => ''}, $class; } #------------------------------------------------------------------- @@ -168,7 +166,8 @@ Returns the HTML for this form object. =cut sub print { - return $_[0]->{_header}.$_[0]->{_data}.$_[0]->{_footer}.''; + my $self = shift; + return $self->{_header}.$self->{_data}.$self->{_footer}.''; } #------------------------------------------------------------------- @@ -207,6 +206,19 @@ sub raw { } +#------------------------------------------------------------------- + +=head2 session ( ) + +Returns a reference to the current session. + +=cut + +sub session { + my $self = shift; + return $self->{_session}; +} + #------------------------------------------------------------------- =head2 trClass ( ) diff --git a/lib/WebGUI/Operation/Commerce.pm b/lib/WebGUI/Operation/Commerce.pm index b0579e8f2..17c9e979b 100644 --- a/lib/WebGUI/Operation/Commerce.pm +++ b/lib/WebGUI/Operation/Commerce.pm @@ -179,7 +179,7 @@ sub www_checkoutConfirm { $plugin = WebGUI::Commerce::Payment->load($session->scratch->get('paymentGateway')); - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => 'op', -value => 'checkoutSubmit' diff --git a/lib/WebGUI/Operation/DatabaseLink.pm b/lib/WebGUI/Operation/DatabaseLink.pm index be27125d6..e1f1c2e06 100644 --- a/lib/WebGUI/Operation/DatabaseLink.pm +++ b/lib/WebGUI/Operation/DatabaseLink.pm @@ -81,7 +81,7 @@ sub www_editDatabaseLink { } else { %db = %{WebGUI::DatabaseLink->new($session,$session->form->process("dlid"))->get}; } - $f = WebGUI::HTMLForm->new( + $f = WebGUI::HTMLForm->new($session, -extras=>'autocomplete="off"' ); $f->hidden( diff --git a/lib/WebGUI/Operation/FormHelpers.pm b/lib/WebGUI/Operation/FormHelpers.pm index 2b1e7247f..bfac10f67 100644 --- a/lib/WebGUI/Operation/FormHelpers.pm +++ b/lib/WebGUI/Operation/FormHelpers.pm @@ -49,7 +49,7 @@ sub www_formAssetTree { sub www_richEditPageTree { my $session = shift; - my $f = WebGUI::HTMLForm->new(-action=>"#",-extras=>'name"linkchooser"'); + my $f = WebGUI::HTMLForm->new($session,-action=>"#",-extras=>'name"linkchooser"'); $f->text( -name=>"url", -label=>WebGUI::International::get(104), diff --git a/lib/WebGUI/Operation/Group.pm b/lib/WebGUI/Operation/Group.pm index 9fe3f25d8..bd6a3bf00 100644 --- a/lib/WebGUI/Operation/Group.pm +++ b/lib/WebGUI/Operation/Group.pm @@ -105,7 +105,7 @@ sub getGroupSearchForm { $session->scratch->set("groupSearchKeyword",$session->form->process("keyword")); $session->scratch->set("groupSearchModifier",$session->form->process("modifier")); my $output = '
'; - my $f = WebGUI::HTMLForm->new(1); + my $f = WebGUI::HTMLForm->new($session,1); foreach my $key (keys %{$params}) { $f->hidden( -name=>$key, @@ -268,7 +268,7 @@ sub www_editGroup { } else { $g = WebGUI::Group->new($session->form->process("gid")); } - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => "op", -value => "editGroupSave", @@ -435,7 +435,7 @@ sub www_editGroupSave { sub www_editGrouping { my $session = shift; return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid"))); - my $f = WebGUI::HTMLForm->new; + my $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => "op", -value => "editGroupingSave" @@ -490,7 +490,7 @@ sub www_emailGroup { my $session = shift; return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid"))); my ($output,$f); - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => "op", -value => "emailGroupSend" @@ -598,7 +598,7 @@ sub www_listGroups { sub www_manageGroupsInGroup { my $session = shift; return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid"))); - my $f = WebGUI::HTMLForm->new; + my $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => "op", -value => "addGroupsToGroupSave" @@ -664,7 +664,7 @@ sub www_manageUsersInGroup { $output .= WebGUI::Operation::User::getUserSearchForm("manageUsersInGroup",{gid=>$session->form->process("gid")}); my ($userCount) = $session->db->quickArray("select count(*) from users"); return _submenu($output) unless ($session->form->process("doit") || $userCount < 250 || $session->form->process("pn") > 1); - my $f = WebGUI::HTMLForm->new; + my $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => "gid", -value => $session->form->process("gid") diff --git a/lib/WebGUI/Operation/LDAPLink.pm b/lib/WebGUI/Operation/LDAPLink.pm index 9bbefbb58..3b75fb91a 100644 --- a/lib/WebGUI/Operation/LDAPLink.pm +++ b/lib/WebGUI/Operation/LDAPLink.pm @@ -81,7 +81,7 @@ sub www_editLDAPLink { tie %db, 'Tie::CPHash'; %db = $session->db->quickHash("select * from ldapLink where ldapLinkId=".$session->db->quote($session->form->process("llid"))); - $f = WebGUI::HTMLForm->new( -extras=>'autocomplete="off"' ); + $f = WebGUI::HTMLForm->new($session, -extras=>'autocomplete="off"' ); $f->hidden( -name => "op", -value => "editLDAPLinkSave", diff --git a/lib/WebGUI/Operation/ProductManager.pm b/lib/WebGUI/Operation/ProductManager.pm index 70d3a65ba..054334a40 100755 --- a/lib/WebGUI/Operation/ProductManager.pm +++ b/lib/WebGUI/Operation/ProductManager.pm @@ -90,7 +90,7 @@ sub www_editProduct { $product = WebGUI::Product->new($productId)->get; } - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => 'op', -value => 'editProductSave' @@ -202,7 +202,7 @@ sub www_editProductParameter { $productId = $product->get('productId'); } - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => 'op', -value => 'editProductParameterSave', @@ -284,7 +284,7 @@ sub www_editProductParameterOption { $option = WebGUI::Product->getByOptionId($optionId)->getOption($optionId); } - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => 'op', -value => 'editProductParameterOptionSave', @@ -373,7 +373,7 @@ sub www_editProductVariant { $variantId = $session->form->process("variantId"); $variant = WebGUI::Product->getByVariantId($variantId)->getVariant($variantId); - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => 'op', -value => 'editProductVariantSave' @@ -447,7 +447,7 @@ sub www_editSkuTemplate { } $output .= "
"; - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => 'op', -value => 'editSkuTemplateSave' diff --git a/lib/WebGUI/Operation/ProfileSettings.pm b/lib/WebGUI/Operation/ProfileSettings.pm index 0af5a60bc..34288a919 100644 --- a/lib/WebGUI/Operation/ProfileSettings.pm +++ b/lib/WebGUI/Operation/ProfileSettings.pm @@ -74,7 +74,7 @@ sub www_editProfileCategory { my $session = shift; return $session->privilege->adminOnly() unless ($session->user->isInGroup(3)); my $data = {}; - my $f = WebGUI::HTMLForm->new; + my $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => "op", -value => "editProfileCategorySave", @@ -139,7 +139,7 @@ sub www_editProfileCategorySave { sub www_editProfileField { my $session = shift; return $session->privilege->adminOnly() unless ($session->user->isInGroup(3)); - my $f = WebGUI::HTMLForm->new; + my $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => "op", -value => "editProfileFieldSave", diff --git a/lib/WebGUI/Operation/Replacements.pm b/lib/WebGUI/Operation/Replacements.pm index 50c1549c0..ee6d1291a 100644 --- a/lib/WebGUI/Operation/Replacements.pm +++ b/lib/WebGUI/Operation/Replacements.pm @@ -50,7 +50,7 @@ sub www_editReplacement { my $session = shift; return $session->privilege->adminOnly() unless ($session->user->isInGroup(3)); my $data = $session->db->getRow("replacements","replacementId",$session->form->process("replacementId")); - my $f = WebGUI::HTMLForm->new; + my $f = WebGUI::HTMLForm->new($session); $f->hidden( -name=>"op", -value=>"editReplacementSave" diff --git a/lib/WebGUI/Operation/Subscription.pm b/lib/WebGUI/Operation/Subscription.pm index 825ed3495..42ec5550a 100644 --- a/lib/WebGUI/Operation/Subscription.pm +++ b/lib/WebGUI/Operation/Subscription.pm @@ -66,7 +66,7 @@ sub www_createSubscriptionCodeBatch { tie %subscriptions, "Tie::IxHash"; %subscriptions = $session->db->buildHash("select subscriptionId, name from subscription where deleted != 1 order by name"); - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => 'op', -value => 'createSubscriptionCodeBatchSave' @@ -201,7 +201,7 @@ sub www_editSubscription { $subscriptionId = $session->form->process("sid") || 'new'; - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => 'op', -value => 'editSubscriptionSave' @@ -454,7 +454,7 @@ sub www_redeemSubscriptionCode { $var{message} = $i18n->get('redeem code ask for code'); } - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => 'op', -value => 'redeemSubscriptionCode' diff --git a/lib/WebGUI/Operation/User.pm b/lib/WebGUI/Operation/User.pm index 0f04e2c5a..2595d610f 100644 --- a/lib/WebGUI/Operation/User.pm +++ b/lib/WebGUI/Operation/User.pm @@ -434,7 +434,7 @@ sub www_editUserKarma { my $session = shift; return $session->privilege->adminOnly() unless ($session->user->isInGroup(3)); my ($output, $f, $a, %user, %data, $method, $values, $category, $label, $default, $previousCategory); - $f = WebGUI::HTMLForm->new; + $f = WebGUI::HTMLForm->new($session); $f->hidden( -name => "op", -value => "editUserKarmaSave", diff --git a/lib/WebGUI/Operation/WebGUI.pm b/lib/WebGUI/Operation/WebGUI.pm index b04845b00..a2225940a 100644 --- a/lib/WebGUI/Operation/WebGUI.pm +++ b/lib/WebGUI/Operation/WebGUI.pm @@ -77,7 +77,7 @@ sub www_setup { $u->username($session->form->process("username","text","Admin")); $u->profileField("email",$session->form->email("email")); $u->identifier(Digest::MD5::md5_base64($session->form->process("identifier","password","123qwe"))); - my $f = WebGUI::HTMLForm->new(action=>$session->url->gateway()); + my $f = WebGUI::HTMLForm->new($session,action=>$session->url->gateway()); $f->hidden( -name=>"op", -value=>"setup" @@ -116,7 +116,7 @@ sub www_setup { } else { $output .= 'Admin Account'; my $u = WebGUI::User->new('3'); - my $f = WebGUI::HTMLForm->new(action=>$session->url->gateway()); + my $f = WebGUI::HTMLForm->new($session,action=>$session->url->gateway()); $f->hidden( -name=>"op", -value=>"setup" diff --git a/lib/WebGUI/TabForm.pm b/lib/WebGUI/TabForm.pm index cad9db6ca..fc752d976 100644 --- a/lib/WebGUI/TabForm.pm +++ b/lib/WebGUI/TabForm.pm @@ -98,7 +98,7 @@ sub addTab { my $name = shift; my $label = shift; my $uiLevel = shift || 0; - $self->{_tab}{$name}{form} = WebGUI::HTMLForm->new(uiLevelOverride=>$self->{_uiLevelOverride}); + $self->{_tab}{$name}{form} = WebGUI::HTMLForm->new($self->session,uiLevelOverride=>$self->{_uiLevelOverride}); $self->{_tab}{$name}{label} = $label; $self->{_tab}{$name}{uiLevel} = $uiLevel; } @@ -197,7 +197,7 @@ sub new { my %tabs; tie %tabs, 'Tie::IxHash'; foreach my $key (keys %{$startingTabs}) { - $tabs{$key}{form} = WebGUI::HTMLForm->new(uiLevelOverride=>$uiLevelOverride); + $tabs{$key}{form} = WebGUI::HTMLForm->new($self->session,uiLevelOverride=>$uiLevelOverride); $tabs{$key}{label} = $startingTabs->{$key}->{label}; $tabs{$key}{uiLevel} = $startingTabs->{$key}->{uiLevel}; }