X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FMason.pm;h=cce2dbf21f2574a023a4035686d5e61af17717cd;hb=0cc20c3d66e50d640422c2d587d97ddf7768493b;hp=219f6b738db1a6377ffd971d360d1be1a41dc98d;hpb=9a90f2af0663c9b4e9611e044fd25349425d1aec;p=freeside.git diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm index 219f6b738..cce2dbf21 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,8 +98,10 @@ 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 ); use FS::agent; use FS::agent_type; @@ -102,7 +111,9 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc. use FS::cust_credit; use FS::cust_credit_bill; 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; @@ -144,6 +155,8 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc. use FS::rate; use FS::rate_region; use FS::rate_prefix; + use FS::rate_detail; + use FS::usage_class; use FS::payment_gateway; use FS::agent_payment_gateway; use FS::XMLRPC; @@ -161,6 +174,8 @@ Initializes the Mason environment, loads all Freeside and RT libraries, etc. use FS::access_right; use FS::AccessRight; use FS::svc_phone; + use FS::phone_device; + use FS::part_device; use FS::reason_type; use FS::reason; use FS::cust_main_note; @@ -228,20 +243,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 @@ -267,20 +297,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