my $isbn = $query->param('tx_isbn');
my $issn = $query->param('tx_issn');
my $itemtype = $query->param('tx_itemtype');
-my $dcn = $query->param('tx_dewey');
-my $classif = $query->param('tx_classif');
my $itemcallnumber = $query->param('tx_itemcallnumber');
-my $subclass = $query->param('tx_subclass');
my $author = $query->param('tx_author');
my $tmpl_id = $query->param('tmpl_id');
my $summary = $query->param('summary');
my $printingtype = $query->param('printingtype');
my $guidebox = $query->param('guidebox');
my $fontsize = $query->param('fontsize');
-my @itemnumber = $query->param('itemnumber') if ($query->param('type') eq 'labels');
-my @itemnumber = $query->param('borrowernumber') if ($query->param('type') eq 'patroncards');
+my $callnum_split = $query->param('callnum_split');
+my $text_justify = $query->param('text_justify');
+my $formatstring = $query->param('formatstring');
my $batch_type = $query->param('type');
+($batch_type and $batch_type eq 'patroncards') or $batch_type = 'labels';
+my @itemnumber;
+($batch_type eq 'labels') ? (@itemnumber = $query->param('itemnumber')) : (@itemnumber = $query->param('borrowernumber'));
# little block for displaying active layout/template/batch in templates
# ----------
}
);
-if ( $op eq 'save_conf' ) { # this early sub is depreciated, use save_layout()
- SaveConf(
- $barcodetype, $title, $isbn,
- $issn, $itemtype, $bcn, $dcn,
- $classif, $subclass, $itemcallnumber, $author,
- $tmpl_id, $printingtype, $guidebox, $startlabel, $layoutname
- );
- print $query->redirect("label-home.pl");
- exit;
-}
-elsif ( $op eq 'save_layout' ) {
+if ( $op eq 'save_layout' ) {
save_layout(
$barcodetype, $title, $subtitle, $isbn,
- $issn, $itemtype, $bcn, $dcn,
- $classif, $subclass, $itemcallnumber, $author,
+ $issn, $itemtype, $bcn, $text_justify,
+ $callnum_split, $itemcallnumber, $author,
$tmpl_id, $printingtype, $guidebox, $startlabel, $layoutname,
- $layout_id
- );
+ , $formatstring , $layout_id
+ );
### $layoutname
print $query->redirect("label-home.pl");
exit;
elsif ( $op eq 'add_layout' ) {
add_layout(
$barcodetype, $title, $subtitle, $isbn,
- $issn, $itemtype, $bcn, $dcn,
- $classif, $subclass, $itemcallnumber, $author,
+ $issn, $itemtype, $bcn, $text_justify,
+ $callnum_split, $itemcallnumber, $author,
$tmpl_id, $printingtype, $guidebox, $startlabel, $layoutname,
- $layout_id
+ $formatstring , $layout_id
);
### $layoutname
print $query->redirect("label-home.pl");
# FIXME: The trinary conditionals here really need to be replaced with a more robust form of db abstraction -fbcit
elsif ( $op eq 'add' ) { # add item
- my $query2 = "INSERT INTO $batch_type ( " . (($batch_type eq 'labels') ? 'itemnumber' : 'borrowernumber') . ", batch_id ) values ( ?,? )";
+ my $query2 = ($batch_type eq 'patroncards') ?
+ "INSERT INTO patroncards (borrowernumber, batch_id) values (?,?)" :
+ "INSERT INTO labels (itemnumber, batch_id) values (?,?)" ;
my $sth2 = $dbh->prepare($query2);
for my $inum (@itemnumber) {
- warn "INSERTing " . (($batch_type eq 'labels') ? 'itemnumber' : 'borrowernumber') . ":$inum for batch $batch_id";
+ # warn "INSERTing " . (($batch_type eq 'labels') ? 'itemnumber' : 'borrowernumber') . ":$inum for batch $batch_id";
$sth2->execute($inum, $batch_id);
}
- $sth2->finish;
}
elsif ( $op eq 'deleteall' ) {
my $query2 = "DELETE FROM $batch_type";
my $sth2 = $dbh->prepare($query2);
$sth2->execute();
- $sth2->finish;
}
elsif ( $op eq 'delete' ) {
my @labelids = $query->param((($batch_type eq 'labels') ? 'labelid' : 'cardid'));
$debug and push @messages, "query2: $query2 -- (@labelids)";
my $sth2 = $dbh->prepare($query2);
$sth2->execute(@labelids);
- $sth2->finish;
}
elsif ( $op eq 'delete_batch' ) {
delete_batch($batch_id, $batch_type);
- print $query->redirect("label-manager.pl");
+ print $query->redirect("label-manager.pl?type=$batch_type");
exit;
}
elsif ( $op eq 'add_batch' ) {
exit;
}
elsif ( $op eq 'deduplicate' ) {
- my $return = deduplicate_batch($batch_id);
- my $msg = (($return) ? "Removed $return" : "Error revoving") . " duplicate items from Batch $batch_id";
+ warn "\$batch_id=$batch_id and \$batch_type=$batch_type";
+ my ($return, $dberror) = deduplicate_batch($batch_id, $batch_type);
+ my $msg = (($return) ? "Removed $return" : "Error removing") . " duplicate items from Batch $batch_id." . (($dberror) ? " Database returned: $dberror" : "");
push @messages, $msg;
}
}
$template->param(message_loop => \@complex);
}
+if ($batch_type eq 'labels' or $batch_type eq 'patroncards') {
+ $template->param("batch_is_$batch_type" => 1);
+}
$template->param(
- type => $batch_type,
+ batch_type => $batch_type,
batch_id => $batch_id,
batch_count => scalar @resultsloop,
active_layout_name => $active_layout_name,
active_template_name => $active_template_name,
+ outputformat => ( $active_layout->{'printingtype'} eq 'CSV' ) ? 'csv' : 'pdf' ,
+ layout_tx => ( $active_layout->{'formatstring'}) ? 0 : 1 ,
+ layout_string => ( $active_layout->{'formatstring'}) ? 1 : 0 ,
resultsloop => \@resultsloop,
batches => \@batches,