Bug 26265: (QA follow-up) Remove g option from regex, add few dirs
[koha.git] / admin / items_search_fields.pl
1 #!/usr/bin/perl
2 # Copyright 2013 BibLibre
3 #
4 # This file is part of Koha
5 #
6 # Koha is free software; you can redistribute it and/or modify it under the
7 # terms of the GNU General Public License as published by the Free Software
8 # Foundation; either version 3 of the License, or (at your option) any later
9 # version.
10 #
11 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
12 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License along
16 # with Koha; if not, write to the Free Software Foundation, Inc.,
17 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18
19 use Modern::Perl;
20 use CGI;
21
22 use C4::Auth;
23 use C4::Output;
24
25 use Koha::Item::Search::Field qw(AddItemSearchField GetItemSearchFields DelItemSearchField);
26
27 my $cgi = new CGI;
28
29 my ($template, $borrowernumber, $cookie) = get_template_and_user({
30     template_name => 'admin/items_search_fields.tt',
31     query => $cgi,
32     type => 'intranet',
33     authnotrequired => 0,
34     flagsrequired   => { parameters => 'manage_item_search_fields' },
35 });
36
37 my $op = $cgi->param('op') || '';
38
39 if ($op eq 'add') {
40     my %vars = $cgi->Vars;
41     my $field;
42     my @params = qw(name label tagfield tagsubfield authorised_values_category);
43     @$field{@params} = @vars{@params};
44     if ( $field->{authorised_values_category} eq '' ) {
45         $field->{authorised_values_category} = undef;
46     }
47     $field = AddItemSearchField($field);
48     if ($field) {
49         $template->param(field_added => $field);
50     } else {
51         $template->param(field_not_added => 1);
52     }
53 } elsif ($op eq 'del') {
54     my $name = $cgi->param('name');
55     my $rv = DelItemSearchField($name);
56     if ($rv) {
57         $template->param(field_deleted => 1);
58     } else {
59         $template->param(field_not_deleted => 1);
60     }
61 } else {
62     my $updated = $cgi->param('updated');
63     if (defined $updated) {
64         if ($updated) {
65             $template->param(field_updated => 1);
66         } else {
67             $template->param(field_not_updated => 1);
68         }
69     }
70 }
71
72 my @fields = GetItemSearchFields();
73
74 $template->param(
75     fields => \@fields,
76 );
77
78 output_html_with_http_headers $cgi, $cookie, $template->output;