[followup](bug #4051) add borrower "title", and complete address in csv
[koha.git] / admin / branches.pl
index fecc030..f2bc827 100755 (executable)
@@ -44,6 +44,7 @@ FIXME: looped html (e.g., list of checkboxes) need to be properly
 =cut
 
 use strict;
+use warnings;
 use CGI;
 use C4::Auth;
 use C4::Context;
@@ -63,6 +64,10 @@ my $branchname   = $input->param('branchname');
 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",
@@ -109,9 +114,18 @@ elsif ( $op eq 'add_validate' ) {
         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' ) {
@@ -226,8 +240,10 @@ sub editbranchform {
 
         #      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,
@@ -335,10 +351,10 @@ sub branchinfotable {
         $branchinfo = GetBranchInfo($branchcode);
     }
     else {
-        $branchinfo = GetBranchInfo(undef,'properties');
+        $branchinfo = GetBranchInfo();
     }
     my $toggle;
-    my $i;
+    my $i = 0;
     my @loop_data = ();
     foreach my $branch (@$branchinfo) {
         ( $i % 2 ) ? ( $toggle = 1 ) : ( $toggle = 0 );