From 66ade62eb46dbdce93830e9c960e1c3e83ecb2db Mon Sep 17 00:00:00 2001 From: Paul Poulain Date: Tue, 10 Nov 2009 18:32:07 +0100 Subject: [PATCH] oups, sorry, fixing mistake in previous patch (reverting a not related and probably bogus change) --- C4/Serials/Frequency.pm | 143 ++++++++++++++++++++++++++++++++++++ C4/Serials/NumberPattern.pm | 130 ++++++++++++++++++++++++++++++++ 2 files changed, 273 insertions(+) create mode 100644 C4/Serials/Frequency.pm create mode 100644 C4/Serials/NumberPattern.pm diff --git a/C4/Serials/Frequency.pm b/C4/Serials/Frequency.pm new file mode 100644 index 0000000000..9d7bf8f68f --- /dev/null +++ b/C4/Serials/Frequency.pm @@ -0,0 +1,143 @@ +package C4::Frequency; + +# Copyright 2000-2002 Biblibre SARL +# +# 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 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., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA + +use strict; +use C4::Context; +use C4::SQLHelper qw<:all>; +use C4::Debug; + +use vars qw($VERSION @ISA @EXPORT); + +BEGIN { + # set the version for version checking + $VERSION = 3.01; + require Exporter; + @ISA = qw(Exporter); + @EXPORT = qw( + + &GetFrequencies + &GetFrequency + &new + &all + &AddFrequency + &ModFrequency + &DelFrequency + + ); +} + +# ------------------------------------------------------------------- +my %count_issues_a_year=( + day=>365, + week=>52, + month=>12, + quarter=>4, + year=>1 +); + +sub new { + my ($class, $opts) = @_; + bless $opts => $class; +} + + +sub AddFrequency { + my ($class,$frequency) = @_; + return InsertInTable("subscription_frequency",$frequency); +} + +sub GetExpectedissuesayear { + my ($class,$unit,$issuesperunit,$unitperissues) = @_; + return Int($count_issues_a_year{$unit}/$issuesperunit)*$unitperissues; +} + +# ------------------------------------------------------------------- +sub ModFrequency { + my ($class,$frequency) = @_; + return UpdateInTable("subscription_frequency",$frequency); +} + +# ------------------------------------------------------------------- +sub DelFrequency { + my ($class,$frequency) = @_; + return DeleteInTable("subscription_frequency",$frequency); +} + +sub all { + my ($class) = @_; + my $dbh = C4::Context->dbh; + return map { $class->new($_) } @{$dbh->selectall_arrayref( + # The subscription_frequency table is small enough for + # `SELECT *` to be harmless. + "SELECT * FROM subscription_frequency ORDER BY description", + { Slice => {} }, + )}; +} + +=head3 GetFrequency + +=over 4 + +&GetFrequency($freq_id); + +gets frequency where $freq_id is the identifier + +=back + +=cut + +# ------------------------------------------------------------------- +sub GetFrequency { + my ($freq_id) = @_; + return undef unless $freq_id; + my $results= SearchInTable("subscription_frequency",{frequency_id=>$freq_id}, undef, undef,undef, undef, "wide"); + return undef unless ($results); + return $$results[0]; +} + +=head3 GetFrequencies + +=over 4 + +&GetFrequencies($filter, $order_by); + +gets frequencies restricted on filters + +=back + +=cut + +# ------------------------------------------------------------------- +sub GetFrequencies { + my ($filters,$orderby) = @_; + return SearchInTable("subscription_frequency",$filters, $orderby, undef,undef, undef, "wide"); +} + +END { } # module clean-up code here (global destructor) + +1; +__END__ + +=back + +=head1 AUTHOR + +Koha Developement team + +=cut diff --git a/C4/Serials/NumberPattern.pm b/C4/Serials/NumberPattern.pm new file mode 100644 index 0000000000..6880515877 --- /dev/null +++ b/C4/Serials/NumberPattern.pm @@ -0,0 +1,130 @@ +package C4::Numberpattern; + +# Copyright 2000-2002 Biblibre SARL +# +# 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 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., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA + +use strict; +use C4::Context; +use C4::SQLHelper qw<:all>; +use C4::Debug; + +use vars qw($VERSION @ISA @EXPORT); + +BEGIN { + # set the version for version checking + $VERSION = 3.01; + require Exporter; + @ISA = qw(Exporter); + @EXPORT = qw( + + &GetNumberpatterns + &GetNumberpattern + &new + &all + &AddNumberpattern + &ModNumberpattern + &DelNumberpattern + + ); +} + +# ------------------------------------------------------------------- +sub new { + my ($class, $opts) = @_; + bless $opts => $class; +} + + +sub AddNumberpattern { + my ($class,$numberpattern) = @_; + return InsertInTable("subscription_numberpattern",$numberpattern); +} + +# ------------------------------------------------------------------- +sub ModNumberpattern { + my ($class,$numberpattern) = @_; + return UpdateInTable("subscription_numberpattern",$numberpattern); +} + +# ------------------------------------------------------------------- +sub DelNumberpattern { + my ($class,$numberpattern) = @_; + return DeleteInTable("subscription_numberpattern",$numberpattern); +} + +sub all { + my ($class) = @_; + my $dbh = C4::Context->dbh; + return map { $class->new($_) } @{$dbh->selectall_arrayref( + # The subscription_numberpattern table is small enough for + # `SELECT *` to be harmless. + "SELECT * FROM subscription_numberpattern ORDER BY description", + { Slice => {} }, + )}; +} + +=head3 GetNumberpattern + +=over 4 + +&GetNumberpattern($freq_id); + +gets numberpattern where $freq_id is the identifier + +=back + +=cut + +# ------------------------------------------------------------------- +sub GetNumberpattern { + my ($numpattern_id) = @_; + return undef unless $num_patternid; + my $results= SearchInTable("subscription_numberpattern",{numberpattern_id=>$freq_id}, undef, undef,undef, undef, "wide"); + return undef unless ($results); + return $$results[0]; +} + +=head3 GetFrequencies + +=over 4 + +&GetFrequencies($filter, $order_by); + +gets frequencies restricted on filters + +=back + +=cut + +# ------------------------------------------------------------------- +sub GetNumberPatterns { + my ($filters,$orderby) = @_; + return SearchInTable("subscription_numberpattern",$filters, $orderby, undef,undef, undef, "wide"); +} + +END { } # module clean-up code here (global destructor) + +1; +__END__ + +=back + +=head1 AUTHOR + +Koha Developement team + +=cut -- 2.39.2