7 use C4::Interface::CGI::Output;
11 my $dbh = C4::Context->dbh;
13 my $op = $query->param('op');
14 my $barcodetype = $query->param('barcodetype');
15 my $title = $query->param('title');
16 my $isbn = $query->param('isbn');
17 my $itemtype = $query->param('itemtype');
18 my $bcn = $query->param('bcn');
19 my $dcn = $query->param('dcn');
20 my $classif = $query->param('classif');
21 my $author = $query->param('author');
22 my $papertype = $query->param('papertype');
23 my $itemnumber = $query->param('itemnumber');
24 my $summary = $query->param('summary');
25 my $startrow = $query->param('startrow');
26 my $printingtype = $query->param('printingtype');
27 my $guidebox = $query->param('guidebox');
31 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
33 template_name => "barcodes/label-manager.tmpl",
37 flagsrequired => { catalogue => 1 },
42 if ( $op eq 'save_conf' ) {
43 my $query2 = "DELETE FROM labels_conf";
44 my $sth2 = $dbh->prepare($query2);
47 my $query2 = "INSERT INTO labels_conf
48 ( barcodetype, title, isbn, itemtype, barcode,
49 dewey, class, author, papertype, printingtype,
51 values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )";
52 my $sth2 = $dbh->prepare($query2);
54 $barcodetype, $title, $isbn, $itemtype,
55 $bcn, $dcn, $classif, $author,
56 $papertype, $printingtype, $guidebox, $startrow
61 elsif ( $op eq 'add' ) {
62 my $query2 = "INSERT INTO labels ( itemnumber ) values ( ? )";
63 my $sth2 = $dbh->prepare($query2);
64 $sth2->execute($itemnumber);
67 elsif ( $op eq 'deleteall' ) {
68 my $query2 = "DELETE FROM labels";
69 my $sth2 = $dbh->prepare($query2);
73 elsif ( $op eq 'delete' ) {
74 warn "MASON, deleting label..";
75 my $query2 = "DELETE FROM labels where itemnumber = ?";
76 my $sth2 = $dbh->prepare($query2);
77 $sth2->execute($itemnumber);
81 # first lets do a read of the labels table , to get the a list of the
82 # currently entered items to be prinited
87 my $query3 = "Select * from labels";
88 my $sth = $dbh->prepare($query3);
93 while ( my $data = $sth->fetchrow_hashref ) {
95 # lets get some summary info from each item
97 select * from biblio,biblioitems,items where itemnumber=? and
98 items.biblioitemnumber=biblioitems.biblioitemnumber and
99 biblioitems.biblionumber=biblio.biblionumber";
101 my $sth1 = $dbh->prepare($query1);
102 $sth1->execute( $data->{'itemnumber'} );
103 my $data1 = $sth1->fetchrow_hashref();
105 $data1->{'labelno'} = $i1;
106 $data1->{'summary'} =
107 "$data1->{'barcode'}, $data1->{'title'}, $data1->{'isbn'}";
109 push( @resultsloop, $data1 );
116 # this script can be run from the side nav, and is not passed a value for $startrow
117 # so lets get it from the DB
120 my $dbh = C4::Context->dbh;
121 my $query2 = "SELECT * FROM labels_conf LIMIT 1";
122 my $sth = $dbh->prepare($query2);
125 my $data = $sth->fetchrow_hashref;
126 $startrow = $data->{'startrow'};
130 #calc-ing number of sheets
131 my $number_of_results = scalar @resultsloop;
132 my $sheets_needed = ( ( --$number_of_results + $startrow ) / 8 );
133 $sheets_needed = ceil($sheets_needed); # rounding up int's
135 my $tot_labels = ( $sheets_needed * 8 );
136 my $start_results = ( $number_of_results + $startrow );
137 my $labels_remaining = ( $tot_labels - $start_results );
140 resultsloop => \@resultsloop,
141 startrow => $startrow,
142 sheets => $sheets_needed,
143 labels_remaining => $labels_remaining,
145 intranetcolorstylesheet =>
146 C4::Context->preference("intranetcolorstylesheet"),
147 intranetstylesheet => C4::Context->preference("intranetstylesheet"),
148 IntranetNav => C4::Context->preference("IntranetNav"),
150 output_html_with_http_headers $query, $cookie, $template->output;