From 76b9f01e77885019faed0d6ff726374469ca4165 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Mon, 1 Jun 2009 02:03:05 +0000 Subject: [PATCH] Prevent head tags from appearing twice in wobjects. prepareView sets the extra head tags. Have all wobjects, in their www_view method, tell processStyle not to set the extra head tags again. --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Asset/Wobject.pm | 2 +- lib/WebGUI/Asset/Wobject/Dashboard.pm | 2 +- lib/WebGUI/Asset/Wobject/DataForm.pm | 2 +- lib/WebGUI/Asset/Wobject/HttpProxy.pm | 2 +- lib/WebGUI/Asset/Wobject/Layout.pm | 2 +- 6 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 7cdbdf506..910672e32 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -5,6 +5,7 @@ - fixed: Template parser cannot be set - fixed #10361: Shortcuts duplicate extra header tags - fixed #10356: SQL report is cached too long + - fixed #10313: extra head elements appear twice 7.7.8 - fixed: Basic Auth doesn't work if password contains colon (Arjan Widlak, diff --git a/lib/WebGUI/Asset/Wobject.pm b/lib/WebGUI/Asset/Wobject.pm index 63b90653c..deab474ac 100644 --- a/lib/WebGUI/Asset/Wobject.pm +++ b/lib/WebGUI/Asset/Wobject.pm @@ -557,7 +557,7 @@ sub www_view { }); } $self->prepareView; - my $style = $self->processStyle($self->getSeparator); + my $style = $self->processStyle($self->getSeparator, { noHeadTags => 1 }); my ($head, $foot) = split($self->getSeparator,$style); $self->session->output->print($head, 1); $self->session->output->print($self->view); diff --git a/lib/WebGUI/Asset/Wobject/Dashboard.pm b/lib/WebGUI/Asset/Wobject/Dashboard.pm index b59d80b15..6ed54f8aa 100644 --- a/lib/WebGUI/Asset/Wobject/Dashboard.pm +++ b/lib/WebGUI/Asset/Wobject/Dashboard.pm @@ -365,7 +365,7 @@ sub www_view { } $self->logView(); $self->prepareView; - my $style = $self->processStyle($self->view); + my $style = $self->processStyle($self->view, { noHeadTags => 1}); } diff --git a/lib/WebGUI/Asset/Wobject/DataForm.pm b/lib/WebGUI/Asset/Wobject/DataForm.pm index 49ee32f93..f51b0de43 100644 --- a/lib/WebGUI/Asset/Wobject/DataForm.pm +++ b/lib/WebGUI/Asset/Wobject/DataForm.pm @@ -1599,7 +1599,7 @@ sub www_process { if (@errors) { $var->{error_loop} = \@errors; $self->prepareViewForm; - return $self->processStyle($self->viewForm($var, $entry)); + return $self->processStyle($self->viewForm($var, $entry), { noHeadTags => 1 }); } # Send email diff --git a/lib/WebGUI/Asset/Wobject/HttpProxy.pm b/lib/WebGUI/Asset/Wobject/HttpProxy.pm index 515a5439f..f7c41ab4c 100644 --- a/lib/WebGUI/Asset/Wobject/HttpProxy.pm +++ b/lib/WebGUI/Asset/Wobject/HttpProxy.pm @@ -445,7 +445,7 @@ sub www_view { return $output; } else { $self->session->http->sendHeader; - my $style = $self->processStyle($self->getSeparator); + my $style = $self->processStyle($self->getSeparator, { noHeadTags => 1 }); my ($head, $foot) = split($self->getSeparator,$style); $self->session->output->print($head); $self->session->output->print($output, 1); # Do not process macros diff --git a/lib/WebGUI/Asset/Wobject/Layout.pm b/lib/WebGUI/Asset/Wobject/Layout.pm index 444fbc1bf..4cf90ca9b 100644 --- a/lib/WebGUI/Asset/Wobject/Layout.pm +++ b/lib/WebGUI/Asset/Wobject/Layout.pm @@ -368,7 +368,7 @@ sub www_view { unless ($out) { $self->prepareView; $session->stow->set("cacheFixOverride", 1); - $out = $self->processStyle($self->view); + $out = $self->processStyle($self->view, { noHeadTags => 1 }); $cache->set($out, 60); $session->stow->delete("cacheFixOverride"); }