Allow template diagnostics to work when a session asset is not set. Add a way to get the raw, encoded URL from the request object.

This commit is contained in:
Colin Kuskie 2012-08-15 08:39:54 -07:00
parent 358bc1557a
commit 4c31d182f8
3 changed files with 24 additions and 2 deletions

View file

@ -1,4 +1,5 @@
7.10.26
- fixed: Template diagnostics when called without a session asset.
7.10.25
- fixed: #12373: Asset::Wobject::Search::view() so HTML highlite not broken by search phrase with unmatched char pairs

View file

@ -687,14 +687,18 @@ sub process {
if ($self->get('state') =~ /^trash/) {
my $i18n = WebGUI::International->new($session, 'Asset_Template');
my $url = $session->asset ? $session->asset->get('url') ##Called via asset
: $session->url->getRaw(); ##Called via operation, like auth
$session->errorHandler->warn('process called on template in trash: '.$self->getId
.'. The template was called through this url: '.$session->asset->get('url'));
.". The template was called through this url: $url");
return $session->var->isAdminOn ? $i18n->get('template in trash') : '';
}
elsif ($self->get('state') =~ /^clipboard/) {
my $i18n = WebGUI::International->new($session, 'Asset_Template');
my $url = $session->asset ? $session->asset->get('url')
: $session->url->getRaw();
$session->errorHandler->warn('process called on template in clipboard: '.$self->getId
.'. The template was called through this url: '.$session->asset->get('url'));
.". The template was called through this url: $url");
return $session->var->isAdminOn ? $i18n->get('template in clipboard') : '';
}

View file

@ -246,6 +246,23 @@ sub getBackToSiteURL {
}
#-------------------------------------------------------------------
=head2 getRawUrl ( )
Gets the URL from the request object and decodes it from UTF8. This has the gateway and
query and fragment parts.
=cut
sub getRawUrl {
my $self = shift;
unless ($self->{_rawUrl}) {
$self->{_rawUrl} = decode_utf8($self->session->request->uri);
}
return $self->{_rawUrl};
}
#-------------------------------------------------------------------
=head2 getRefererUrl ( )