Bug 12784: Patron cannot change his personal details
authorYohann Dufour <dufour.yohann@gmail.com>
Tue, 19 Aug 2014 09:02:47 +0000 (11:02 +0200)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Thu, 21 Aug 2014 12:36:19 +0000 (09:36 -0300)
This patch fixes the regression introduced by the bug 12623 : a patron cannot change his personal details from OPAC.

Test plans :
In order to test this patch, first you have to apply the patch of bug 12781

a1/ Login with a user in OPAC
a2/ Request some modification (surname for example)
a3/ Repeat 2/
a4/ There are no errors

b1/ Register a new user from OPAC with the syspref :
PatronSelfRegistrationVerifyByEmail with the value "Require"
b2/ There are no errors

Followed test plan. Patch behaves as expected.
Signed-off-by: Marc VĂ©ron <veron@veron.ch>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Patch works as expected, passes tests and QA script.

Note: The second patron modification request
of one patron will overwrite his/her first request.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Koha/Borrower/Modifications.pm

index 00083fb..d015655 100644 (file)
@@ -51,16 +51,18 @@ sub AddModifications {
     if( $self->{borrowernumber} ) {
         return if( not keys %$data );
         $data->{borrowernumber} = $self->{borrowernumber};
+        $data->{verification_token} = '';
     }
     elsif( $self->{verification_token} ) {
         $data->{verification_token} = $self->{verification_token};
+        $data->{borrowernumber} = 0;
     }
     else {
         return;
     }
 
     my $rs = Koha::Database->new()->schema->resultset('BorrowerModification');
-    return $rs->update_or_create($data);
+    return $rs->update_or_create($data, { key => 'primary' } );
 }
 
 =head2 Verify