X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=serials%2Fsubscription-detail.pl;h=b7e7c05bd00eca454aab2e196657addec62e184e;hb=f0d9383d8d6588dc55553feea8df3bc00b39c761;hp=0cceb34ebe1dd533715185c2a6674e6360cb3249;hpb=afd2418d7387dc2a50835128e24840686600ef4b;p=koha.git diff --git a/serials/subscription-detail.pl b/serials/subscription-detail.pl index 0cceb34ebe..b7e7c05bd0 100755 --- a/serials/subscription-detail.pl +++ b/serials/subscription-detail.pl @@ -2,31 +2,34 @@ # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along -# with Koha; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . use Modern::Perl; -use CGI; +use CGI qw ( -utf8 ); use C4::Acquisition; use C4::Auth; -use C4::Bookseller qw/GetBookSellerFromId/; use C4::Budgets; use C4::Koha; -use C4::Dates qw/format_date/; use C4::Serials; use C4::Output; use C4::Context; use C4::Search qw/enabled_staff_search_views/; + +use Koha::AuthorisedValues; +use Koha::DateUtils; +use Koha::Acquisition::Bookseller; + use Date::Calc qw/Today Day_of_Year Week_of_Year Add_Delta_Days/; use Carp; @@ -86,8 +89,8 @@ if ($op eq 'del') { # If it's ok to delete the subscription, we do so if ($issueconfirmed eq "1") { &DelSubscription($subscriptionid); - print "Content-Type: text/html\n\n"; - exit; + print $query->redirect("/cgi-bin/koha/serials/serials-home.pl"); + exit; } } my $hasRouting = check_routing($subscriptionid); @@ -98,13 +101,15 @@ my $hasRouting = check_routing($subscriptionid); # COMMENT hdl : IMHO, we should think about passing more and more data hash to template->param rather than duplicating code a new coding Guideline ? for my $date ( qw(startdate enddate firstacquidate histstartdate histenddate) ) { - $$subs{$date} = format_date($$subs{$date}) if $date && $$subs{$date}; + $subs->{$date} = output_pref( { str => $subs->{$date}, dateonly => 1 } ) + if $subs->{$date}; } -$subs->{location} = GetKohaAuthorisedValueLib("LOC",$subs->{location}); +my $av = Koha::AuthorisedValues->search({ category => 'LOC', authorised_value => $subs->{location} }); +$subs->{location} = $av->count ? $av->next->lib : ''; $subs->{abouttoexpire} = abouttoexpire($subs->{subscriptionid}); $template->param(%{ $subs }); $template->param(biblionumber_for_new_subscription => $subs->{bibnum}); -my @irregular_issues = split /,/, $subs->{irregularity}; +my @irregular_issues = split /;/, $subs->{irregularity}; my $frequency = C4::Serials::Frequency::GetSubscriptionFrequency($subs->{periodicity}); my $numberpattern = C4::Serials::Numberpattern::GetSubscriptionNumberpattern($subs->{numberpattern}); @@ -117,26 +122,34 @@ if ( defined $subscriptionid ) { my $lastOrderReceived = GetLastOrderReceivedFromSubscriptionid $subscriptionid; if ( defined $lastOrderNotReceived ) { my $basket = GetBasket $lastOrderNotReceived->{basketno}; - my $bookseller = GetBookSellerFromId $basket->{booksellerid}; - ( $tmpl_infos->{valuegsti_ordered}, $tmpl_infos->{valuegste_ordered} ) = get_value_with_gst_params ( $lastOrderNotReceived->{ecost}, $lastOrderNotReceived->{gstrate}, $bookseller ); - $tmpl_infos->{valuegsti_ordered} = sprintf( "%.2f", $tmpl_infos->{valuegsti_ordered} ); - $tmpl_infos->{valuegste_ordered} = sprintf( "%.2f", $tmpl_infos->{valuegste_ordered} ); + my $bookseller = Koha::Acquisition::Booksellers->find( $basket->{booksellerid} ); + ( $tmpl_infos->{value_tax_included_ordered}, $tmpl_infos->{value_tax_excluded_ordered} ) = get_value_with_gst_params ( $lastOrderNotReceived->{ecost}, $lastOrderNotReceived->{tax_rate}, $bookseller ); + $tmpl_infos->{value_tax_included_ordered} = sprintf( "%.2f", $tmpl_infos->{value_tax_included_ordered} ); + $tmpl_infos->{value_tax_excluded_ordered} = sprintf( "%.2f", $tmpl_infos->{value_tax_excluded_ordered} ); $tmpl_infos->{budget_name_ordered} = GetBudgetName $lastOrderNotReceived->{budget_id}; $tmpl_infos->{basketno} = $lastOrderNotReceived->{basketno}; $tmpl_infos->{ordered_exists} = 1; } if ( defined $lastOrderReceived ) { my $basket = GetBasket $lastOrderReceived->{basketno}; - my $bookseller = GetBookSellerFromId $basket->{booksellerid}; - ( $tmpl_infos->{valuegsti_spent}, $tmpl_infos->{valuegste_spent} ) = get_value_with_gst_params ( $lastOrderReceived->{unitprice}, $lastOrderReceived->{gstrate}, $bookseller ); - $tmpl_infos->{valuegsti_spent} = sprintf( "%.2f", $tmpl_infos->{valuegsti_spent} ); - $tmpl_infos->{valuegste_spent} = sprintf( "%.2f", $tmpl_infos->{valuegste_spent} ); + my $bookseller = Koha::Acquisition::Booksellers->find( $basket->{booksellerid} ); + ( $tmpl_infos->{value_tax_included_spent}, $tmpl_infos->{value_tax_excluded_spent} ) = get_value_with_gst_params ( $lastOrderReceived->{unitprice}, $lastOrderReceived->{tax_rate}, $bookseller ); + $tmpl_infos->{value_tax_included_spent} = sprintf( "%.2f", $tmpl_infos->{value_tax_included_spent} ); + $tmpl_infos->{value_tax_excluded_spent} = sprintf( "%.2f", $tmpl_infos->{value_tax_excluded_spent} ); $tmpl_infos->{budget_name_spent} = GetBudgetName $lastOrderReceived->{budget_id}; $tmpl_infos->{invoiceid} = $lastOrderReceived->{invoiceid}; $tmpl_infos->{spent_exists} = 1; } } +my $additional_fields = Koha::AdditionalField->all( { tablename => 'subscription' } ); +for my $field ( @$additional_fields ) { + if ( $field->{authorised_value_category} ) { + $field->{authorised_value_choices} = GetAuthorisedValues( $field->{authorised_value_category} ); + } +} +$template->param( additional_fields_for_subscription => $additional_fields ); + $template->param( subscriptionid => $subscriptionid, serialslist => \@serialslist, @@ -178,21 +191,21 @@ sub get_default_view { sub get_value_with_gst_params { my $value = shift; - my $gstrate = shift; + my $tax_rate = shift; my $bookseller = shift; - if ( $bookseller->{listincgst} ) { - return ( $value, $value / ( 1 + $gstrate ) ); + if ( $bookseller->listincgst ) { + return ( $value, $value / ( 1 + $tax_rate ) ); } else { - return ( $value * ( 1 + $gstrate ), $value ); + return ( $value * ( 1 + $tax_rate ), $value ); } } -sub get_gste { +sub get_tax_excluded { my $value = shift; - my $gstrate = shift; + my $tax_rate = shift; my $bookseller = shift; - if ( $bookseller->{invoiceincgst} ) { - return $value / ( 1 + $gstrate ); + if ( $bookseller->invoiceincgst ) { + return $value / ( 1 + $tax_rate ); } else { return $value; } @@ -200,11 +213,11 @@ sub get_gste { sub get_gst { my $value = shift; - my $gstrate = shift; + my $tax_rate = shift; my $bookseller = shift; - if ( $bookseller->{invoiceincgst} ) { - return $value / ( 1 + $gstrate ) * $gstrate; + if ( $bookseller->invoiceincgst ) { + return $value / ( 1 + $tax_rate ) * $tax_rate; } else { - return $value * ( 1 + $gstrate ) - $value; + return $value * ( 1 + $tax_rate ) - $value; } }