2 # This file is part of Koha.
4 # Copyright 2010 Kyle M Hall <kyle.m.hall@gmail.com>
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.
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.
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>.
26 use C4
::MarcModificationTemplates
;
30 my $op = $cgi->param('op') || q{};
31 my $template_id = $cgi->param('template_id');
33 my ($template, $loggedinuser, $cookie)
34 = get_template_and_user
({
35 template_name
=> "tools/marc_modification_templates.tt",
38 flagsrequired
=> { tools
=> 'marc_modification_templates' },
42 if ( $op eq "create_template" ) {
43 $template_id = '' unless $cgi->param('duplicate_current_template');
44 $template_id = AddModificationTemplate
( scalar $cgi->param('template_name'), $template_id );
46 } elsif ( $op eq "delete_template" ) {
48 DelModificationTemplate
( $template_id );
51 } elsif ( $op eq "add_action" ) {
53 my $mmta_id = $cgi->param('mmta_id');
54 my $action = $cgi->param('action');
55 my $field_number = $cgi->param('field_number');
56 my $from_field = $cgi->param('from_field');
57 my $from_subfield = $cgi->param('from_subfield');
58 my $field_value = $cgi->param('field_value');
59 my $to_field = $cgi->param('to_field');
60 my $to_subfield = $cgi->param('to_subfield');
61 my $to_regex_search = $cgi->param('to_regex_search');
62 my $to_regex_replace = $cgi->param('to_regex_replace');
63 my $to_regex_modifiers = $cgi->param('to_regex_modifiers');
64 my $conditional = $cgi->param('conditional');
65 my $conditional_field = $cgi->param('conditional_field');
66 my $conditional_subfield = $cgi->param('conditional_subfield');
67 my $conditional_comparison = $cgi->param('conditional_comparison');
68 my $conditional_value = $cgi->param('conditional_value');
69 my $conditional_regex = ( $cgi->param('conditional_regex') eq 'on' ) ?
1 : 0;
70 my $description = $cgi->param('description');
74 AddModificationTemplateAction
(
75 $template_id, $action,
76 $field_number, $from_field,
77 $from_subfield, $field_value,
78 $to_field, $to_subfield,
79 $to_regex_search, $to_regex_replace,
80 $to_regex_modifiers, $conditional,
81 $conditional_field, $conditional_subfield,
82 $conditional_comparison, $conditional_value,
83 $conditional_regex, $description
87 ModModificationTemplateAction
(
89 $field_number, $from_field,
90 $from_subfield, $field_value,
91 $to_field, $to_subfield,
92 $to_regex_search, $to_regex_replace,
93 $to_regex_modifiers, $conditional,
94 $conditional_field, $conditional_subfield,
95 $conditional_comparison, $conditional_value,
96 $conditional_regex, $description
101 $template->param( error
=> 'no_from_field' );
104 } elsif ( $op eq "delete_action" ) {
105 DelModificationTemplateAction
( scalar $cgi->param('mmta_id') );
107 } elsif ( $op eq "move_action" ) {
109 MoveModificationTemplateAction
( scalar $cgi->param('mmta_id'), scalar $cgi->param('where') );
113 my @templates = GetModificationTemplates
( $template_id );
115 my @actions = GetModificationTemplateActions
( $template_id );
116 foreach my $action ( @actions ) {
117 $action->{'action_delete_field'} = ( $action->{'action'} eq 'delete_field' );
118 $action->{'action_add_field'} = ( $action->{'action'} eq 'add_field' );
119 $action->{'action_update_field'} = ( $action->{'action'} eq 'update_field' );
120 $action->{'action_move_field'} = ( $action->{'action'} eq 'move_field' );
121 $action->{'action_copy_field'} = ( $action->{'action'} eq 'copy_field' );
122 $action->{'action_copy_and_replace_field'} = ( $action->{'action'} eq 'copy_and_replace_field' );
124 if( defined $action->{'conditional'} ){
125 $action->{'conditional_if'} = ( $action->{'conditional'} eq 'if' );
126 $action->{'conditional_unless'} = ( $action->{'conditional'} eq 'unless' );
129 if( defined $action->{'conditional_comparison'} ){
130 $action->{'conditional_comparison_exists'} = ( $action->{'conditional_comparison'} eq 'exists' );
131 $action->{'conditional_comparison_not_exists'} = ( $action->{'conditional_comparison'} eq 'not_exists' );
132 $action->{'conditional_comparison_equals'} = ( $action->{'conditional_comparison'} eq 'equals' );
133 $action->{'conditional_comparison_not_equals'} = ( $action->{'conditional_comparison'} eq 'not_equals' );
138 TemplatesLoop
=> \
@templates,
139 ActionsLoop
=> \
@actions,
141 template_id
=> $template_id,
144 output_html_with_http_headers
$cgi, $cookie, $template->output;