package FS::UI::Web::small_custview;
use strict;
use vars qw(@EXPORT_OK @ISA);
use Exporter;
use HTML::Entities;
use FS::Msgcat;
use FS::Record qw(qsearchs);
use FS::cust_main;
@ISA = qw(Exporter);
@EXPORT_OK = qw( small_custview );
=item small_custview CUSTNUM || CUST_MAIN_OBJECT, COUNTRYDEFAULT, NOBALANCE_FLAG, URL
Sheesh. I did switch to mason, but this is still hanging around. Figure out
some better way to sling mason components to self-service & RT.
=cut
sub small_custview {
my $arg = shift;
my $countrydefault = shift || 'US';
my $nobalance = shift;
my $url = shift;
my $cust_main = ref($arg) ? $arg
: qsearchs('cust_main', { 'custnum' => $arg } )
or die "unknown custnum $arg";
my $html;
$html = qq!View '
if $url;
$html .= 'Customer #'. $cust_main->display_custnum. ''.
' - '.
ucfirst($cust_main->status). '';
my @part_tag = $cust_main->part_tag;
if ( @part_tag ) {
$html .= '
';
foreach my $part_tag ( @part_tag ) {
$html .= ''.
'tagcolor)
? 'STYLE="background-color:#'.$part_tag->tagcolor.'"'
: ''
).
'>'.
encode_entities($part_tag->tagname.': '. $part_tag->tagdesc).
''.
' |
';
}
$html .= '
';
}
$html .=
ntable('#e8e8e8'). ''. ntable("#cccccc",2).
' |
Billing Address | '.
$cust_main->getfield('last'). ', '. $cust_main->first. ' ';
$html .= $cust_main->company. ' ' if $cust_main->company;
$html .= $cust_main->address1. ' ';
$html .= $cust_main->address2. ' ' if $cust_main->address2;
$html .= $cust_main->city. ', '. $cust_main->state. ' '. $cust_main->zip. ' ';
$html .= $cust_main->country. ' '
if $cust_main->country && $cust_main->country ne $countrydefault;
$html .= ' |
| ';
if ( $cust_main->daytime && $cust_main->night ) {
$html .= ( FS::Msgcat::_gettext('daytime') || 'Day' ).
' '. $cust_main->daytime.
' '. ( FS::Msgcat::_gettext('night') || 'Night' ).
' '. $cust_main->night;
} elsif ( $cust_main->daytime || $cust_main->night ) {
$html .= $cust_main->daytime || $cust_main->night;
}
if ( $cust_main->fax ) {
$html .= ' Fax '. $cust_main->fax;
}
$html .= ' |
';
if ( defined $cust_main->dbdef_table->column('ship_last') ) {
my $pre = $cust_main->ship_last ? 'ship_' : '';
$html .= ''. ntable("#cccccc",2).
' | Service Address | '.
$cust_main->get("${pre}last"). ', '.
$cust_main->get("${pre}first"). ' ';
$html .= $cust_main->get("${pre}company"). ' '
if $cust_main->get("${pre}company");
$html .= $cust_main->get("${pre}address1"). ' ';
$html .= $cust_main->get("${pre}address2"). ' '
if $cust_main->get("${pre}address2");
$html .= $cust_main->get("${pre}city"). ', '.
$cust_main->get("${pre}state"). ' '.
$cust_main->get("${pre}zip"). ' ';
$html .= $cust_main->get("${pre}country"). ' '
if $cust_main->get("${pre}country")
&& $cust_main->get("${pre}country") ne $countrydefault;
$html .= ' |
| ';
if ( $cust_main->get("${pre}daytime") && $cust_main->get("${pre}night") ) {
use FS::Msgcat;
$html .= ( FS::Msgcat::_gettext('daytime') || 'Day' ).
' '. $cust_main->get("${pre}daytime").
' '. ( FS::Msgcat::_gettext('night') || 'Night' ).
' '. $cust_main->get("${pre}night");
} elsif ( $cust_main->get("${pre}daytime")
|| $cust_main->get("${pre}night") ) {
$html .= $cust_main->get("${pre}daytime")
|| $cust_main->get("${pre}night");
}
if ( $cust_main->get("${pre}fax") ) {
$html .= ' Fax '. $cust_main->get("${pre}fax");
}
$html .= ' |
';
}
$html .= '';
$html .= '
Balance: $'. $cust_main->balance. '
'
unless $nobalance;
# last payment might be good here too?
$html;
}
#bah. don't want to pull in all of FS::CGI, that's the whole problem in the
#first place
sub ntable {
my $col = shift;
my $cellspacing = shift || 0;
if ( $col ) {
qq!