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