-# called by delete_confirm, used to effectively confirm deletion of data in DB
-} elsif ($op eq 'delete_confirmed') {
- $template->param(delete_confirmed => 1);
- my $dbh = C4::Context->dbh;
- my $categorycode=uc($input->param('categorycode'));
- my $sth=$dbh->prepare("delete from categories where categorycode=?");
- $sth->execute($categorycode);
- $sth->finish;
- print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=categorie.pl\"></html>";
- exit;
-
- # END $OP eq DELETE_CONFIRMED
-} else { # DEFAULT
- $template->param(else => 1);
- my @loop;
- my ($count,$results)=StringSearch($searchfield,'web');
- for (my $i=0; $i < $count; $i++){
- my %row = (
- categorycode => $results->[$i]{'categorycode'},
- description => $results->[$i]{'description'},
- enrolmentperiod => $results->[$i]{'enrolmentperiod'},
- enrolmentperioddate => C4::Dates::format_date($results->[$i]{'enrolmentperioddate'}),
- upperagelimit => $results->[$i]{'upperagelimit'},
- dateofbirthrequired => $results->[$i]{'dateofbirthrequired'},
- enrolmentfee => sprintf("%.2f",$results->[$i]{'enrolmentfee'}),
- overduenoticerequired => $results->[$i]{'overduenoticerequired'},
- issuelimit => $results->[$i]{'issuelimit'},
- reservefee => sprintf("%.2f",$results->[$i]{'reservefee'}),
- hidelostitems => $results->[$i]{'hidelostitems'},
- category_type => $results->[$i]{'category_type'},
- "type_".$results->[$i]{'category_type'} => 1);
- if (C4::Context->preference('EnhancedMessagingPreferences')) {
- my $brief_prefs = _get_brief_messaging_prefs($results->[$i]{'categorycode'});
+ # called by delete_confirm, used to effectively confirm deletion of data in DB
+}
+elsif ( $op eq 'delete_confirmed' ) {
+ $template->param( delete_confirmed => 1 );
+ my $dbh = C4::Context->dbh;
+
+ my $categorycode = uc( $input->param('categorycode') );
+
+ my $sth = $dbh->prepare("delete from categories where categorycode=?");
+
+ $sth->execute($categorycode);
+ $sth->finish;
+
+ print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=categorie.pl\"></html>";
+ exit;
+
+ # END $OP eq DELETE_CONFIRMED
+}
+else { # DEFAULT
+ $template->param( else => 1 );
+ my @loop;
+ my ( $count, $results ) = StringSearch( $searchfield, 'web' );
+
+ my $dbh = C4::Context->dbh;
+ my $sth = $dbh->prepare("
+ SELECT b.branchcode, b.branchname
+ FROM categories_branches AS cb, branches AS b
+ WHERE cb.branchcode = b.branchcode AND cb.categorycode = ?
+ ");
+
+ for ( my $i = 0 ; $i < $count ; $i++ ) {
+ $sth->execute( $results->[$i]{'categorycode'} );
+
+ my @selected_branches;
+ while ( my $branch = $sth->fetchrow_hashref ) {
+ push @selected_branches, $branch;
+ }
+
+ my $enrolmentperioddate = $results->[$i]{'enrolmentperioddate'};
+ if ( $enrolmentperioddate && $enrolmentperioddate eq '0000-00-00' ) {
+ $enrolmentperioddate = undef;
+ }
+
+ $results->[$i]{'category_type'} //= '';
+
+ my %row = (
+ branches => \@selected_branches,
+ categorycode => $results->[$i]{'categorycode'},
+ description => $results->[$i]{'description'},
+ enrolmentperiod => $results->[$i]{'enrolmentperiod'},
+ enrolmentperioddate => $enrolmentperioddate,
+ upperagelimit => $results->[$i]{'upperagelimit'},
+ dateofbirthrequired => $results->[$i]{'dateofbirthrequired'},
+ overduenoticerequired => $results->[$i]{'overduenoticerequired'},
+ issuelimit => $results->[$i]{'issuelimit'},
+ hidelostitems => $results->[$i]{'hidelostitems'},
+ category_type => $results->[$i]{'category_type'},
+ default_privacy => $results->[$i]{'default_privacy'},
+ reservefee => sprintf( "%.2f", $results->[$i]{'reservefee'} || 0 ),
+ enrolmentfee =>
+ sprintf( "%.2f", $results->[$i]{'enrolmentfee'} || 0 ),
+ "type_" . $results->[$i]{'category_type'} => 1,
+ );
+
+ if ( C4::Context->preference('EnhancedMessagingPreferences') ) {
+ my $brief_prefs =
+ _get_brief_messaging_prefs( $results->[$i]{'categorycode'} );