diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 309af8523..39bd0a214 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -7,7 +7,7 @@ - fixed Passive Analytics, UI, Progress Bar, server load. - fixed #12303: Survey custom multiple choice question types - fixed #12304: Surven packages do not include custom question types - + - fixed #12309: Some child assets ignore visitor cache timeouts 7.10.23 - fixed #12225: Stock asset, multiple instances on a page diff --git a/lib/WebGUI/Asset/Event.pm b/lib/WebGUI/Asset/Event.pm index df1b2b578..bece1b65f 100644 --- a/lib/WebGUI/Asset/Event.pm +++ b/lib/WebGUI/Asset/Event.pm @@ -2475,10 +2475,11 @@ sub www_view { return $self->session->privilege->noAccess() unless $self->canView; my $check = $self->checkView; return $check if (defined $check); - $self->session->http->setCacheControl($self->get("visitorCacheTimeout")) if ($self->session->user->isVisitor); + my $calendar = $self->getParent; + $self->session->http->setCacheControl($calendar->get("visitorCacheTimeout")) if ($self->session->user->isVisitor); $self->session->http->sendHeader; $self->prepareView; - my $style = $self->getParent->processStyle($self->getSeparator); + my $style = $calendar->processStyle($self->getSeparator); 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/Post/Thread.pm b/lib/WebGUI/Asset/Post/Thread.pm index 0c69584c9..7878b5e72 100644 --- a/lib/WebGUI/Asset/Post/Thread.pm +++ b/lib/WebGUI/Asset/Post/Thread.pm @@ -1477,20 +1477,21 @@ Renders self->view based upon current style, subject to timeouts. Returns Privil =cut sub www_view { - my $self = shift; - my $currentPost = shift; - return $self->session->privilege->noAccess() unless $self->canView; - my $check = $self->checkView; - return $check if (defined $check); - $self->session->http->setCacheControl($self->get("visitorCacheTimeout")) if ($self->session->user->isVisitor); - $self->session->http->sendHeader; - $self->prepareView; - my $style = $self->getParent->processStyle($self->getSeparator); - my ($head, $foot) = split($self->getSeparator,$style); - $self->session->output->print($head,1); - $self->session->output->print($self->view($currentPost)); - $self->session->output->print($foot,1); - return "chunked"; + my $self = shift; + my $currentPost = shift; + return $self->session->privilege->noAccess() unless $self->canView; + my $check = $self->checkView; + return $check if (defined $check); + my $cs = $self->getParent; + $self->session->http->setCacheControl($cs->get("visitorCacheTimeout")) if ($self->session->user->isVisitor); + $self->session->http->sendHeader; + $self->prepareView; + my $style = $cs->processStyle($self->getSeparator); + my ($head, $foot) = split($self->getSeparator,$style); + $self->session->output->print($head,1); + $self->session->output->print($self->view($currentPost)); + $self->session->output->print($foot,1); + return "chunked"; }