# 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., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
+# 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 strict;
use warnings;
use C4::Debug;
BEGIN {
- use version; our $VERSION = qv('1.0.0_1');
+ use version; our $VERSION = qv('3.07.00.049');
use base qw(Exporter);
our @EXPORT = qw(get_all_templates
get_all_layouts
);
}
+=head1 NAME
+
+C4::Creators::Lib
+
+=cut
+
+=head1 FUNCTIONS
+
+=cut
+
#=head2 C4::Creators::Lib::_SELECT()
#
# This function returns a recordset upon success and 1 upon failure. Errors are logged to the Apache log.
=head2 C4::Creators::Lib::get_all_templates()
- This function returns a reference to a hash containing all templates upon success and 1 upon failure. Errors are logged to the Apache log.
+ my $templates = get_all_templates();
- examples:
-
- my $templates = get_all_templates();
+This function returns a reference to a hash containing all templates upon success and 1 upon failure. Errors are logged to the Apache log.
=cut
=head2 C4::Creators::Lib::get_all_layouts()
- This function returns a reference to a hash containing all layouts upon success and 1 upon failure. Errors are logged to the Apache log.
-
- examples:
+ my $layouts = get_all_layouts();
- my $layouts = get_all_layouts();
+This function returns a reference to a hash containing all layouts upon success and 1 upon failure. Errors are logged to the Apache log.
=cut
=head2 C4::Creators::Lib::get_all_profiles()
- This function returns an arrayref whose elements are hashes containing all profiles upon success and 1 upon failure. Errors are logged
- to the Apache log. Two parameters are accepted. The first limits the field(s) returned. This parameter should be string of comma separted
- fields. ie. "field_1, field_2, ...field_n" The second limits the records returned based on a string containing a valud SQL 'WHERE' filter.
+ my $profiles = get_all_profiles();
- NOTE: Do not pass in the keyword 'WHERE.'
+ my $profiles = get_all_profiles(field_list => field_list, filter => filter_string);
- examples:
+This function returns an arrayref whose elements are hashes containing all profiles upon success and 1 upon failure. Errors are logged
+to the Apache log. Two parameters are accepted. The first limits the field(s) returned. This parameter should be string of comma separted
+fields. ie. "field_1, field_2, ...field_n" The second limits the records returned based on a string containing a valud SQL 'WHERE' filter.
- my $profiles = get_all_profiles();
- my $profiles = get_all_profiles(field_list => field_list, filter => filter_string);
+NOTE: Do not pass in the keyword 'WHERE.'
=cut
=head2 C4::Creators::Lib::get_batch_summary()
- This function returns an arrayref whose elements are hashes containing the batch_ids of current batches along with the item count
- for each batch upon success and 1 upon failure. Item counts are stored under the key '_item_count' Errors are logged to the Apache log.
- One parameter is accepted which limits the records returned based on a string containing a valud SQL 'WHERE' filter.
+ my $batches = get_batch_summary();
- NOTE: Do not pass in the keyword 'WHERE.'
+ my $batches = get_batch_summary(filter => filter_string);
- examples:
+This function returns an arrayref whose elements are hashes containing the batch_ids of current batches along with the item count
+for each batch upon success and 1 upon failure. Item counts are stored under the key '_item_count' Errors are logged to the Apache log.
+One parameter is accepted which limits the records returned based on a string containing a valud SQL 'WHERE' filter.
- my $batches = get_batch_summary();
- my $batches = get_batch_summary(filter => filter_string);
+NOTE: Do not pass in the keyword 'WHERE.'
=cut
sub get_batch_summary {
my %params = @_;
my @batches = ();
- my $query = "SELECT DISTINCT batch_id FROM creator_batches WHERE creator=?";
- $query .= ($params{'filter'} ? " AND $params{'filter'};" : ';');
+ my $query = "SELECT batch_id,count(batch_id) as _item_count FROM creator_batches WHERE creator=?";
+ $query .= ($params{'filter'} ? " AND $params{'filter'}" : '');
+ $query .= " GROUP BY batch_id";
my $sth = C4::Context->dbh->prepare($query);
# $sth->{'TraceLevel'} = 3;
$sth->execute($params{'creator'});
warn sprintf('Database returned the following error on attempted SELECT: %s', $sth->errstr);
return -1;
}
- ADD_BATCHES:
while (my $batch = $sth->fetchrow_hashref) {
- my $query = "SELECT count(batch_id) FROM creator_batches WHERE batch_id=? AND creator=?;";
- my $sth1 = C4::Context->dbh->prepare($query);
- $sth1->execute($batch->{'batch_id'}, $params{'creator'});
- if ($sth1->err) {
- warn sprintf('Database returned the following error on attempted SELECT count: %s', $sth1->errstr);
- return -1;
- }
- my $count = $sth1->fetchrow_arrayref;
- $batch->{'_item_count'} = @$count[0];
push(@batches, $batch);
}
return \@batches;
=head2 C4::Creators::Lib::get_label_summary()
- This function returns an arrayref whose elements are hashes containing the label_ids of current labels along with the item count
- for each label upon success and 1 upon failure. Item counts are stored under the key '_item_count' Errors are logged to the Apache log.
- One parameter is accepted which limits the records returned based on a string containing a valud SQL 'WHERE' filter.
+ my $labels = get_label_summary();
- NOTE: Do not pass in the keyword 'WHERE.'
+ my $labels = get_label_summary(items => @item_list);
- examples:
+This function returns an arrayref whose elements are hashes containing the label_ids of current labels along with the item count
+for each label upon success and 1 upon failure. Item counts are stored under the key '_item_count' Errors are logged to the Apache log.
+One parameter is accepted which limits the records returned based on a string containing a valud SQL 'WHERE' filter.
- my $labels = get_label_summary();
- my $labels = get_label_summary(items => @item_list);
+NOTE: Do not pass in the keyword 'WHERE.'
=cut
my %params = @_;
my $label_number = 0;
my @label_summaries = ();
- my $query = " SELECT b.title, b.author, bi.itemtype, i.barcode, i.biblionumber
+ my $query = " SELECT b.title, b.author, bi.itemtype, i.barcode, i.biblionumber, i.itype
FROM creator_batches AS c LEFT JOIN items AS i ON (c.item_number=i.itemnumber)
LEFT JOIN biblioitems AS bi ON (i.biblioitemnumber=bi.biblioitemnumber)
LEFT JOIN biblio AS b ON (bi.biblionumber=b.biblionumber)
return -1;
}
my $record = $sth->fetchrow_hashref;
- my $label_summary->{'_label_number'} = $label_number;
+ my $label_summary;
+ $label_summary->{'_label_number'} = $label_number;
$record->{'author'} =~ s/[^\.|\w]$// if $record->{'author'}; # strip off ugly trailing chars... but not periods or word chars
$record->{'title'} =~ s/\W*$//; # strip off ugly trailing chars
# FIXME contructing staff interface URLs should be done *much* higher up the stack - for the most part, C4 module code
# should not know that it's part of a web app
$record->{'title'} = '<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=' . $record->{'biblionumber'} . '"> ' . $record->{'title'} . '</a>';
$label_summary->{'_summary'} = $record->{'title'} . " | " . ($record->{'author'} ? $record->{'author'} : 'N/A');
- $label_summary->{'_item_type'} = $record->{'itemtype'};
+ $label_summary->{'_item_type'} = C4::Context->preference("item-level_itypes") ? $record->{'itype'} : $record->{'itemtype'};
$label_summary->{'_barcode'} = $record->{'barcode'};
$label_summary->{'_item_number'} = $item->{'item_number'};
$label_summary->{'_label_id'} = $item->{'label_id'};
=head2 C4::Creators::Lib::get_card_summary()
- This function returns an arrayref whose elements are hashes containing the label_ids of current cards along with the item count
- for each card upon success and 1 upon failure. Item counts are stored under the key '_item_count' Errors are logged to the Apache log.
- One parameter is accepted which limits the records returned based on a string containing a valud SQL 'WHERE' filter.
+ my $cards = get_card_summary();
- NOTE: Do not pass in the keyword 'WHERE.'
+ my $cards = get_card_summary(items => @item_list);
- examples:
+This function returns an arrayref whose elements are hashes containing the label_ids of current cards along with the item count
+for each card upon success and 1 upon failure. Item counts are stored under the key '_item_count' Errors are logged to the Apache log.
+One parameter is accepted which limits the records returned based on a string containing a valud SQL 'WHERE' filter.
- my $cards = get_card_summary();
- my $cards = get_card_summary(items => @item_list);
+NOTE: Do not pass in the keyword 'WHERE.'
=cut
=head2 C4::Creators::Lib::get_barcode_types()
- This function returns a reference to an array of hashes containing all barcode types along with their name and description.
-
- examples:
+ my $barcode_types = get_barcode_types();
- my $barcode_types = get_barcode_types();
+This function returns a reference to an array of hashes containing all barcode types along with their name and description.
=cut
=head2 C4::Creators::Lib::get_label_types()
- This function returns a reference to an array of hashes containing all label types along with their name and description.
+ my $label_types = get_label_types();
- examples:
-
- my $label_types = get_label_types();
+This function returns a reference to an array of hashes containing all label types along with their name and description.
=cut
=head2 C4::Creators::Lib::get_font_types()
- This function returns a reference to an array of hashes containing all font types along with their name and description.
-
- examples:
+ my $font_types = get_font_types();
- my $font_types = get_font_types();
+This function returns a reference to an array of hashes containing all font types along with their name and description.
=cut
=head2 C4::Creators::Lib::get_text_justification_types()
- This function returns a reference to an array of hashes containing all text justification types along with their name and description.
+ my $text_justification_types = get_text_justification_types();
- examples:
-
- my $text_justification_types = get_text_justification_types();
+This function returns a reference to an array of hashes containing all text justification types along with their name and description.
=cut
=head2 C4::Creators::Lib::get_unit_values()
- This function returns a reference to an array of hashes containing all unit types along with their description and multiplier. NOTE: All units are relative to a PostScript Point.
- There are 72 PS points to the inch.
-
- examples:
+ my $unit_values = get_unit_values();
- my $unit_values = get_unit_values();
+This function returns a reference to an array of hashes containing all unit types along with their description and multiplier.
+NOTE: All units are relative to a PostScript Point.
+There are 72 PS points to the inch.
=cut
=head2 C4::Creators::Lib::get_output_formats()
- This function returns a reference to an array of hashes containing all label output formats along with their description.
+ my $label_output_formats = get_output_formats();
- examples:
-
- my $label_output_formats = get_output_formats();
+This function returns a reference to an array of hashes containing all label output formats along with their description.
=cut
=head2 C4::Creators::Lib::html_table()
- This function returns an arrayref of an array of hashes contianing the supplied data formatted suitably to
- be passed off as a T::P template parameter and used to build an html table.
-
- examples:
+This function returns an arrayref of an array of hashes contianing the supplied data formatted suitably to
+be passed off as a T::P template parameter and used to build an html table.
- my $table = html_table(header_fields, array_of_row_data);
- $template->param(
- TABLE => $table,
- );
+ my $table = html_table(header_fields, array_of_row_data);
+ $template->param(
+ TABLE => $table,
+ );
html example: