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;
-#warn $url;
+my $url = $conf->config('cust_main-custom_link');
+my $agentnum = $cust_main->agentnum;
+my $agent_custid = $cust_main->agent_custid;
my $curuser = $FS::CurrentUser::CurrentUser;
+my $usernum = $curuser->usernum;
+# 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/;
+$url =~ s/\$agent_custid/$agent_custid/;
+$url =~ s/\$usernum/$usernum/;
+
+#warn $url;
die "access denied"
unless $curuser->access_right('View customer');