summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/Conf.pm4
-rw-r--r--httemplate/misc/custom_link_proxy.cgi9
2 files changed, 10 insertions, 3 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 590a5c3ec..113bac083 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -4428,8 +4428,8 @@ and customer address. Include units.',
{
'key' => 'cust_main-custom_link',
'section' => 'UI',
- 'description' => 'URL to use as source for the "Custom" tab in the View Customer page. The custnum will be appended.',
- 'type' => 'text',
+ 'description' => 'URL to use as source for the "Custom" tab in the View Customer page. The customer number will be appended, or you can insert "$custnum" to have it inserted elsewhere. "$agentnum" will be replaced with the agent number.',
+ 'type' => 'textarea',
},
{
diff --git a/httemplate/misc/custom_link_proxy.cgi b/httemplate/misc/custom_link_proxy.cgi
index e5934e4a6..417fcebae 100644
--- a/httemplate/misc/custom_link_proxy.cgi
+++ b/httemplate/misc/custom_link_proxy.cgi
@@ -11,7 +11,14 @@ my $cust_main = qsearchs('cust_main', { custnum => $custnum } )
or die "custnum '$custnum' not found"; # just check for existence
my $conf = new FS::Conf;
-my $url = $conf->config('cust_main-custom_link') . $cust_main->custnum;
+my $url = $conf->config('cust_main-custom_link');
+
+my $agentnum = $cust_main->agentnum;
+# like eval(qq("$url")) but with fewer things that can go wrong
+# and if $custnum isn't mentioned, assume it goes at the end
+$url =~ s/\$custnum/$custnum/ or $url .= $custnum;
+$url =~ s/\$agentnum/$agentnum/;
+
#warn $url;
my $curuser = $FS::CurrentUser::CurrentUser;