X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FMason.pm;h=2a22bfdc530ebbe4ce0f3d73f535155f8eec5083;hb=5479fdb0844b77cbc313a1ab4135d769b034d981;hp=0a608ddb06b9e80137c7c60129533e98fc027afc;hpb=54d73dfad0b27edd10ec7c917a96c88d45ad6789;p=freeside.git diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm index 0a608ddb0..2a22bfdc5 100644 --- a/FS/FS/Mason.pm +++ b/FS/FS/Mason.pm @@ -38,6 +38,13 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc. use strict; use vars qw( %session ); use CGI 3.29 qw(-private_tempfiles); #3.29 to fix RT attachment problems + + #breaks quick payment entry + #http://rt.cpan.org/Public/Bug/Display.html?id=37365 + die "CGI.pm v3.38 is broken, use any other version >= 3.29". + " (Debian 5.0? aptitude remove libcgi-pm-perl)" + if $CGI::VERSION == 3.38; + #use CGI::Carp qw(fatalsToBrowser); use CGI::Cookie; use List::Util qw( max min ); @@ -50,7 +57,7 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc. use DateTime::Format::Strptime; use Lingua::EN::Inflect qw(PL); use Tie::IxHash; - use URI::URL; + use URI; use URI::Escape; use HTML::Entities; use HTML::TreeBuilder; @@ -91,6 +98,7 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc. use FS::UI::bytecount; use FS::Msgcat qw(gettext geterror); use FS::Misc qw( send_email send_fax states_hash counties state_label ); + use FS::Misc::eps2png qw( eps2png ); use FS::Report::Table::Monthly; use FS::TicketSystem; use FS::Tron qw( tron_lint ); @@ -105,6 +113,7 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc. use FS::cust_main qw(smart_search); use FS::cust_main::Import; use FS::cust_main_county; + use FS::cust_location; use FS::cust_pay; use FS::cust_pkg; use FS::part_pkg_taxclass; @@ -232,20 +241,35 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc. use vars qw($m); # false laziness w/below - if ( defined(@DBIx::Profile::ISA) ) { #profiling redirect - - my $page = - qq!Redirect to $location!. - '

'.
-          ( UNIVERSAL::can(dbh, 'sprintProfile')
-              ? encode_entities(dbh->sprintProfile())
-              : 'DBIx::Profile missing sprintProfile method;'.
-                'unpatched or too old?'                        ).
-        #"\n\n". &sprintAutoProfile().  '
'. - "\n\n". ''. - ''; - dbh->{'private_profile'} = {}; - return $page; + if ( defined(@DBIx::Profile::ISA) ) { + + if ( $FS::CurrentUser::CurrentUser->option('show_db_profile') ) { + + #profiling redirect + + my $page = + qq!Redirect to $location!. + '

'.
+            ( UNIVERSAL::can(dbh, 'sprintProfile')
+                ? encode_entities(dbh->sprintProfile())
+                : 'DBIx::Profile missing sprintProfile method;'.
+                  'unpatched or too old?'                        ).
+          #"\n\n". &sprintAutoProfile().  '
'. + "\n\n". ''. + ''; + + + dbh->{'private_profile'} = {}; + return $page; + + } else { + + #clear db profile, but normal redirect + dbh->{'private_profile'} = {}; + $m->redirect($location); + ''; + + } } else { #normal redirect @@ -271,20 +295,33 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc. use vars qw($m); $m->clear_buffer; #false laziness w/above - if ( defined(@DBIx::Profile::ISA) ) { #profiling redirect - - $m->print( - qq!Redirect to $location!. - '

'.
-          ( UNIVERSAL::can(dbh, 'sprintProfile')
-              ? encode_entities(dbh->sprintProfile())
-              : 'DBIx::Profile missing sprintProfile method;'.
-                'unpatched or too old?'                        ).
-        #"\n\n". &sprintAutoProfile().  '
'. - "\n\n". ''. - '' - ); - dbh->{'private_profile'} = {}; + if ( defined(@DBIx::Profile::ISA) ) { + + if ( $FS::CurrentUser::CurrentUser->option('show_db_profile') ) { + + #profiling redirect + + $m->print( + qq!Redirect to $location!. + '

'.
+            ( UNIVERSAL::can(dbh, 'sprintProfile')
+                ? encode_entities(dbh->sprintProfile())
+                : 'DBIx::Profile missing sprintProfile method;'.
+                  'unpatched or too old?'                        ).
+          #"\n\n". &sprintAutoProfile().  '
'. + "\n\n". ''. + '' + ); + + dbh->{'private_profile'} = {}; + + } else { + + #clear db profile, but normal redirect + dbh->{'private_profile'} = {}; + $m->redirect($location); + + } } else { #normal redirect