=cut
use strict;
+use warnings;
use CGI;
use C4::Auth;
use C4::Context;
use C4::Output;
-use C4::Interface::CGI::Output;
use C4::Koha;
use C4::Branch;
my $categorycode = $input->param('categorycode');
my $op = $input->param('op');
+if(!defined($op)){
+ $op = '';
+}
+
my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
{
template_name => "admin/branches.tmpl",
default("MESSAGE1",$template);
}
else {
- ModBranch($params);
- $template->param( else => 1 );
- default("MESSAGE2",$template);
+ my $error = ModBranch($params);
+ # if error saving, stay on edit and rise error
+ if ($error) {
+ # copy input parameters back to form
+ # FIXME - doing this doesn't preserve any branch group selections, but good enough for now
+ $template->param(%$params);
+ $template->param(branch_name => $params->{branchname});
+ $template->param( 'heading-branches-add-branch-p' => 1, 'add' => 1, "ERROR$error" => 1 );
+ } else {
+ $template->param( else => 1);
+ default("MESSAGE2",$template);
+ }
}
}
elsif ( $op eq 'delete' ) {
elsif ( $op eq 'categorydelete_confirmed' ) {
# actually delete branch and return to the main screen....
- DeleteBranchCategory($categorycode);
+ DelBranchCategory($categorycode);
$template->param( else => 1 );
default("MESSAGE6",$template);
sub editbranchform {
my ($branchcode,$innertemplate) = @_;
# initiate the scrolling-list to select the printers
- my %env;
- my $printers = GetPrinters( \%env );
+ my $printers = GetPrinters();
my @printerloop;
my $printercount = 0;
my $oldprinter;
# printer loop
foreach my $thisprinter ( keys %$printers ) {
+
my $selected = 1
- if $oldprinter eq $printers->{$thisprinter}->{'printqueue'};
+ if $oldprinter and ( $oldprinter eq $printers->{$thisprinter} );
+
my %row = (
value => $thisprinter,
selected => $selected,
{
categoryname => $cat->{'categoryname'},
categorycode => $cat->{'categorycode'},
+ categorytype => $cat->{'categorytype'},
codedescription => $cat->{'codedescription'},
checked => $checked,
};
my ($categorycode,$innertemplate) = @_;
warn "cat : $categorycode";
my $data;
- if ($categorycode) {
+ my @cats;
+ $innertemplate->param( categorytype => \@cats);
+ if ($categorycode) {
$data = GetBranchCategory($categorycode);
$data = $data->[0];
- $innertemplate->param( categorycode => $data->{'categorycode'} );
- $innertemplate->param( categoryname => $data->{'categoryname'} );
- $innertemplate->param( codedescription => $data->{'codedescription'} );
+ $innertemplate->param( categorycode => $data->{'categorycode'} ,
+ categoryname => $data->{'categoryname'},
+ codedescription => $data->{'codedescription'} ,
+ );
}
+ for my $ctype (GetCategoryTypes()) {
+ push @cats , { type => $ctype , selected => ($data->{'categorytype'} eq $ctype) };
+ }
}
sub deleteconfirm {
$branchinfo = GetBranchInfo();
}
my $toggle;
- my $i;
+ my $i = 0;
my @loop_data = ();
foreach my $branch (@$branchinfo) {
( $i % 2 ) ? ( $toggle = 1 ) : ( $toggle = 0 );
# Handle categories
my $no_categories_p = 1;
- my @categories = '';
+ my @categories;
foreach my $cat ( @{ $branch->{'categories'} } ) {
my ($catinfo) = @{ GetBranchCategory($cat) };
push @categories, { 'categoryname' => $catinfo->{'categoryname'} };
$i++;
}
my @branchcategories = ();
- my $catinfo = GetBranchCategory();
- $i = 0;
- foreach my $cat (@$catinfo) {
- ( $i % 2 ) ? ( $toggle = 1 ) : ( $toggle = 0 );
- push @branchcategories,
- {
- toggle => $toggle,
- categoryname => $cat->{'categoryname'},
- categorycode => $cat->{'categorycode'},
- codedescription => $cat->{'codedescription'},
- };
- $i++;
- }
-
+ for my $ctype ( GetCategoryTypes() ) {
+ my $catinfo = GetBranchCategories(undef,$ctype);
+ my @categories;
+ foreach my $cat (@$catinfo) {
+ push @categories,
+ {
+ categoryname => $cat->{'categoryname'},
+ categorycode => $cat->{'categorycode'},
+ codedescription => $cat->{'codedescription'},
+ categorytype => $cat->{'categorytype'},
+ };
+ }
+ push @branchcategories, { categorytype => $ctype , $ctype => 1 , catloop => \@categories};
+ }
$innertemplate->param(
branches => \@loop_data,
branchcategories => \@branchcategories
}
-# FIXME logic seems wrong
+# FIXME logic seems wrong ## sub is not used.
sub branchcategoriestable {
my $innertemplate = shift;
#Needs to be implemented...
}
}
-$template->param(
- intranetcolorstylesheet =>
- C4::Context->preference("intranetcolorstylesheet"),
- intranetstylesheet => C4::Context->preference("intranetstylesheet"),
- IntranetNav => C4::Context->preference("IntranetNav"),
-);
output_html_with_http_headers $input, $cookie, $template->output;
# Local Variables: