Bug 20805: Update child to adult patron process broken on several patron-related...
[koha.git] / members / nl-search.pl
index 08f3a04..2ff2177 100755 (executable)
@@ -37,7 +37,6 @@ See http://www.lanekortet.no/ for more information (in Norwegian).
 use Modern::Perl;
 use CGI;
 use C4::Auth;
-use C4::Category;
 use C4::Context;
 use C4::Output;
 use C4::Members;
@@ -46,6 +45,7 @@ use C4::Utils::DataTables::Members;
 use Koha::NorwegianPatronDB qw( NLCheckSysprefs NLSearch NLDecodePin NLGetFirstname NLGetSurname NLSync );
 use Koha::Database;
 use Koha::DateUtils;
+use Koha::Patron::Categories;
 
 my $cgi = CGI->new;
 my $dbh = C4::Context->dbh;
@@ -57,7 +57,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         query           => $cgi,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { borrowers => 1 },
+        flagsrequired   => { borrowers => 'edit_borrowers' },
         debug           => 1,
     }
 );
@@ -92,11 +92,10 @@ if ( $op && $op eq 'search' ) {
             my $result = NLSearch( $identifier );
             unless ($result->fault) {
                 my $r = $result->result();
-                # Send the data to the template
-                my @categories = C4::Category->all;
+                my $categories = Koha::Patron::Categories->search_limited;
                 $template->param(
                     'result'     => $r,
-                    'categories' => \@categories,
+                    'categories' => $categories,
                 );
             } else {
                 $template->param( 'error' => join ', ', $result->faultcode, $result->faultstring, $result->faultdetail );
@@ -111,36 +110,36 @@ if ( $op && $op eq 'search' ) {
     my %borrower = (
         'surname'      => NLGetSurname( $cgi->param('navn') ),
         'firstname'    => NLGetFirstname( $cgi->param('navn') ),
-        'sex'          => $cgi->param('kjonn'),
-        'dateofbirth'  => $cgi->param('fdato'),
-        'cardnumber'   => $cgi->param('lnr'),
-        'userid'       => $cgi->param('lnr'),
-        'address'      => $cgi->param('p_adresse1'),
-        'address2'     => $cgi->param('p_adresse2'),
-        'zipcode'      => $cgi->param('p_postnr'),
-        'city'         => $cgi->param('p_sted'),
-        'country'      => $cgi->param('p_land'),
-        'B_address'    => $cgi->param('m_adresse1'),
-        'B_address2'   => $cgi->param('m_adresse2'),
-        'B_zipcode'    => $cgi->param('m_postnr'),
-        'B_city'       => $cgi->param('m_sted'),
-        'B_country'    => $cgi->param('m_land'),
+        'sex'          => scalar $cgi->param('kjonn'),
+        'dateofbirth'  => scalar $cgi->param('fdato'),
+        'cardnumber'   => scalar $cgi->param('lnr'),
+        'userid'       => scalar $cgi->param('lnr'),
+        'address'      => scalar $cgi->param('p_adresse1'),
+        'address2'     => scalar $cgi->param('p_adresse2'),
+        'zipcode'      => scalar $cgi->param('p_postnr'),
+        'city'         => scalar $cgi->param('p_sted'),
+        'country'      => scalar $cgi->param('p_land'),
+        'B_address'    => scalar $cgi->param('m_adresse1'),
+        'B_address2'   => scalar $cgi->param('m_adresse2'),
+        'B_zipcode'    => scalar $cgi->param('m_postnr'),
+        'B_city'       => scalar $cgi->param('m_sted'),
+        'B_country'    => scalar $cgi->param('m_land'),
         'password'     => NLDecodePin( $cgi->param('pin') ),
-        'dateexpiry'   => $cgi->param('gyldig_til'),
-        'email'        => $cgi->param('epost'),
-        'mobile'       => $cgi->param('tlf_mobil'),
-        'phone'        => $cgi->param('tlf_hjemme'),
-        'phonepro'     => $cgi->param('tlf_jobb'),
+        'dateexpiry'   => scalar $cgi->param('gyldig_til'),
+        'email'        => scalar $cgi->param('epost'),
+        'mobile'       => scalar $cgi->param('tlf_mobil'),
+        'phone'        => scalar $cgi->param('tlf_hjemme'),
+        'phonepro'     => scalar $cgi->param('tlf_jobb'),
         'branchcode'   => $userenv->{'branch'},
-        'categorycode' => $cgi->param('categorycode'),
+        'categorycode' => scalar $cgi->param('categorycode'),
     );
     # Add the new patron
     my $borrowernumber = &AddMember(%borrower);
     if ( $borrowernumber ) {
         # Add extended patron attributes
         SetBorrowerAttributes($borrowernumber, [
-            { code => 'fnr', value => $cgi->param('fnr_hash') },
-        ] );
+            { code => 'fnr', value => scalar $cgi->param('fnr_hash') },
+        ], 'no_branch_limit' );
         # Override the default sync data created by AddMember
         my $borrowersync = Koha::Database->new->schema->resultset('BorrowerSync')->find({
             'synctype'       => 'norwegianpatrondb',