ed0ff8577abff0500a4abee69701731defce7875
[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
7 # under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # Koha is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with Koha; if not, see <http://www.gnu.org/licenses>.
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;