From: ivan Date: Mon, 2 Jun 2008 17:06:09 +0000 (+0000) Subject: badly placed small_custview all of a sudden causing fatal errors?! wtf X-Git-Tag: root_of_webpay_support~609 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=3800ef16a8afab08bcec3f2f3c9ad7dc6657069d badly placed small_custview all of a sudden causing fatal errors?! wtf --- diff --git a/FS/FS/CGI.pm b/FS/FS/CGI.pm index 06f740cf5..96047f667 100644 --- a/FS/FS/CGI.pm +++ b/FS/FS/CGI.pm @@ -9,8 +9,8 @@ use URI::URL; use FS::UID; @ISA = qw(Exporter); -@EXPORT_OK = qw(header menubar idiot eidiot popurl rooturl table itable ntable - small_custview myexit http_header); +@EXPORT_OK = qw( header menubar idiot eidiot popurl rooturl table itable ntable + myexit http_header); =head1 NAME @@ -300,110 +300,6 @@ sub ntable { } -=item small_custview CUSTNUM || CUST_MAIN_OBJECT, COUNTRYDEFAULT, NOBALANCE_FLAG, URL - -Sheesh. I should just switch to Mason. - -=cut - -sub small_custview { - use FS::Record qw(qsearchs); - use FS::cust_main; - - 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->custnum. ''. - ' - '. - ucfirst($cust_main->status). ''. - 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 ) { - use FS::Msgcat; - $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; -} - =back =head1 BUGS @@ -412,8 +308,6 @@ Not OO. Not complete. -small_custview sooooo doesn't belong here. i should just switch to Mason. - =head1 SEE ALSO L, L diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index 3694a7873..099affabd 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -7,7 +7,7 @@ use Digest::MD5 qw(md5_hex); use Date::Format; use Business::CreditCard; use Time::Duration; -use FS::CGI qw(small_custview); #doh +use FS::UI::Web::small_custview qw(small_custview); #less doh use FS::UI::Web; use FS::UI::bytecount; use FS::Conf; diff --git a/FS/FS/UI/Web/small_custview.pm b/FS/FS/UI/Web/small_custview.pm new file mode 100644 index 000000000..80540af2a --- /dev/null +++ b/FS/FS/UI/Web/small_custview.pm @@ -0,0 +1,114 @@ +package FS::UI::Web::small_custview; + +use strict; +use vars qw(@EXPORT_OK @ISA); +use Exporter; +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->custnum. ''. + ' - '. + ucfirst($cust_main->status). ''. + 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; +} + diff --git a/htetc/handler.pl b/htetc/handler.pl index ab9fa9503..383c5fc59 100644 --- a/htetc/handler.pl +++ b/htetc/handler.pl @@ -136,8 +136,9 @@ sub handler use FS::Record qw(qsearch qsearchs fields dbdef str2time_sql); use FS::Conf; use FS::CGI qw(header menubar popurl rooturl table itable ntable idiot - eidiot small_custview myexit http_header); + eidiot myexit http_header); use FS::UI::Web qw(svc_url); + use FS::UI::Web::small_custview qw(small_custview); use FS::UI::bytecount; use FS::Msgcat qw(gettext geterror); use FS::Misc qw( send_email send_fax states_hash counties state_label ); diff --git a/rt/lib/RT/URI/freeside/Internal.pm b/rt/lib/RT/URI/freeside/Internal.pm index 0bc4c9010..bd7c42ccf 100644 --- a/rt/lib/RT/URI/freeside/Internal.pm +++ b/rt/lib/RT/URI/freeside/Internal.pm @@ -32,7 +32,8 @@ no warnings qw(redefine); use FS; use FS::UID qw(dbh); -use FS::CGI qw(popurl small_custview); +use FS::CGI qw(popurl); +use FS::UI::Web::small_custview qw(small_custview); use FS::Conf; use FS::Record qw(qsearchs qsearch dbdef); use FS::cust_main; @@ -115,7 +116,7 @@ sub email_search { #Subroutine sub small_custview { - return &FS::CGI::small_custview(@_); + return &FS::UI::Web::small_custview::small_custview(@_); } diff --git a/rt/lib/RT/URI/freeside/XMLRPC.pm b/rt/lib/RT/URI/freeside/XMLRPC.pm index a8a731fcd..916c20d7b 100644 --- a/rt/lib/RT/URI/freeside/XMLRPC.pm +++ b/rt/lib/RT/URI/freeside/XMLRPC.pm @@ -115,7 +115,7 @@ sub smart_search { #Subroutine sub small_custview { - return _XMLRPCRequest('CGI.small_custview', @_); + return _XMLRPCRequest('Web.UI.small_custview.small_custview', @_); }