package C4::Category;
+# Copyright 2009 Liblime
+# Parts Copyright 2011 Tamil
+#
# 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., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
use strict;
use warnings;
=cut
sub all {
- my ($class) = @_;
+ my ( $class ) = @_;
+ my $branch_limit = C4::Context->userenv ? C4::Context->userenv->{"branch"} : "";
my $dbh = C4::Context->dbh;
- return map { $class->new($_) } @{$dbh->selectall_arrayref(
- # The categories table is small enough for
- # `SELECT *` to be harmless.
- "SELECT * FROM categories ORDER BY description",
- { Slice => {} },
- )};
+ # The categories table is small enough for
+ # `SELECT *` to be harmless.
+ my $query = "SELECT categories.* FROM categories";
+ $query .= qq{
+ LEFT JOIN categories_branches ON categories_branches.categorycode = categories.categorycode
+ WHERE categories_branches.branchcode = ? OR categories_branches.branchcode IS NULL
+ } if $branch_limit;
+ $query .= " ORDER BY description";
+ return map { $class->new($_) } @{
+ $dbh->selectall_arrayref(
+ $query,
+ { Slice => {} },
+ $branch_limit ? $branch_limit : ()
+ )
+ };
}
=head3 $category->categorycode
+=cut
+
=head3 $category->description
+=cut
+
=head3 $category->enrolmentperiod
+=cut
+
=head3 $category->upperagelimit
+=cut
+
=head3 $category->dateofbirthrequired
+=cut
+
=head3 $category->finetype
+=cut
+
=head3 $category->bulk
+=cut
+
=head3 $category->enrolmentfee
+=cut
+
=head3 $category->overduenoticerequired
+=cut
+
=head3 $category->issuelimit
+=cut
+
=head3 $category->reservefee
+=cut
+
=head3 $category->category_type
=cut