ffzg/recall_notices.pl: added --interval and --dedup
[koha.git] / admin / marc_subfields_structure.pl
index 9b478fa..2519649 100755 (executable)
@@ -75,7 +75,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { parameters => 'parameters_remaining_permissions' },
+        flagsrequired   => { parameters => 'manage_marc_frameworks' },
         debug           => 1,
     }
 );
@@ -172,7 +172,7 @@ if ( $op eq 'add_form' ) {
         $row_data{maxlength}         = $data->{maxlength};
         $row_data{tab}               = $data->{tab};
         $row_data{tagsubfield}       = $data->{tagsubfield};
-        $row_data{subfieldcode}      = $data->{'tagsubfield'} eq '@' ? '_' : $data->{'tagsubfield'};
+        $row_data{subfieldcode}      = $data->{'tagsubfield'};
         $row_data{urisubfieldcode}   = $row_data{subfieldcode} eq '%' ? 'pct' : $row_data{subfieldcode};
         $row_data{liblibrarian}      = $data->{'liblibrarian'};
         $row_data{libopac}           = $data->{'libopac'};
@@ -263,7 +263,6 @@ elsif ( $op eq 'add_validate' ) {
         my $tagfield    = $input->param('tagfield');
         my $tagsubfield = $tagsubfield[$i];
         $tagsubfield = "@" unless $tagsubfield ne '';
-        $tagsubfield = "@" if $tagsubfield eq '_';
         my $liblibrarian     = $liblibrarian[$i];
         my $libopac          = $libopac[$i];
         my $repeatable       = $input->param("repeatable$i") ? 1 : 0;
@@ -281,61 +280,58 @@ elsif ( $op eq 'add_validate' ) {
         my $maxlength = $maxlength[$i] ? $maxlength[$i] : 9999;
         
         if (defined($liblibrarian) && $liblibrarian ne "") {
-            my $is_demo = C4::Context->config('demo') || '';
-            if ( $is_demo ne '1' ) {
-                if (marc_subfield_structure_exists($tagfield, $tagsubfield, $frameworkcode)) {
-                    $sth_update->execute(
+            if (marc_subfield_structure_exists($tagfield, $tagsubfield, $frameworkcode)) {
+                $sth_update->execute(
+                    $tagfield,
+                    $tagsubfield,
+                    $liblibrarian,
+                    $libopac,
+                    $repeatable,
+                    $mandatory,
+                    $kohafield,
+                    $tab,
+                    $seealso,
+                    $authorised_value,
+                    $authtypecode,
+                    $value_builder,
+                    $hidden,
+                    $isurl,
+                    $frameworkcode,
+                    $link,
+                    $defaultvalue,
+                    $maxlength,
+                    (
                         $tagfield,
                         $tagsubfield,
-                        $liblibrarian,
-                        $libopac,
-                        $repeatable,
-                        $mandatory,
-                        $kohafield,
-                        $tab,
-                        $seealso,
-                        $authorised_value,
-                        $authtypecode,
-                        $value_builder,
-                        $hidden,
-                        $isurl,
                         $frameworkcode,
-                        $link,
-                        $defaultvalue,
-                        $maxlength,
-                        (
-                            $tagfield,
-                            $tagsubfield,
-                            $frameworkcode,
-                        ),
-                    );
-                } else {
-                    if( $frameworkcode ne q{} ) {
-                        # BZ 19096: Overwrite kohafield from Default when adding a new record
-                         my $rec = Koha::MarcSubfieldStructures->find( q{}, $tagfield, $tagsubfield );
-                        $kohafield = $rec->kohafield if $rec;
-                    }
-                    $sth_insert->execute(
-                        $tagfield,
-                        $tagsubfield,
-                        $liblibrarian,
-                        $libopac,
-                        $repeatable,
-                        $mandatory,
-                        $kohafield,
-                        $tab,
-                        $seealso,
-                        $authorised_value,
-                        $authtypecode,
-                        $value_builder,
-                        $hidden,
-                        $isurl,
-                        $frameworkcode,
-                        $link,
-                        $defaultvalue,
-                        $maxlength,
-                    );
+                    )
+                );
+            } else {
+                if( $frameworkcode ne q{} ) {
+                    # BZ 19096: Overwrite kohafield from Default when adding a new record
+                     my $rec = Koha::MarcSubfieldStructures->find( q{}, $tagfield, $tagsubfield );
+                    $kohafield = $rec->kohafield if $rec;
                 }
+                $sth_insert->execute(
+                    $tagfield,
+                    $tagsubfield,
+                    $liblibrarian,
+                    $libopac,
+                    $repeatable,
+                    $mandatory,
+                    $kohafield,
+                    $tab,
+                    $seealso,
+                    $authorised_value,
+                    $authtypecode,
+                    $value_builder,
+                    $hidden,
+                    $isurl,
+                    $frameworkcode,
+                    $link,
+                    $defaultvalue,
+                    $maxlength,
+                );
             }
         }
     }
@@ -378,15 +374,12 @@ elsif ( $op eq 'delete_confirm' ) {
 }
 elsif ( $op eq 'delete_confirmed' ) {
     my $dbh = C4::Context->dbh;
-    my $is_demo = C4::Context->config('demo') || '';
-    if ( $is_demo ne '1' ) {
-        my $sth =
-          $dbh->prepare(
+    my $sth =
+      $dbh->prepare(
 "delete from marc_subfield_structure where tagfield=? and tagsubfield=? and frameworkcode=?"
-          );
-        $sth->execute( $tagfield, $tagsubfield, $frameworkcode );
-        $sth->finish;
-    }
+      );
+    $sth->execute( $tagfield, $tagsubfield, $frameworkcode );
+    $sth->finish;
     $cache->clear_from_cache("MarcStructure-0-$frameworkcode");
     $cache->clear_from_cache("MarcStructure-1-$frameworkcode");
     $cache->clear_from_cache("default_value_for_mod_marc-");