From 9b66d808d6a96c9b9327f4859a4b35ecc2f640e7 Mon Sep 17 00:00:00 2001 From: Josef Moravec Date: Fri, 14 Oct 2016 16:38:02 +0200 Subject: [PATCH] Bug 18606: Add RotationCollections object classes Test plan: 1) Apply the patch 2) Update database 3) Go to tools -> Rotating collections and play with trying to break it: 3a) Add some collections 3b) Edit them 3c) Add some items to collections 3d) Remove some items 3e) Transfer some collections 3f) Try to remove collection without items 3g) Try to remove collection with items 4) Go to returns and: 4a) Try to return item from untransferred collection 4b) Try to return item from transferred collection 5) prove t/db_dependent/Koha/RotatingCollections.t t/db_dependent/Koha/Items.t t/db_dependent/Circulation.t t/db_dependent/Circulation/Returns.t --- Koha/RotatingCollection.pm | 52 ++++++++++++++++++++++++++++++++ Koha/RotatingCollection/Tracking.pm | 52 ++++++++++++++++++++++++++++++++ Koha/RotatingCollection/Trackings.pm | 58 ++++++++++++++++++++++++++++++++++++ Koha/RotatingCollections.pm | 58 ++++++++++++++++++++++++++++++++++++ 4 files changed, 220 insertions(+) create mode 100644 Koha/RotatingCollection.pm create mode 100644 Koha/RotatingCollection/Tracking.pm create mode 100644 Koha/RotatingCollection/Trackings.pm create mode 100644 Koha/RotatingCollections.pm diff --git a/Koha/RotatingCollection.pm b/Koha/RotatingCollection.pm new file mode 100644 index 0000000..c8857b2 --- /dev/null +++ b/Koha/RotatingCollection.pm @@ -0,0 +1,52 @@ +package Koha::RotatingCollection; + +# Copyright Josef Moravec 2016 +# +# 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, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +use Modern::Perl; + +use Carp; + +use Koha::Database; + +use base qw(Koha::Object); + +=head1 NAME + +Koha::RotatingCollection - Koha Rotating collection Object class + +=head1 API + +=head2 Class Methods + +=cut + +=head3 type + +=cut + +sub _type { + return 'Collection'; +} + +=head1 AUTHOR + +Josef Moravec + +=cut + +1; diff --git a/Koha/RotatingCollection/Tracking.pm b/Koha/RotatingCollection/Tracking.pm new file mode 100644 index 0000000..275e6ad --- /dev/null +++ b/Koha/RotatingCollection/Tracking.pm @@ -0,0 +1,52 @@ +package Koha::RotatingCollection::Tracking; + +# Copyright Josef Moravec 2017 +# +# 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, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +use Modern::Perl; + +use Carp; + +use Koha::Database; + +use base qw(Koha::Object); + +=head1 NAME + +Koha::RotatingCollection::Tracking - Koha Rotating collection tracking Object class + +=head1 API + +=head2 Class Methods + +=cut + +=head3 type + +=cut + +sub _type { + return 'CollectionsTracking'; +} + +=head1 AUTHOR + +Josef Moravec + +=cut + +1; diff --git a/Koha/RotatingCollection/Trackings.pm b/Koha/RotatingCollection/Trackings.pm new file mode 100644 index 0000000..0c6fe32 --- /dev/null +++ b/Koha/RotatingCollection/Trackings.pm @@ -0,0 +1,58 @@ +package Koha::RotatingCollection::Trackings; + +# Copyright Josef Moravec 2017 +# +# 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, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +use Modern::Perl; + +use Carp; + +use Koha::Database; + +use Koha::RotatingCollection::Tracking; + +use base qw(Koha::Objects); + +=head1 NAME + +Koha::RotatingCollection::Trackings - Koha Rotating collection trackings Object set class + +=head1 API + +=head2 Class Methods + +=cut + +=head3 type + +=cut + +sub _type { + return 'CollectionsTracking'; +} + +sub object_class { + return 'Koha::RotatingCollection::Tracking'; +} + +=head1 AUTHOR + +Josef Moravec + +=cut + +1; diff --git a/Koha/RotatingCollections.pm b/Koha/RotatingCollections.pm new file mode 100644 index 0000000..255930f --- /dev/null +++ b/Koha/RotatingCollections.pm @@ -0,0 +1,58 @@ +package Koha::RotatingCollections; + +# Copyright Josef Moravec 2016 +# +# 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, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +use Modern::Perl; + +use Carp; + +use Koha::Database; + +use Koha::RotatingCollection; + +use base qw(Koha::Objects); + +=head1 NAME + +Koha::RotatingCollections - Koha Rotating collection Object set class + +=head1 API + +=head2 Class Methods + +=cut + +=head3 type + +=cut + +sub _type { + return 'Collection'; +} + +sub object_class { + return 'Koha::RotatingCollection'; +} + +=head1 AUTHOR + +Josef Moravec + +=cut + +1; -- 2.1.4