Bugzilla – Attachment 57083 Details for
Bug 15707
Add ability to define hierarchical groups of libraries
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 15707 - Add new modules
Bug-15707---Add-new-modules.patch (text/plain), 4.73 KB, created by
Kyle M Hall (khall)
on 2016-11-02 13:28:49 UTC
(
hide
)
Description:
Bug 15707 - Add new modules
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2016-11-02 13:28:49 UTC
Size:
4.73 KB
patch
obsolete
>From 8b30ae3a2da4cdd705ec2fac0b30ee5f9dcd43e8 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Sun, 31 Jan 2016 11:22:19 +0000 >Subject: [PATCH] Bug 15707 - Add new modules > >Signed-off-by: Mark Tompsett <mtompset@hotmail.com> >--- > Koha/Library/Group.pm | 121 +++++++++++++++++++++++++++++++++++++++++++++++++ > Koha/Library/Groups.pm | 70 ++++++++++++++++++++++++++++ > 2 files changed, 191 insertions(+) > create mode 100644 Koha/Library/Group.pm > create mode 100644 Koha/Library/Groups.pm > >diff --git a/Koha/Library/Group.pm b/Koha/Library/Group.pm >new file mode 100644 >index 0000000..144ee30 >--- /dev/null >+++ b/Koha/Library/Group.pm >@@ -0,0 +1,121 @@ >+package Koha::Library::Group; >+ >+# Copyright ByWater Solutions 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::DateUtils qw(dt_from_string); >+use Koha::Libraries; >+ >+use base qw(Koha::Object); >+ >+=head1 NAME >+ >+Koha::Library::Group - Koha Library::Group object class >+ >+=head1 API >+ >+=head2 Class Methods >+ >+=cut >+ >+=head3 my @children = $self->get_children() >+ >+=cut >+ >+sub children { >+ my ($self) = @_; >+ >+ my $children = >+ Koha::Library::Groups->search( { parent_id => $self->id }, { order_by => [ 'title', 'branchcode' ] } ); >+ >+ return $children; >+} >+ >+=head3 library >+ >+my $library = $group->library(); >+ >+Returns the library for this group if one exists >+ >+=cut >+ >+sub library { >+ my ($self) = @_; >+ >+ return unless $self->branchcode; >+ >+ return Koha::Libraries->find( $self->branchcode ); >+} >+ >+=head3 libraries_not_direct_children >+ >+my @libraries = $group->libraries_not_direct_children(); >+ >+Returns the libraries *not* set as direct children of this group >+ >+=cut >+ >+sub libraries_not_direct_children { >+ my ($self) = @_; >+ >+ my @children = Koha::Library::Groups->search( >+ { >+ parent_id => $self->id, >+ branchcode => { '!=' => undef }, >+ }, >+ { order_by => 'branchcode' } >+ ); >+ >+ my @branchcodes = map { $_->branchcode } @children; >+ >+ return Koha::Libraries->search( { branchcode => { -not_in => \@branchcodes } } ); >+} >+ >+=head3 store >+ >+=cut >+ >+sub store { >+ my ($self) = @_; >+ >+ my $now = dt_from_string; >+ $self->updated_on($now); >+ $self->created_on($now) unless $self->in_storage(); >+ >+ return $self->SUPER::store(@_); >+} >+ >+=head3 type >+ >+=cut >+ >+sub type { >+ return 'LibraryGroup'; >+} >+ >+=head1 AUTHOR >+ >+Kyle M Hall <kyle@bywatersolutions.com> >+ >+=cut >+ >+1; >diff --git a/Koha/Library/Groups.pm b/Koha/Library/Groups.pm >new file mode 100644 >index 0000000..b56baae >--- /dev/null >+++ b/Koha/Library/Groups.pm >@@ -0,0 +1,70 @@ >+package Koha::Library::Groups; >+ >+# Copyright ByWater Solutions 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::Library::Group; >+ >+use base qw(Koha::Objects); >+ >+=head1 NAME >+ >+Koha::Library::Groups - Koha Library::Group object set class >+ >+=head1 API >+ >+=head2 Class Methods >+ >+=head3 my @root_groups = $self->get_root_group() >+ >+=cut >+ >+sub get_root_groups { >+ my ( $self ) = @_; >+ >+ return $self->search( { parent_id => undef }, { order_by => 'title' } ); >+} >+ >+=head3 type >+ >+=cut >+ >+sub type { >+ return 'LibraryGroup'; >+} >+ >+=head3 object_class >+ >+=cut >+ >+sub object_class { >+ return 'Koha::Library::Group'; >+} >+ >+=head1 AUTHOR >+ >+Kyle M Hall <kyle@bywatersolutions.com> >+ >+=cut >+ >+1; >-- >2.1.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 15707
:
47479
|
47480
|
47481
|
47482
|
47483
|
47484
|
47728
|
47729
|
47730
|
47731
|
47732
|
47733
|
47734
|
47849
|
47850
|
47851
|
47852
|
47853
|
47854
|
47855
|
47868
|
47869
|
47870
|
47871
|
47872
|
47873
|
47874
|
48072
|
50400
|
50401
|
50402
|
50403
|
50404
|
50405
|
50406
|
50407
|
50408
|
52267
|
52268
|
52269
|
52270
|
52271
|
52272
|
52273
|
52274
|
52275
|
52367
|
52370
|
52562
|
52563
|
52564
|
52565
|
52566
|
52567
|
52568
|
52569
|
52570
|
52571
|
52572
|
52573
|
52574
|
52575
|
57080
|
57081
|
57082
|
57083
|
57084
|
57085
|
57086
|
57087
|
57088
|
57089
|
57090
|
57091
|
57092
|
57093
|
58086
|
60504
|
60505
|
60506
|
60507
|
60508
|
60509
|
60510
|
60511
|
60512
|
60513
|
60514
|
60515
|
60516
|
60517
|
60518
|
60572
|
60573
|
60574
|
60575
|
60576
|
60577
|
60578
|
60579
|
60580
|
60581
|
60582
|
60583
|
60584
|
60585
|
60586
|
60587
|
60755
|
60756
|
60757
|
60758
|
60759
|
60760
|
60761
|
60762
|
60763
|
60764
|
60765
|
60766
|
60767
|
60768
|
60769
|
60770
|
60771
|
65666
|
65667
|
65668
|
65669
|
65670
|
65671
|
65672
|
65673
|
65674
|
65675
|
65676
|
65677
|
65678
|
65679
|
65680
|
65681
|
69514
|
69515
|
69516
|
69517
|
69518
|
69519
|
69520
|
69521
|
69522
|
69523
|
69524
|
69525
|
69526
|
69527
|
69528
|
69529
|
69573
|
69574
|
69575
|
69576
|
69577
|
69578
|
69579
|
69580
|
69581
|
69582
|
69583
|
69584
|
69585
|
69586
|
69587
|
69588
|
69589