Fix for Bug 1955: Remove noOPACUserLogin system preference
[koha.git] / admin / auth_tag_structure.pl
index 5ad9d20..88bc762 100755 (executable)
@@ -24,10 +24,8 @@ use C4::Auth;
 use C4::Koha;
 use C4::Context;
 use C4::Output;
-use C4::Interface::CGI::Output;
-use C4::Search;
 use C4::Context;
-use HTML::Template;
+
 
 # retrieve parameters
 my $input = new CGI;
@@ -96,7 +94,7 @@ $template->param(script_name => $script_name,
 $template->param(script_name => $script_name,
                                                else              => 1); # we show only the TMPL_VAR names $op
 }
-
 ################## ADD_FORM ##################################
 # called by default. Used to create form to add or  modify a record
 if ($op eq 'add_form') {
@@ -116,6 +114,7 @@ if ($op eq 'add_form') {
                push @authorised_values, $category;
        }
        my $authorised_value  = CGI::scrolling_list(-name=>'authorised_value',
+               -id=>'authorised_value',
                        -values=> \@authorised_values,
                        -size=>1,
                        -tabindex=>'',
@@ -135,8 +134,8 @@ if ($op eq 'add_form') {
        $template->param('use-heading-flags-p' => 1);
        $template->param(liblibrarian => $data->{'liblibrarian'},
                                                        libopac => $data->{'libopac'},
-                                                       repeatable => CGI::checkbox('repeatable',$data->{'repeatable'}?'checked':'',1,''),
-                                                       mandatory => CGI::checkbox('mandatory',$data->{'mandatory'}?'checked':'',1,''),
+                                                       repeatable => "".$data->{'repeatable'},
+                                                       mandatory => "".$data->{'mandatory'},
                                                        authorised_value => $authorised_value,
                                                        authtypecode => $authtypecode,
                                                        );
@@ -144,25 +143,47 @@ if ($op eq 'add_form') {
 ################## ADD_VALIDATE ##################################
 # called by add_form, used to insert/modify data in DB
 } elsif ($op eq 'add_validate') {
-       $sth=$dbh->prepare("replace auth_tag_structure (tagfield,liblibrarian,libopac,repeatable,mandatory,authorised_value,authtypecode) values (?,?,?,?,?,?,?)");
-       my $tagfield       =$input->param('tagfield');
-       my $liblibrarian  = $input->param('liblibrarian');
-       my $libopac       =$input->param('libopac');
-       my $repeatable =$input->param('repeatable');
-       my $mandatory =$input->param('mandatory');
-       my $authorised_value =$input->param('authorised_value');
-       unless (C4::Context->config('demo') eq 1) {
-               $sth->execute($tagfield,
-                                               $liblibrarian,
-                                               $libopac,
-                                               $repeatable?1:0,
-                                               $mandatory?1:0,
-                                               $authorised_value,
-                                               $authtypecode
-                                               );
-       }
-       $sth->finish;
-       print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=auth_tag_structure.pl?tagfield=$tagfield&authtypecode=$authtypecode\"></html>";
+    if ($input->param('modif')) {
+        $sth=$dbh->prepare("UPDATE auth_tag_structure SET tagfield=?, liblibrarian=?, libopac=?, repeatable=?, mandatory=?, authorised_value=? WHERE authtypecode=? AND tagfield=?");
+        my $tagfield       =$input->param('tagfield');
+        my $liblibrarian  = $input->param('liblibrarian');
+        my $libopac       =$input->param('libopac');
+        my $repeatable =$input->param('repeatable');
+        my $mandatory =$input->param('mandatory');
+        my $authorised_value =$input->param('authorised_value');
+        unless (C4::Context->config('demo') eq 1) {
+            $sth->execute(
+                            $liblibrarian,
+                            $libopac,
+                            $repeatable?1:0,
+                            $mandatory?1:0,
+                            $authorised_value,
+                            $authtypecode,
+                            $tagfield,
+                            );
+        }
+        $sth->finish;
+    } else {
+        $sth=$dbh->prepare("INSERT INTO auth_tag_structure (tagfield,liblibrarian,libopac,repeatable,mandatory,authorised_value,authtypecode) VALUES (?,?,?,?,?,?,?)");
+        my $tagfield       =$input->param('tagfield');
+        my $liblibrarian  = $input->param('liblibrarian');
+        my $libopac       =$input->param('libopac');
+        my $repeatable =$input->param('repeatable');
+        my $mandatory =$input->param('mandatory');
+        my $authorised_value =$input->param('authorised_value');
+        unless (C4::Context->config('demo') eq 1) {
+            $sth->execute($tagfield,
+                            $liblibrarian,
+                            $libopac,
+                            $repeatable?1:0,
+                            $mandatory?1:0,
+                            $authorised_value,
+                            $authtypecode
+                            );
+        }
+        $sth->finish;
+    }
+       print "Content-Type: text/html\n\n<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=auth_tag_structure.pl?searchfield=".$input->param('tagfield')."&authtypecode=$authtypecode\">";
        exit;
                                                                                                        # END $OP eq ADD_VALIDATE
 ################## DELETE_CONFIRM ##################################
@@ -209,8 +230,7 @@ if ($op eq 'add_form') {
        if  ($searchfield ne '') {
                 $template->param(searchfield => $searchfield);
        }
-       my $env;
-       my ($count,$results)=StringSearch($env,$searchfield,$authtypecode);
+       my ($count,$results)=StringSearch($searchfield,$authtypecode);
        my $toggle=1;
        my @loop_data = ();
        for (my $i=$offset; $i < ($offset+$pagesize<$count?$offset+$pagesize:$count); $i++){
@@ -225,9 +245,9 @@ if ($op eq 'add_form') {
                $row_data{repeatable} = $results->[$i]{'repeatable'};
                $row_data{mandatory} = $results->[$i]{'mandatory'};
                $row_data{authorised_value} = $results->[$i]{'authorised_value'};
-               $row_data{subfield_link} ="auth_subfields_structure.pl?tagfield=".$results->[$i]{'tagfield'}."&authtypecode=".$authtypecode;
-               $row_data{edit} = "$script_name?op=add_form&amp;searchfield=".$results->[$i]{'tagfield'}."&authtypecode=".$authtypecode;
-               $row_data{delete} = "$script_name?op=delete_confirm&amp;searchfield=".$results->[$i]{'tagfield'}."&authtypecode=".$authtypecode;
+               $row_data{subfield_link} ="auth_subfields_structure.pl?tagfield=".$results->[$i]{'tagfield'}."&amp;authtypecode=".$authtypecode;
+               $row_data{edit} = "$script_name?op=add_form&amp;searchfield=".$results->[$i]{'tagfield'}."&amp;authtypecode=".$authtypecode;
+               $row_data{delete} = "$script_name?op=delete_confirm&amp;searchfield=".$results->[$i]{'tagfield'}."&amp;authtypecode=".$authtypecode;
                $row_data{toggle} = $toggle;
                push(@loop_data, \%row_data);
        }
@@ -252,9 +272,6 @@ if ($op eq 'add_form') {
 } #---- END $OP eq DEFAULT
 
 $template->param(loggeninuser => $loggedinuser,
-               intranetcolorstylesheet => C4::Context->preference("intranetcolorstylesheet"),
-               intranetstylesheet => C4::Context->preference("intranetstylesheet"),
-               IntranetNav => C4::Context->preference("IntranetNav"),
                );
 
 output_html_with_http_headers $input, $cookie, $template->output;
@@ -264,7 +281,7 @@ output_html_with_http_headers $input, $cookie, $template->output;
 # the sub used for searches
 #
 sub StringSearch  {
-       my ($env,$searchstring,$authtypecode)=@_;
+       my ($searchstring,$authtypecode)=@_;
        my $dbh = C4::Context->dbh;
        $searchstring=~ s/\'/\\\'/g;
        my @data=split(' ',$searchstring);