Bugzilla – Attachment 45773 Details for
Bug 14828
Move the item types related code to Koha::ItemTypes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 14828: Remove old package and tests
Bug-14828-Remove-old-package-and-tests.patch (text/plain), 8.28 KB, created by
Marc Véron
on 2015-12-17 14:21:36 UTC
(
hide
)
Description:
Bug 14828: Remove old package and tests
Filename:
MIME Type:
Creator:
Marc Véron
Created:
2015-12-17 14:21:36 UTC
Size:
8.28 KB
patch
obsolete
>From d2e31be6c9609b22725e4f72fdfe24d1aa575899 Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Tue, 15 Sep 2015 17:03:44 +0100 >Subject: [PATCH] Bug 14828: Remove old package and tests >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >C4::ItemType can be now removed safely, there is no use of this module. > >Signed-off-by: Marc Véron <veron@veron.ch> >--- > C4/ItemType.pm | 201 -------------------------------------------------------- > t/ItemType.t | 120 --------------------------------- > 2 files changed, 321 deletions(-) > delete mode 100644 C4/ItemType.pm > delete mode 100755 t/ItemType.t > >diff --git a/C4/ItemType.pm b/C4/ItemType.pm >deleted file mode 100644 >index 209a77d..0000000 >--- a/C4/ItemType.pm >+++ /dev/null >@@ -1,201 +0,0 @@ >-package C4::ItemType; >- >-# Copyright Liblime 2009 >-# Parts Copyright Tamil 2011 >-# >-# 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 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. >-# >-# 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; >-use C4::Context; >-use C4::Languages; >-use Encode qw( encode ); >- >-our $AUTOLOAD; >- >- >- >- >-=head1 NAME >- >-C4::ItemType - objects from the itemtypes table >- >-=head1 SYNOPSIS >- >- use C4::ItemType; >- my @itemtypes = C4::ItemType->all; >- print join("\n", map { $_->description } @itemtypes), "\n"; >- >-=head1 DESCRIPTION >- >-Objects of this class represent a row in the C<itemtypes> table. >- >-Currently, the bare minimum for using this as a read-only data source has >-been implemented. The API was designed to make it easy to transition to >-an ORM later on. >- >-=head1 API >- >-=head2 Class Methods >- >-=cut >- >-=head3 C4::ItemType->new(\%opts) >- >-Given a hashref, a new (in-memory) C4::ItemType object will be instantiated. >-The database is not touched. >- >-=cut >- >-sub new { >- my ($class, $opts) = @_; >- bless $opts => $class; >-} >- >- >- >- >-=head3 C4::ItemType->all >- >-This returns all the itemtypes as objects. By default they're ordered by >-C<description>. >- >-=cut >- >-sub all { >- my ($class) = @_; >- my $dbh = C4::Context->dbh; >- >- my $language = C4::Languages::getlanguage(); >- my @itypes; >- for ( @{$dbh->selectall_arrayref(q| >- SELECT *, >- COALESCE( localization.translation, itemtypes.description ) AS translated_description >- FROM itemtypes >- LEFT JOIN localization ON itemtypes.itemtype = localization.code >- AND localization.entity = 'itemtypes' >- AND localization.lang = ? >- ORDER BY description >- |, { Slice => {} }, $language)} ) >- { >- push @itypes, $class->new($_); >- } >- return @itypes; >-} >- >- >- >- >-=head3 C4::ItemType->get >- >-Return the itemtype indicated by the itemtype given as argument, as >-an object. >- >-=cut >- >-sub get { >- my ($class, $itemtype) = @_; >- >- return unless defined $itemtype; >- >- my $dbh = C4::Context->dbh; >- >- my $data = $dbh->selectrow_hashref( >- "SELECT * FROM itemtypes WHERE itemtype = ?", undef, $itemtype >- ); >- return $class->new($data); >-} >- >- >- >- >-=head2 Object Methods >- >-These are read-only accessors for attributes of a C4::ItemType object. >- >-=head3 $itemtype->itemtype >- >-=cut >- >-=head3 $itemtype->description >- >-=cut >- >-=head3 $itemtype->renewalsallowed >- >-=cut >- >-=head3 $itemtype->rentalcharge >- >-=cut >- >-=head3 $itemtype->notforloan >- >-=cut >- >-=head3 $itemtype->imageurl >- >-=cut >- >-=head3 $itemtype->checkinmsg >- >-=cut >- >-=head3 $itemtype->summary >- >-=cut >- >-sub AUTOLOAD { >- my $self = shift; >- my $attr = $AUTOLOAD; >- $attr =~ s/.*://; >- if (exists $self->{$attr}) { >- return $self->{$attr}; >- } else { >- return undef; >- } >-} >- >-sub DESTROY { } >- >- >- >-# ack itemtypes | grep '\.pm' | awk '{ print $1 }' | sed 's/:.*$//' | sort | uniq | sed -e 's,/,::,g' -e 's/\.pm//' -e 's/^/L<C4::/' -e 's/$/>,/' >- >-=head1 SEE ALSO >- >-The following modules make reference to the C<itemtypes> table. >- >-L<C4::Biblio>, >-L<C4::Circulation>, >-L<C4::Context>, >-L<C4::Items>, >-L<C4::Koha>, >-L<C4::Labels>, >-L<C4::Overdues>, >-L<C4::Reserves>, >-L<C4::Search>, >-L<C4::XSLT> >- >- >- >-=head1 AUTHOR >- >-John Beppu <john.beppu@liblime.com> >- >-=cut >- >-1; >diff --git a/t/ItemType.t b/t/ItemType.t >deleted file mode 100755 >index 2f05c74..0000000 >--- a/t/ItemType.t >+++ /dev/null >@@ -1,120 +0,0 @@ >-#!/usr/bin/perl >- >-# 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 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. >-# >-# You should have received a copy of the GNU General Public License >-# along with Koha; if not, see <http://www.gnu.org/licenses>. >- >-use Modern::Perl; >- >-use Test::More; >-use t::lib::Mocks; >- >-use Module::Load::Conditional qw/check_install/; >- >-BEGIN { >- if ( check_install( module => 'Test::DBIx::Class' ) ) { >- plan tests => 25; >- } else { >- plan skip_all => "Need Test::DBIx::Class" >- } >-} >- >-use_ok('C4::ItemType'); >- >-use Test::DBIx::Class { >- schema_class => 'Koha::Schema', >- connect_info => ['dbi:SQLite:dbname=:memory:','',''], >- connect_opts => { name_sep => '.', quote_char => '`', }, >- fixture_class => '::Populate', >-}, 'Itemtype' ; >- >-sub fixtures { >- my ( $data ) = @_; >- fixtures_ok [ >- Itemtype => [ >- [ >- 'itemtype', 'description', 'rentalcharge', 'notforloan', >- 'imageurl', 'summary', 'checkinmsg' >- ], >- @$data, >- ], >- ], 'add fixtures'; >-} >- >-my $db = Test::MockModule->new('Koha::Database'); >-$db->mock( _new_schema => sub { return Schema(); } ); >- >-# Mock data >-my $itemtypes = [ >- [ 'BK', 'Books', 0, 0, '', '', 'foo' ], >- [ 'CD', 'CDRom', 0, 0, '', '', 'bar' ] >-]; >- >-my @itemtypes = C4::ItemType->all(); >-is( @itemtypes, 0, 'Testing all itemtypes is empty' ); >- >-# Now lets mock some data >-fixtures($itemtypes); >- >-@itemtypes = C4::ItemType->all(); >- >-is( @itemtypes, 2, 'ItemType->all should return an array with 2 elements' ); >- >-is( $itemtypes[0]->fish, undef, 'Calling a bad descriptor gives undef' ); >- >-is( $itemtypes[0]->itemtype, 'BK', 'First itemtype is bk' ); >- >-is( $itemtypes[1]->itemtype, 'CD', 'second itemtype is cd' ); >- >-is( $itemtypes[0]->description, 'Books', 'First description is books' ); >- >-is( $itemtypes[1]->description, 'CDRom', 'second description is CDRom' ); >- >-is( $itemtypes[0]->rentalcharge, '0', 'first rental charge is 0' ); >- >-is( $itemtypes[1]->rentalcharge, '0', 'second rental charge is 0' ); >- >-is( $itemtypes[0]->notforloan, '0', 'first not for loan is 0' ); >- >-is( $itemtypes[1]->notforloan, '0', 'second not for loan is 0' ); >- >-is( $itemtypes[0]->imageurl, '', 'first imageurl is undef' ); >- >-is( $itemtypes[1]->imageurl, '', 'second imageurl is undef' ); >- >-is( $itemtypes[0]->checkinmsg, 'foo', 'first checkinmsg is foo' ); >- >-is( $itemtypes[1]->checkinmsg, 'bar', 'second checkinmsg is bar' ); >- >-# Test get(), which should return one itemtype >-my $itemtype = C4::ItemType->get( 'BK' ); >- >-is( $itemtype->fish, undef, 'Calling a bad descriptor gives undef' ); >- >-is( $itemtype->itemtype, 'BK', 'itemtype is bk' ); >- >-is( $itemtype->description, 'Books', 'description is books' ); >- >-is( $itemtype->rentalcharge, '0', 'rental charge is 0' ); >- >-is( $itemtype->notforloan, '0', 'not for loan is 0' ); >- >-is( $itemtype->imageurl, '', ' not for loan is undef' ); >- >-is( $itemtype->checkinmsg, 'foo', 'checkinmsg is foo' ); >- >-$itemtype = C4::ItemType->get; >-is( $itemtype, undef, 'C4::ItemType->get should return unless if no parameter is given' ); >- >-1; >-- >1.7.10.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 14828
:
42566
|
42567
|
42568
|
42569
|
45748
|
45749
|
45750
|
45751
|
45769
|
45771
|
45772
|
45773
|
45774
|
46731
|
46732
|
46733
|
46734
|
46735
|
47341
|
47342
|
47343
|
47344
|
47345