1 package Koha
::UploadedFiles
;
3 # Copyright Rijksmuseum 2016
5 # This file is part of Koha.
7 # Koha is free software; you can redistribute it and/or modify it under the
8 # terms of the GNU General Public License as published by the Free Software
9 # Foundation; either version 3 of the License, or (at your option) any later
12 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License along
17 # with Koha; if not, write to the Free Software Foundation, Inc.,
18 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 use Koha
::UploadedFile
;
25 use parent
qw(Koha::Objects);
29 Koha::UploadedFiles - Koha::Objects class for uploaded files
33 use Koha::UploadedFiles;
36 my $upload01 = Koha::UploadedFiles->find( $id );
39 my @uploads = Koha::UploadedFiles->search_term({ term => '.mrc' });
42 Koha::UploadedFiles->delete;
46 Allows regular CRUD operations on uploaded_files via Koha::Objects / DBIx.
48 The delete method also takes care of deleting files. The search_term method
49 provides a wrapper around search to look for a term in multiple columns.
53 =head2 INSTANCE METHODS
57 Delete uploaded files.
58 Returns true if no errors occur. (So, false may mean partial success.)
60 Parameter keep_file may be used to delete records, but keep files.
65 my ( $self, $params ) = @_;
66 # We use the individual delete on each resultset record
68 while( my $row = $self->_resultset->next ) {
69 my $kohaobj = Koha
::UploadedFile
->_new_from_dbic( $row );
70 $err++ if !$kohaobj->delete( $params );
77 Search_term allows you to pass a term to search in filename and hashvalue.
78 If you do not pass include_private, only public records are returned.
80 Is only a wrapper around Koha::Objects search. Has similar return value.
85 my ( $self, $params ) = @_;
86 my $term = $params->{term
} // '';
88 if( !$params->{include_private
} ) {
89 %public = ( public
=> 1 );
92 [ { filename
=> { like
=> '%'.$term.'%' }, %public },
93 { hashvalue
=> { like
=> '%'.$params->{term
}.'%' }, %public } ],
94 { order_by
=> { -asc
=> 'id' }},
102 getCategories returns a list of upload category codes and names
108 my $cats = C4
::Koha
::GetAuthorisedValues
('UPLOAD');
109 [ map {{ code
=> $_->{authorised_value
}, name
=> $_->{lib
} }} @
$cats ];
114 Returns name of corresponding DBIC resultset
119 return 'UploadedFile';
124 Returns name of corresponding Koha object class
129 return 'Koha::UploadedFile';
134 Marcel de Rooy (Rijksmuseum)
136 Koha Development Team