summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/saved_search.pm5
-rw-r--r--httemplate/edit/saved_search.html22
-rw-r--r--httemplate/elements/header-popup.html6
3 files changed, 30 insertions, 3 deletions
diff --git a/FS/FS/saved_search.pm b/FS/FS/saved_search.pm
index 252dc71e5..caaf7fea8 100644
--- a/FS/FS/saved_search.pm
+++ b/FS/FS/saved_search.pm
@@ -219,11 +219,10 @@ sub render {
local $FS::CurrentUser::CurrentUser = $self->access_user;
local $FS::Mason::Request::QUERY_STRING = $self->query_string;
- local $FS::Mason::Request::FSURL = ''; #?
-# local $ENV{SERVER_NAME} = 'localhost'; #?
-# local $ENV{SCRIPT_NAME} = '/freeside'. $self->path;
+ local $FS::Mason::Request::FSURL = $self->access_user->option('rooturl');
my $mason_request = $fs_interp->make_request(comp => '/' . $self->path);
+ $mason_request->notes('inline_stylesheet', 1);
local $@;
eval { $mason_request->exec(); };
diff --git a/httemplate/edit/saved_search.html b/httemplate/edit/saved_search.html
index 3039aed35..cb6aa45d1 100644
--- a/httemplate/edit/saved_search.html
+++ b/httemplate/edit/saved_search.html
@@ -61,6 +61,28 @@
<%init>
my $curuser = $FS::CurrentUser::CurrentUser;
+# remember the user's rooturl() when accessing the UI. this will be the
+# base URL for sending email reports to that user so that links work.
+my $rooturl_pref = qsearchs('access_user_pref', {
+ usernum => $curuser->usernum,
+ prefname => 'rooturl',
+});
+my $error;
+if ($rooturl_pref) {
+ if ($rooturl_pref->prefvalue ne rooturl()) {
+ $rooturl_pref->set('prefvalue', rooturl());
+ $error = $rooturl_pref->replace;
+ } # else don't update it
+} else {
+ $rooturl_pref = FS::access_user_pref->new({
+ usernum => $curuser->usernum,
+ prefname => 'rooturl',
+ prefvalue => rooturl(),
+ });
+ $error = $rooturl_pref->insert;
+}
+
+warn "error updating rooturl pref: $error" if $error;
# prefix to the freeside document root (usually '/freeside/')
my $root = URI->new($fsurl)->path;
diff --git a/httemplate/elements/header-popup.html b/httemplate/elements/header-popup.html
index 6c0f80b37..7ddb53ce4 100644
--- a/httemplate/elements/header-popup.html
+++ b/httemplate/elements/header-popup.html
@@ -37,7 +37,13 @@ Example:
<% $head |n %>
</HEAD>
<BODY <% $etc |n %>>
+% if ($m->notes('inline_stylesheet')) { # for email delivery
+ <style type="text/css">
+ <& /elements/freeside.css &>
+ </style>
+% } else {
<link href="<%$fsurl%>elements/freeside.css" type="text/css" rel="stylesheet">
+% }
% if ( $title || $title_noescape ) {
<FONT SIZE=6>
<CENTER><% encode_entities($title) || $title_noescape |n %></CENTER>