diff --git a/debian/templates/apache-shared-intranet-plack.conf b/debian/templates/apache-shared-intranet-plack.conf index 7f9f47e1e1..bcee399443 100644 --- a/debian/templates/apache-shared-intranet-plack.conf +++ b/debian/templates/apache-shared-intranet-plack.conf @@ -22,6 +22,9 @@ # Point the intranet site to Plack ProxyPass /index.html "unix:/var/run/koha/${instance}/plack.sock|http://localhost/intranet/mainpage.pl" ProxyPassReverse /index.html "unix:/var/run/koha/${instance}/plack.sock|http://localhost/intranet/mainpage.pl" + ProxyPass /cgi-bin/koha/svc "unix:/var/run/koha/${instance}/plack.sock|http://localhost/intranet_svc" + ProxyPassReverse /cgi-bin/koha/svc "unix:/var/run/koha/${instance}/plack.sock|http://localhost/intranet_svc" + ProxyPass /cgi-bin/koha "unix:/var/run/koha/${instance}/plack.sock|http://localhost/intranet" ProxyPassReverse /cgi-bin/koha "unix:/var/run/koha/${instance}/plack.sock|http://localhost/intranet" diff --git a/debian/templates/plack.psgi b/debian/templates/plack.psgi index bf31ecf152..7dd49f3ae5 100644 --- a/debian/templates/plack.psgi +++ b/debian/templates/plack.psgi @@ -56,6 +56,10 @@ my $intranet = Plack::App::CGIBin->new( root => $ENV{DEV_INSTALL}? $home: "$home/intranet/cgi-bin" )->to_app; +my $intranet_svc = Plack::App::CGIBin->new( + root => $ENV{DEV_INSTALL}? "$home/svc": "$home/intranet/cgi-bin/svc" +)->to_app; + my $opac = Plack::App::CGIBin->new( root => $ENV{DEV_INSTALL}? "$home/opac": "$home/opac/cgi-bin/opac" )->to_app; @@ -117,6 +121,14 @@ builder { enable "+Koha::Middleware::CSRF"; $intranet; }; + mount '/intranet_svc' => builder { + if ( Log::Log4perl->get_logger('plack-intranet')->has_appenders ){ + enable 'Log4perl', category => 'plack-intranet'; + enable 'LogWarn'; + } + enable "+Koha::Middleware::CSRF"; + $intranet_svc; + }; mount '/api/v1/app.pl' => builder { if ( Log::Log4perl->get_logger('plack-api')->has_appenders ){ enable 'Log4perl', category => 'plack-api'; diff --git a/svc/report b/svc/report index 5d91494f93..e36e913280 100755 --- a/svc/report +++ b/svc/report @@ -20,10 +20,10 @@ use Modern::Perl; -use C4::Auth qw( get_template_and_user ); +use C4::Auth qw( check_api_auth ); use C4::Reports::Guided qw( execute_query ); use Koha::Reports; -use JSON qw( encode_json decode_json ); +use JSON qw( encode_json decode_json to_json ); use CGI qw ( -utf8 ); use Koha::Caches; @@ -44,14 +44,12 @@ $report_id = $report_rec->id; my @sql_params = $query->multi_param('sql_params'); my @param_names = $query->multi_param('param_names'); -my ( $template, $loggedinuser, $cookie ) = get_template_and_user( - { - template_name => "intranet-main.tt", - query => $query, - type => "intranet", - flagsrequired => { catalogue => 1, }, - } -); +my ($status, $cookie, $sessionID) = check_api_auth($query, { catalogue => '1'} ); +unless ($status eq "ok") { + print $query->header(-type => 'application/json', -status => '401 Unauthorized'); + print to_json({ auth_status => $status }); + exit 0; +} my $cache = Koha::Caches->get_instance(); my $cache_active = $cache->is_cache_active;