Bug 20287: Move ModMember to Koha::Patron
[koha.git] / tools / batch_record_modification.pl
index f96ec5d..bfdb758 100755 (executable)
@@ -25,11 +25,13 @@ use List::MoreUtils qw( uniq );
 
 use C4::Auth qw( get_template_and_user );
 use C4::Output qw( output_html_with_http_headers );
-use C4::AuthoritiesMarc qw( BuildSummary GetAuthTypeCode ModAuthority );
+use C4::AuthoritiesMarc qw( BuildSummary ModAuthority );
 use C4::BackgroundJob;
 use C4::Biblio qw( GetMarcBiblio ModBiblio );
 use C4::MarcModificationTemplates qw( GetModificationTemplateActions GetModificationTemplates ModifyRecordWithTemplate );
-use Koha::Authority;
+
+use Koha::Biblios;
+use Koha::MetadataRecord::Authority;
 
 my $input = new CGI;
 our $dbh = C4::Context->dbh;
@@ -44,7 +46,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
         query => $input,
         type => "intranet",
         authnotrequired => 0,
-        flagsrequired => { tools => 'biblio_batchmod' },
+        flagsrequired => { tools => 'records_batchmod' },
 });
 
 
@@ -116,7 +118,7 @@ if ( $op eq 'form' ) {
     for my $record_id ( uniq @record_ids ) {
         if ( $recordtype eq 'biblio' ) {
             # Retrieve biblio information
-            my $biblio = C4::Biblio::GetBiblio( $record_id );
+            my $biblio = Koha::Biblios->find( $record_id );
             unless ( $biblio ) {
                 push @messages, {
                     type => 'warning',
@@ -128,7 +130,7 @@ if ( $op eq 'form' ) {
             push @records, $biblio;
         } else {
             # Retrieve authority information
-            my $authority = Koha::Authority->get_from_authid( $record_id );
+            my $authority = Koha::MetadataRecord::Authority->get_from_authid( $record_id );
             unless ( $authority ) {
                 push @messages, {
                     type => 'warning',
@@ -151,7 +153,7 @@ if ( $op eq 'form' ) {
     );
 } elsif ( $op eq 'modify' ) {
     # We want to modify selected records!
-    my @record_ids = $input->param('record_id');
+    my @record_ids = $input->multi_param('record_id');
 
     my ( $job );
     if ( $runinbackground ) {
@@ -189,7 +191,7 @@ if ( $op eq 'form' ) {
 
             # Finally, modify the biblio
             my $error = eval {
-                my $record = GetMarcBiblio( $biblionumber );
+                my $record = GetMarcBiblio({ biblionumber => $biblionumber });
                 ModifyRecordWithTemplate( $mmtid, $record );
                 my $frameworkcode = C4::Biblio::GetFrameworkCode( $biblionumber );
                 ModBiblio( $record, $biblionumber, $frameworkcode );
@@ -213,10 +215,10 @@ if ( $op eq 'form' ) {
             # Authorities
             my $authid = $record_id;
             my $error = eval {
-                my $authority = Koha::Authority->get_from_authid( $authid );
+                my $authority = Koha::MetadataRecord::Authority->get_from_authid( $authid );
                 my $record = $authority->record;
                 ModifyRecordWithTemplate( $mmtid, $record );
-                ModAuthority( $authid, $record, GetAuthTypeCode( $authid ) );
+                ModAuthority( $authid, $record, $authority->authtypecode );
             };
             if ( $error and $error != $authid or $@ ) {
                 push @messages, {