From: mark Date: Tue, 25 Oct 2011 01:14:34 +0000 (+0000) Subject: custom_link interpolation, #14895 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=a4c7ef67a9ca3c473c48f7176865408e619933d0 custom_link interpolation, #14895 --- 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;