From: ivan Date: Sun, 30 Jan 2011 23:45:58 +0000 (+0000) Subject: fix torrus interface slowness resulting from initializing FS for every component... X-Git-Tag: freeside_2_3_0~670 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=6e79acda564ac84f76ea67e21bdcb962f774c24b fix torrus interface slowness resulting from initializing FS for every component, RT#10574 --- diff --git a/torrus/perllib/Torrus/Renderer/Freeside.pm b/torrus/perllib/Torrus/Renderer/Freeside.pm index 8d9341509..9a7c023be 100644 --- a/torrus/perllib/Torrus/Renderer/Freeside.pm +++ b/torrus/perllib/Torrus/Renderer/Freeside.pm @@ -6,10 +6,16 @@ use base 'Torrus::Freeside'; use FS::UID qw(cgisuidsetup); use FS::TicketSystem; +our $cgi = ''; + sub freesideSetup { #my $self = shift; - cgisuidsetup($Torrus::CGI::q); + return if $cgi eq $Torrus::CGI::q; + + $cgi = $Torrus::CGI::q; + + cgisuidsetup($cgi); FS::TicketSystem->init(); } diff --git a/torrus/perllib/Torrus/ReportOutput/Freeside.pm b/torrus/perllib/Torrus/ReportOutput/Freeside.pm index 47db28d56..f04ac6133 100644 --- a/torrus/perllib/Torrus/ReportOutput/Freeside.pm +++ b/torrus/perllib/Torrus/ReportOutput/Freeside.pm @@ -6,9 +6,13 @@ use base 'Torrus::Freeside'; use FS::UID qw(adminsuidsetup); use FS::TicketSystem; +our $issetup = 0; + sub freesideSetup { #my $self = shift; + return if $issetup++; + adminsuidsetup('fs_queue'); #XXX for now FS::TicketSystem->init();