diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt
index 98b962273..8c89d9531 100644
--- a/docs/changelog/6.x.x.txt
+++ b/docs/changelog/6.x.x.txt
@@ -24,6 +24,7 @@
- Readded the purge option to the trash manager.
- Added an advertising management system.
- Added a field set grouping mechanism to HTMLForm and TabForm.
+ - Added save buttons at the top of all the HTML forms for easier access.
- Added archive/unarchive options to CS threads.
- Increased the performance of CS Thread viewing by 500%.
- Added a database cache option as an alternative to memcached.
diff --git a/lib/WebGUI/HTMLForm.pm b/lib/WebGUI/HTMLForm.pm
index e2675eae9..c90cf1942 100644
--- a/lib/WebGUI/HTMLForm.pm
+++ b/lib/WebGUI/HTMLForm.pm
@@ -120,7 +120,7 @@ sub fieldSetEnd {
my $legend = shift;
$self->{_data} .= "\n"
."\n"
- ."
{_tableExtras}.'">'
+ ."{_tableExtras}.'" style="width: 100%;">'
."\n";
}
@@ -142,7 +142,7 @@ sub fieldSetStart {
my $legend = shift;
$self->{_data} .= "
\n"
."\n".$legend." \n"
- ."{_tableExtras}.'">'
+ ."{_tableExtras}.'" style="width: 100%;">'
."\n";
}
@@ -190,7 +190,7 @@ sub new {
method=>($param{method} || $param{'-method'}),
enctype=>($param{enctype} || $param{'-enctype'})
});
- $header .= "\n';
+ $header .= "\n\n" ;
$footer .= WebGUI::Form::formFooter($session);
bless {_session=>$session, _tableExtras=>$param{tableExtras}, _uiLevelOverride=>$param{uiLevelOverride}, _header => $header, _footer => $footer, _data => ''}, $class;
diff --git a/lib/WebGUI/Operation/Cron.pm b/lib/WebGUI/Operation/Cron.pm
index a768446db..9f7b0040c 100644
--- a/lib/WebGUI/Operation/Cron.pm
+++ b/lib/WebGUI/Operation/Cron.pm
@@ -57,6 +57,7 @@ sub www_editCronJob {
my $i18n = WebGUI::International->new($session, "Workflow_Cron");
my $cron = WebGUI::Workflow::Cron->new($session, $session->form->get("id"));
my $f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
name=>"op",
value=>"editCronJobSave"
diff --git a/lib/WebGUI/Operation/DatabaseLink.pm b/lib/WebGUI/Operation/DatabaseLink.pm
index 15c882e2b..395980372 100644
--- a/lib/WebGUI/Operation/DatabaseLink.pm
+++ b/lib/WebGUI/Operation/DatabaseLink.pm
@@ -157,6 +157,7 @@ sub www_editDatabaseLink {
$f = WebGUI::HTMLForm->new($session,
-extras=>'autocomplete="off"'
);
+ $f->submit;
$f->hidden(
-name => "op",
-value => "editDatabaseLinkSave",
diff --git a/lib/WebGUI/Operation/Group.pm b/lib/WebGUI/Operation/Group.pm
index bfa239bd4..d07316ee8 100644
--- a/lib/WebGUI/Operation/Group.pm
+++ b/lib/WebGUI/Operation/Group.pm
@@ -270,6 +270,7 @@ sub www_editGroup {
}
my $i18n = WebGUI::International->new($session);
$f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => "op",
-value => "editGroupSave",
@@ -438,6 +439,7 @@ sub www_editGrouping {
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session,$session->form->process("gid")));
my $i18n = WebGUI::International->new($session);
my $f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => "op",
-value => "editGroupingSave"
@@ -607,6 +609,7 @@ sub www_manageGroupsInGroup {
my $session = shift;
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session,$session->form->process("gid")));
my $f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => "op",
-value => "addGroupsToGroupSave"
@@ -676,6 +679,7 @@ sub www_manageUsersInGroup {
my ($userCount) = $session->db->quickArray("select count(*) from users");
return _submenu($session,$output) unless ($session->form->process("doit") || $userCount < 250 || $session->form->process("pn") > 1);
my $f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => "gid",
-value => $session->form->process("gid")
diff --git a/lib/WebGUI/Operation/LDAPLink.pm b/lib/WebGUI/Operation/LDAPLink.pm
index a27ed5a6b..51d0bce80 100644
--- a/lib/WebGUI/Operation/LDAPLink.pm
+++ b/lib/WebGUI/Operation/LDAPLink.pm
@@ -136,6 +136,7 @@ sub www_editLDAPLink {
my $i18n = WebGUI::International->new($session,"AuthLDAP");
$f = WebGUI::HTMLForm->new($session, -extras=>'autocomplete="off"' );
+ $f->submit;
$f->hidden(
-name => "op",
-value => "editLDAPLinkSave",
diff --git a/lib/WebGUI/Operation/ProductManager.pm b/lib/WebGUI/Operation/ProductManager.pm
index 6c1274fe8..8dae737fb 100755
--- a/lib/WebGUI/Operation/ProductManager.pm
+++ b/lib/WebGUI/Operation/ProductManager.pm
@@ -152,6 +152,7 @@ sub www_editProduct {
}
$f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => 'op',
-value => 'editProductSave'
@@ -286,6 +287,7 @@ sub www_editProductParameter {
}
$f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => 'op',
-value => 'editProductParameterSave',
@@ -390,6 +392,7 @@ sub www_editProductParameterOption {
}
$f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => 'op',
-value => 'editProductParameterOptionSave',
@@ -501,6 +504,7 @@ sub www_editProductVariant {
$variant = WebGUI::Product->getByVariantId($session,$variantId)->getVariant($variantId);
$f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => 'op',
-value => 'editProductVariantSave'
@@ -597,6 +601,7 @@ sub www_editSkuTemplate {
$output .= " ";
$f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => 'op',
-value => 'editSkuTemplateSave'
diff --git a/lib/WebGUI/Operation/ProfileSettings.pm b/lib/WebGUI/Operation/ProfileSettings.pm
index 10746406f..1c3fc9fcf 100644
--- a/lib/WebGUI/Operation/ProfileSettings.pm
+++ b/lib/WebGUI/Operation/ProfileSettings.pm
@@ -133,6 +133,7 @@ sub www_editProfileCategory {
my $data = {};
my $i18n = WebGUI::International->new($session,"WebGUIProfile");
my $f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => "op",
-value => "editProfileCategorySave",
@@ -213,6 +214,7 @@ sub www_editProfileField {
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $i18n = WebGUI::International->new($session,"WebGUIProfile");
my $f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => "op",
-value => "editProfileFieldSave",
diff --git a/lib/WebGUI/Operation/Replacements.pm b/lib/WebGUI/Operation/Replacements.pm
index a76a4e7c0..59dd15763 100644
--- a/lib/WebGUI/Operation/Replacements.pm
+++ b/lib/WebGUI/Operation/Replacements.pm
@@ -99,6 +99,7 @@ sub www_editReplacement {
my $data = $session->db->getRow("replacements","replacementId",$session->form->process("replacementId"));
my $i18n = WebGUI::International->new($session);
my $f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name=>"op",
-value=>"editReplacementSave"
diff --git a/lib/WebGUI/Operation/Settings.pm b/lib/WebGUI/Operation/Settings.pm
index 049b1cd1c..d3e619f89 100644
--- a/lib/WebGUI/Operation/Settings.pm
+++ b/lib/WebGUI/Operation/Settings.pm
@@ -294,9 +294,10 @@ sub www_editSettings {
-extras=>"onchange=\"active=operateHidden(this.options[this.selectedIndex].value,active)\""
);
foreach (@{$session->config->get("authMethods")}) {
+ $tabform->getTab("auth")->fieldSetStart($_);
my $authInstance = WebGUI::Operation::Auth::getInstance($session,$_,1);
- my $style = '" style="display: none;' unless ($_ eq $session->setting->get("authMethod"));
- $tabform->getTab("auth")->raw(''.$authInstance->editUserSettingsForm.'
');
+ $tabform->getTab("auth")->raw($authInstance->editUserSettingsForm);
+ $tabform->getTab("auth")->fieldSetEnd;
}
$tabform->submit();
my $ac = WebGUI::AdminConsole->new($session,"settings");
diff --git a/lib/WebGUI/Operation/Subscription.pm b/lib/WebGUI/Operation/Subscription.pm
index 393bce9ae..aa729b90a 100644
--- a/lib/WebGUI/Operation/Subscription.pm
+++ b/lib/WebGUI/Operation/Subscription.pm
@@ -122,6 +122,7 @@ sub www_createSubscriptionCodeBatch {
%subscriptions = $session->db->buildHash("select subscriptionId, name from subscription where deleted != 1 order by name");
$f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => 'op',
-value => 'createSubscriptionCodeBatchSave'
@@ -312,6 +313,7 @@ sub www_editSubscription {
$subscriptionId = $session->form->process("sid") || 'new';
$f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => 'op',
-value => 'editSubscriptionSave'
diff --git a/lib/WebGUI/Operation/User.pm b/lib/WebGUI/Operation/User.pm
index 067079a73..e74d881a9 100644
--- a/lib/WebGUI/Operation/User.pm
+++ b/lib/WebGUI/Operation/User.pm
@@ -342,20 +342,21 @@ sub www_editUser {
-options=>$options,
-label=>$i18n->get(164),
-value=>$u->authMethod,
- -extras=>"onchange=\"active=operateHidden(this.options[this.selectedIndex].value,active)\""
);
foreach (@{$session->config->get("authMethods")}) {
+ $tabform->getTab("account")->fieldSetStart($_);
my $authInstance = WebGUI::Operation::Auth::getInstance($session,$_,$u->userId);
- my $style = '" style="display: none;' unless ($_ eq $u->authMethod);
- $tabform->getTab("account")->raw(''.$authInstance->editUserForm.'
');
+ $tabform->getTab("account")->raw($authInstance->editUserForm);
+ $tabform->getTab("account")->fieldSetEnd;
}
foreach my $category (@{WebGUI::ProfileCategory->getCategories($session)}) {
- $tabform->getTab("profile")->raw(' ');
+ $tabform->getTab("profile")->fieldSetStart($category->getLabel);
foreach my $field (@{$category->getFields}) {
next if $field->getId =~ /contentPositions/;
my $label = $field->getLabel . ($field->isRequired ? "*" : '');
$tabform->getTab("profile")->raw($field->formField({label=>$label},1,$u));
}
+ $tabform->getTab("profile")->fieldSetEnd($category->getLabel);
}
my @groupsToAdd = $session->form->group("groupsToAdd");
my @exclude = $session->db->buildArray("select groupId from groupings where userId=".$session->db->quote($u->userId));
@@ -471,6 +472,7 @@ sub www_editUserKarma {
my ($output, $f, $a, %user, %data, $method, $values, $category, $label, $default, $previousCategory);
my $i18n = WebGUI::International->new($session);
$f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
-name => "op",
-value => "editUserKarmaSave",
diff --git a/lib/WebGUI/Operation/VersionTag.pm b/lib/WebGUI/Operation/VersionTag.pm
index bd05057b7..506ab834c 100644
--- a/lib/WebGUI/Operation/VersionTag.pm
+++ b/lib/WebGUI/Operation/VersionTag.pm
@@ -87,6 +87,7 @@ sub www_editVersionTag {
my $i18n = WebGUI::International->new($session,"VersionTag");
$ac->addSubmenuItem($session->url->page('op=manageVersions'), $i18n->get("manage versions"));
my $f = WebGUI::HTMLForm->new($session);
+ $f->submit;
my $tag = WebGUI::VersionTag->new($session, $tagId);
$f->hidden(
-name=>"op",
@@ -187,6 +188,7 @@ sub www_commitVersionTag {
if (defined $tag && $session->user->isInGroup($tag->get("groupToUse"))) {
my $i18n = WebGUI::International->new($session, "VersionTag");
my $f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->readOnly(
label=>$i18n->get("version tag name"),
value=>$tag->get("name")
@@ -365,6 +367,7 @@ sub www_manageRevisionsInTag {
my $instance = WebGUI::Workflow::Instance->new($session, $session->form->param("workflowInstanceId"));
if (defined $instance) {
my $form = WebGUI::HTMLForm->new($session);
+ $form->submit;
$form->hidden(
name=>"tagId",
value=>$tagId
diff --git a/lib/WebGUI/Operation/Workflow.pm b/lib/WebGUI/Operation/Workflow.pm
index 8ceb4897f..3c19ffaec 100644
--- a/lib/WebGUI/Operation/Workflow.pm
+++ b/lib/WebGUI/Operation/Workflow.pm
@@ -43,6 +43,7 @@ sub www_addWorkflow {
return $session->privilege->insufficient() unless ($session->user->isInGroup("pbgroup000000000000015"));
my $i18n = WebGUI::International->new($session, "Workflow");
my $f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
name=>"op",
value=>"addWorkflowSave"
@@ -160,6 +161,7 @@ sub www_editWorkflow {
}
$addmenu .= '';
my $f = WebGUI::HTMLForm->new($session);
+ $f->submit;
$f->hidden(
name=>"op",
value=>"editWorkflowSave"
diff --git a/lib/WebGUI/TabForm.pm b/lib/WebGUI/TabForm.pm
index ac40de684..51ade1e8e 100644
--- a/lib/WebGUI/TabForm.pm
+++ b/lib/WebGUI/TabForm.pm
@@ -236,9 +236,9 @@ sub print {
$tabs .= 'style="display: none;"';
}
$tabs .= '>'.$self->{_tab}{$key}{label}.' ';
- $form .= '';
+ $form .= '';
$form .= $self->{_tab}{$key}{form}->printRowsOnly;
- $form .= '
';
+ $form .= '
';
$i++;
}
$output .= ''.$tabs.$self->{_submit}." ".$self->{_cancel}.'
';
diff --git a/lib/WebGUI/Workflow/Activity.pm b/lib/WebGUI/Workflow/Activity.pm
index 44b9e236b..1525e0d95 100644
--- a/lib/WebGUI/Workflow/Activity.pm
+++ b/lib/WebGUI/Workflow/Activity.pm
@@ -225,6 +225,7 @@ Returns the form that will be used to edit the properties of an activity.
sub getEditForm {
my $self = shift;
my $form = WebGUI::HTMLForm->new($self->session);
+ $form->submit;
$form->hidden(name=>"activityId", value=>$self->getId);
$form->hidden(name=>"className", value=>$self->get("className"));
my $fullDefinition = $self->definition($self->session);