sub svc_X_link {
my ($x, $m, $part_svc, $cust_svc) = @_ or return '';
+
+ return $x
+ unless $FS::CurrentUser::CurrentUser->access_right('View customer services');
+
my $ahref = svc_url(
'ahref' => 1,
'm' => $m,
"$ahref$x</A>";
}
+#this probably needs an ACL too...
+sub svc_export_links {
+ my ($m, $part_svc, $cust_svc) = @_ or return '';
+
+ my $ahref = $cust_svc->export_links;
+
+ join('', @$ahref);
+}
+
sub parse_lt_gt {
my($cgi, $field) = @_;
warn "FS::UI:Web::cust_header called"
if $DEBUG;
+ my $conf = new FS::Conf;
+
my %header2method = (
'Customer' => 'name',
'Cust. Status' => 'ucfirst_cust_status',
'Day phone' => 'daytime', # XXX should use msgcat, but how?
'Night phone' => 'night', # XXX should use msgcat, but how?
'Fax number' => 'fax',
+ '(bill) Address 1' => 'address1',
+ '(bill) Address 2' => 'address2',
+ '(bill) City' => 'city',
+ '(bill) State' => 'state',
+ '(bill) Zip' => 'zip',
+ '(bill) Country' => 'country_full',
+ '(bill) Day phone' => 'daytime', # XXX should use msgcat, but how?
+ '(bill) Night phone' => 'night', # XXX should use msgcat, but how?
+ '(bill) Fax number' => 'fax',
+ '(service) Address 1' => 'ship_address1',
+ '(service) Address 2' => 'ship_address2',
+ '(service) City' => 'ship_city',
+ '(service) State' => 'ship_state',
+ '(service) Zip' => 'ship_zip',
+ '(service) Country' => 'ship_country_full',
+ '(service) Day phone' => 'ship_daytime', # XXX should use msgcat, how?
+ '(service) Night phone' => 'ship_night', # XXX should use msgcat, how?
+ '(service) Fax number' => 'ship_fax',
'Invoicing email(s)' => 'invoicing_list_emailonly_scalar',
'Payment Type' => 'payby',
'Current Balance' => 'current_balance',
);
+ $header2method{'Cust#'} = 'display_custnum'
+ if $conf->exists('cust_main-default_agent_custid');
my %header2colormethod = (
'Cust. Status' => 'cust_statuscolor',
} else {
- my $conf = new FS::Conf;
if ( $conf->exists('cust-fields')
&& $conf->config('cust-fields') =~ /^([\w\. \|\#\(\)]+):?/
)
}
@cust_header = split(/ \| /, $cust_fields);
- @cust_fields = map { $header2method{$_} } @cust_header;
+ @cust_fields = map { $header2method{$_} || $_ } @cust_header;
@cust_colors = map { exists $header2colormethod{$_}
? $header2colormethod{$_}
: ''
=cut
sub cust_fields {
- my $svc_x = shift;
- warn "FS::UI::Web::cust_fields called for $svc_x ".
+ my $record = shift;
+ warn "FS::UI::Web::cust_fields called for $record ".
"(cust_fields: @cust_fields)"
if $DEBUG > 1;
my $seen_unlinked = 0;
map {
- if ( $svc_x->custnum ) {
- warn " $svc_x -> $_"
+ if ( $record->custnum ) {
+ warn " $record -> $_"
if $DEBUG > 1;
- $svc_x->$_(@_);
+ $record->$_(@_);
} else {
- warn " ($svc_x unlinked)"
+ warn " ($record unlinked)"
if $DEBUG > 1;
$seen_unlinked++ ? '' : '(unlinked)';
}