Bug 11479: Remove experimental given/when keywords
Replace constructs using given and when by if/else
feature now generates compilation warnings in 5.18
and is liable to change behaviour.
This patch:
* replaces the construct with if/else
* reformats the if branching using perltidy
to remove the now redundant indent
To test:
[1] Verify that prove -v t/db_dependent/MarcModificationTemplates.t
passes.
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 11faf9fde8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
d64145b2c6
commit
8893ac58fc
|
|
@ -547,49 +547,59 @@ sub ModifyRecordWithTemplate {
|
|||
);
|
||||
|
||||
my $do = 1;
|
||||
if ( $conditional ) {
|
||||
for ( $conditional_comparison ) {
|
||||
when ( /^exists$/ ) {
|
||||
my $exists = field_exists( $record, $conditional_field, $conditional_subfield );
|
||||
$do = $conditional eq 'if'
|
||||
? $exists
|
||||
: not $exists;
|
||||
}
|
||||
when ( /^not_exists$/ ) {
|
||||
my $exists = field_exists( $record, $conditional_field, $conditional_subfield );
|
||||
$do = $conditional eq 'if'
|
||||
? not $exists
|
||||
: $exists;
|
||||
}
|
||||
when ( /^equals$/ ) {
|
||||
my $equals = field_equals( $record, $conditional_value, $conditional_field, $conditional_subfield, $conditional_regex );
|
||||
$do = $conditional eq 'if'
|
||||
? $equals
|
||||
: not $equals;
|
||||
}
|
||||
when ( /^not_equals$/ ) {
|
||||
my $equals = field_equals( $record, $conditional_value, $conditional_field, $conditional_subfield, $conditional_regex );
|
||||
$do = $conditional eq 'if'
|
||||
? not $equals
|
||||
: $equals;
|
||||
}
|
||||
if ($conditional) {
|
||||
if ( $conditional_comparison eq 'exists' ) {
|
||||
my $exists = field_exists( $record, $conditional_field,
|
||||
$conditional_subfield );
|
||||
$do =
|
||||
$conditional eq 'if'
|
||||
? $exists
|
||||
: not $exists;
|
||||
}
|
||||
elsif ( $conditional_comparison eq 'not_exists' ) {
|
||||
my $exists = field_exists( $record, $conditional_field,
|
||||
$conditional_subfield );
|
||||
$do =
|
||||
$conditional eq 'if'
|
||||
? not $exists
|
||||
: $exists;
|
||||
}
|
||||
elsif ( $conditional_comparison eq 'equals' ) {
|
||||
my $equals = field_equals(
|
||||
$record, $conditional_value,
|
||||
$conditional_field, $conditional_subfield,
|
||||
$conditional_regex
|
||||
);
|
||||
$do =
|
||||
$conditional eq 'if'
|
||||
? $equals
|
||||
: not $equals;
|
||||
}
|
||||
elsif ( $conditional_comparison eq 'not_equals' ) {
|
||||
my $equals = field_equals(
|
||||
$record, $conditional_value,
|
||||
$conditional_field, $conditional_subfield,
|
||||
$conditional_regex
|
||||
);
|
||||
$do =
|
||||
$conditional eq 'if'
|
||||
? not $equals
|
||||
: $equals;
|
||||
}
|
||||
}
|
||||
|
||||
if ( $do ) {
|
||||
for ( $action ) {
|
||||
when ( /^copy_field$/ ) {
|
||||
copy_field( @params );
|
||||
}
|
||||
when ( /^update_field$/ ) {
|
||||
update_field( @params );
|
||||
}
|
||||
when ( /^move_field$/ ) {
|
||||
move_field( @params );
|
||||
}
|
||||
when ( /^delete_field$/ ) {
|
||||
delete_field( @params );
|
||||
}
|
||||
if ($do) {
|
||||
if ( $action eq 'copy_field' ) {
|
||||
copy_field(@params);
|
||||
}
|
||||
elsif ( $action eq 'update_field' ) {
|
||||
update_field(@params);
|
||||
}
|
||||
elsif ( $action eq 'move_field' ) {
|
||||
move_field(@params);
|
||||
}
|
||||
elsif ( $action eq 'delete_field' ) {
|
||||
delete_field(@params);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue