X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=htetc%2Fhandler.pl;h=be6f2f758d9b379233379475f8657eff6bdd841c;hp=9605b8f488c7050d73d91524f0c024b7687ce281;hb=7153190ee1bfeb6d3ad9e6da270a41a949333a7e;hpb=0ceaaf5af7d83754aa4b1a775071e85b3139bbbf diff --git a/htetc/handler.pl b/htetc/handler.pl index 9605b8f48..be6f2f758 100644 --- a/htetc/handler.pl +++ b/htetc/handler.pl @@ -37,6 +37,8 @@ if ( %%%RT_ENABLED%%% ) { my %interp = ( request_class => 'HTML::Mason::Request::ApacheHandler', data_dir => '%%%MASONDATA%%%', + error_mode => 'output', + error_format => 'html', ignore_warnings_expr => '.', comp_root => [ [ 'freeside' => '%%%FREESIDE_DOCUMENT_ROOT%%%' ], @@ -89,7 +91,7 @@ sub handler use strict; use vars qw( $cgi $p $fsurl); use vars qw( %session ); - use CGI 2.47 qw(-private_tempfiles); + use CGI 3.29 qw(-private_tempfiles); #3.29 to fix RT attachment problems #use CGI::Carp qw(fatalsToBrowser); use CGI::Cookie; use List::Util qw( max min ); @@ -102,8 +104,11 @@ sub handler use DateTime::Format::Strptime; use Lingua::EN::Inflect qw(PL); use Tie::IxHash; + use URI::URL; use URI::Escape; use HTML::Entities; + use HTML::TreeBuilder; + use HTML::FormatText; use JSON; use MIME::Base64; use IO::Handle; @@ -118,19 +123,25 @@ sub handler use Text::CSV_XS; use Spreadsheet::WriteExcel; use Business::CreditCard 0.30; #for mask-aware cardtype() + use NetAddr::IP; use String::Approx qw(amatch); use Chart::LinesPoints; use Chart::Mountain; use Color::Scheme; - use HTML::Widgets::SelectLayers 0.07; + use HTML::Widgets::SelectLayers 0.07; #should go away in favor of + #selectlayers.html use Locale::Country; + use Business::US::USPS::WebTools::AddressStandardization; use FS; - use FS::UID qw(cgisuidsetup dbh getotaker datasrc driver_name); + use FS::UID qw( adminsuidsetup cgisuidsetup getotaker + dbh datasrc driver_name + ); 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 ); @@ -148,8 +159,11 @@ sub handler use FS::cust_main_county; use FS::cust_pay; use FS::cust_pkg; + use FS::part_pkg_taxclass; use FS::cust_pkg_reason; use FS::cust_refund; + use FS::cust_credit_refund; + use FS::cust_pay_refund; use FS::cust_svc; use FS::nas; use FS::part_bill_event; @@ -203,6 +217,12 @@ sub handler use FS::reason_type; use FS::reason; use FS::cust_main_note; + use FS::tax_class; + use FS::cust_tax_location; + use FS::part_pkg_taxproduct; + use FS::part_pkg_taxoverride; + use FS::part_pkg_taxrate; + use FS::tax_rate; if ( %%%RT_ENABLED%%% ) { eval ' @@ -221,12 +241,27 @@ sub handler use RT::CustomFieldValues; use RT::ObjectCustomFieldValues; + #blah. manually updated from RT::Interface::Web::Handler use RT::Interface::Web; use MIME::Entity; use Text::Wrapper; use Time::ParseDate; + use Time::HiRes; use HTML::Scrubber; - use Text::Quoted; + + #blah. not even in RT::Interface::Web::Handler, just in + #html/NoAuth/css/dhandler and rt-test-dependencies. ask for it here + #to throw a real error instead of just a mysterious unstyled RT + use CSS::Squish 0.06; + + #slow, unreliable, segfaults and is optional + #see rt/html/Ticket/Elements/ShowTransactionAttachments + #use Text::Quoted; + + #?#use File::Path qw( rmtree ); + #?#use File::Glob qw( bsd_glob ); + #?#use File::Spec::Unix; + '; die $@ if $@; } @@ -267,12 +302,23 @@ sub handler }; - unless ( $HTML::Mason::r->filename =~ /\/rt\/.*NoAuth/ ) { #RT + if ( $HTML::Mason::r->filename !~ /\/rt\/.*NoAuth/ ) { #not RT images/JS + $cgi = new CGI; &cgisuidsetup($cgi); #&cgisuidsetup($r); $p = popurl(2); $fsurl = rooturl(); + + } elsif ( $HTML::Mason::r->filename =~ /\/rt\/REST\/.*NoAuth/ ) { + + #need to log somebody in for the mail gw + + ##old installs w/fs_selfs or selfserv?? + #&adminsuidsetup('fs_selfservice'); + + &adminsuidsetup('fs_queue'); + } sub include { @@ -335,8 +381,6 @@ sub handler if ( $r->filename =~ /\/rt\// ) { #RT $ah->interp($rt_interp); - # MasonX::Request::ExtendedCompRoot - #$ah->interp->comp_root( '/rt'. $ah->interp->comp_root() ); local $SIG{__WARN__}; local $SIG{__DIE__}; @@ -360,6 +404,7 @@ sub handler # if ( $@ ) { # $RT::Logger->crit($@); # } + warn $@ if $@; undef %session;