(bug #4043) fix checkoverdues sqlquery
[koha.git] / members / update-child.pl
index 149cb8c..cdfc5ff 100755 (executable)
@@ -33,7 +33,7 @@ use C4::Auth;
 use C4::Output;
 use C4::Members;
 
-use Smart::Comments;
+use Smart::Comments;
 
 my $dbh   = C4::Context->dbh;
 my $input = new CGI;
@@ -52,11 +52,14 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 my $borrowernumber = $input->param('borrowernumber');
 my $catcode        = $input->param('catcode');
 my $cattype        = $input->param('cattype');
+my $catcode_multi = $input->param('catcode_multi');
 my $op             = $input->param('op');
 
 if ( $op eq 'multi' ) {
     my ( $catcodes, $labels ) =
-      GetborCatFromCatType( 'C', 'WHERE category_type <> ?' );
+               # FIXME - what are the possible upgrade paths?  C -> A , C -> S ...
+               #   currently just allowing C -> A because of limitation of API.
+      GetborCatFromCatType( 'A', 'WHERE category_type = ?' );
     my @rows;
     foreach my $k ( keys %$labels ) {
         my $row;
@@ -68,6 +71,7 @@ if ( $op eq 'multi' ) {
     }
     $template->param(
         MULTI          => 1,
+        CATCODE_MULTI          => 1,
         borrowernumber => $borrowernumber,
         CAT_LOOP       => \@rows,
     );
@@ -82,10 +86,15 @@ elsif ( $op eq 'update' ) {
     $member->{'category_type'} = $borcat->{'category_type'};
     $member->{'description'}   = $borcat->{'description'};
     ModMember(%$member);
-    $template->param(
-        SUCCESS        => 1,
-        borrowernumber => $borrowernumber,
-    );
-    output_html_with_http_headers $input, $cookie, $template->output;
+
+    if (  $catcode_multi ) {
+        $template->param(
+                SUCCESS        => 1,
+                borrowernumber => $borrowernumber,
+                );
+        output_html_with_http_headers $input, $cookie, $template->output;
+    } else {
+        print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$borrowernumber");
+    }
 }